citycoins / governance

Community-submitted CityCoins Improvement Proposals (CCIPs)
6 stars 4 forks source link

CCIP - On-chain Stacked Token Vote #4

Closed whoabuddy closed 2 years ago

whoabuddy commented 2 years ago

In light of the proposed changes in #3, we discussed having this governance repository as the official off-chain resource to track protocol changes, and also want to implement an on-chain vote that correlates to the changes being described in the related CCIPs.

The structure below is inspired by SIP-012, used by the Stacks Blockchain to vote on the release of stacks-node 2.0.5.

https://sip012.xyz/ https://github.com/stacksgov/sips/blob/main/sips/sip-012/sip-012-cost-limits-network-upgrade.md

The voting contract should include:

The voting contract should enforce:

The voting contract should calculate:

At the time of writing this issue, the total supply of MIA is 4,365,050,000 and the total supply of NYC is 3,065,650,000. Given the difference in supply, there would be a larger number of MIA votes available compared to NYC votes.

In order to normalize the difference here and make it closer to 1 MIA vote = 1 NYC vote a scaling factor should be applied to MIA.

The proposed formula for calculating the votes is below using the average amount stacked by an address across two cycles, with a scaling factor applied to MIA based on the total supply of NYC/MIA.

MIA Vote:
  ((MIA Cycle 12 + MIA Cycle 13) / 2) * (Total Supply NYC / Total Supply MIA)

NYC Vote:
  (NYC Cycle 6 + NYC Cycle 7) / 2

Total Vote: MIA Vote + NYC Vote
castig commented 2 years ago

Hi! I'm currently writing a Clarity smart contract for voting. The plan is for it to be simple, like Snapshot w/ only "Single Choice Voting."

With that said, I am investing in a nice UI, and I'm very open minded to it being extensible. I'm also building off of Marvin's Executor DAO.

If that sounds at all interesting, I'd be happy to chat more. Maybe there's the possibility we could collaborate, or that I could invest in designing a system that could also work for CityCoins.