harmony-one / snapshot

Off-chain gasless multi-governance client. Join us on Discord https://discord.snapshot.page
https://snapshot.page
MIT License
4 stars 6 forks source link

Enable Quadratic Voting with Tiers on Snapshot #10

Closed spharrison closed 3 years ago

spharrison commented 3 years ago

Is your feature request related to a problem? Please describe. The Harmony Snapshot instance needs an additional feature to balance voting rights.

Quadratic Voting with Voting Tiers at every 25 votes allows for economic balancing of interests while opening the governance process to every token holder with a minimal level of material interest.

Describe the solution you'd like Quadratic Voting for Tier 1 Snapshot will check the connected wallet (Metamask, Harmony One Wallet or 1wallet) for the current ONE token balance. Snapshot will then determine how many votes this person can have.

The First Vote requires 100 ONE tokens in the wallet. Each additional vote (from 2 to 25) increases in cost according to this formula: VOTES = (Vote Number^2) x 100 Where "Vote Number" is the number of votes you cast.

As a result - the cost for 5 votes would be calculated as such: Vote 1: (1^2) x 100 = 100 ONE Vote 2: (2^2) x 100 = 400 ONE Vote 3: (3^2) x 100 = 900 ONE Vote 4: (4^2) x 100 = 1,600 ONE Vote 5: (5^2) x 100 = 2,500 ONE Total cost for Voting 5 times = 5,500 ONEs

NOTE: The user doesn't PAY their ONEs to snapshot in order to vote. They simply need to have them in their wallet.

Quadratic Voting for Tier 2 At Vote 25, the cost is multiplied by 1,000 rather than 100. The formula, therefore, becomes: VOTES = (Vote Number ^2) x 1,000 This multiple is maintained for votes between 26 to 50.

Quadratic Voting for Tier 3 At Vote 51, the cost is multiplied by 10,000 rather than 1,000 or 100 The formula, therefore, becomes: VOTES = (Vote Number ^2) x 10,000 This multiple is maintained for votes between 51 and 75

Quadratic Voting for Tier 4 At Vote 76, the cost is multiplied by 100,000 rather than 10,000, 1,000 or 100 The formula, therefore, becomes: VOTES = (Vote Number ^2) x 100,000

It should be functionally impossible for anyone to afford more than 100 votes in this mechanism.

Describe alternatives you've considered

Additional context I have created a spreadsheet in Google Docs to illustrate this process: https://docs.google.com/spreadsheets/d/1YMH09l8R24TVj2qB8R-GbTOa1_l1YyGMJ-dVdzRBMfw/edit?usp=sharing

givp commented 3 years ago

Closing this in favor of porting existing voting types from snapshot.org