Bounty program is to help the community take part in the development of the Harmony blockchain. It covers from core feature to validator tooling, from dApp development to DeFi integration.
To balance and align economic, community and participatory interests in Harmony-centric DAOs - quadratic voting with bands is needed.
This Bounty is focused on Phase 1 of the implementation: Deploying the Mechanism to Snapshot. When designing the solution - keep in mind that Phase 2 is to deploy the Mechanism on-chain.
Phase 1: Quadratic Voting with 4 Bands Deployed to Snapshot
Snapshot will ping the connected wallet (enable Metamask, Harmony One Wallet and 1Wallet as options) to query the current ONE token balance.
The Mechanism will then determine how many votes this wallet can cast.
Band Number 1
The First Vote requires 100 ONE tokens in the wallet.
Each additional vote (from Vote 2 to Vote 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 ONE
Note: The user does NOT PAY their ONEs to snapshot in order to vote. They simply need to have those in their wallet.
Band Number 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 and 50
Band Number 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
Band Number 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.
Context
Coin-based voting presents certain challenges to smooth decentralized coordination. The most simple attack comes from the ease in "vote buying" (participants purchasing tokens for a short term in order to affect the outcome of a vote). But also there is a clear threat to disenfranchisement amongst the large number of small token holders. Additionally, coin-based voting with no balance against large token holders will tend to exclude any interests in non-economic centered proposals.
While some DAOs will be focused on improving the underlying token valuation - others will pursue other goals. Those DAOs must have a vote system that reflects this sensitivity.
However, there must needs be a resistance against gaming the voting system and allowing for a level of alignment with economic interests. To prevent simple sybil attacks, a floor of 100 ONE is necessary. This parallels the decision that 100 ONE represents a significant enough economic interest as to reach the threshold for staking.
Acceptance Criteria
[ ] Milestone 1: Show working mechanism on Harmony Testnet Snapshot. Include the ability to vote with 100 tokens (1 vote), 5,500 tokens (5 votes) and an arbitrary amount of tokens over 5 million (to show that the Mechanism is capable of calculating - accurately - the number of votes this wallet can cast)
[ ] Milestone 2: Add feature to Harmony Testnet Snapshot UX that will allow users to select this voting mechanism as an option.
[ ] Milestone 3: Show 5 votes on Harmony Testnet with 10+ participants using the voting mechanism.
[ ] Milestone 4: Deploy voting mechanism to the Harmony Mainnet Snapshot
[ ] Milestone 5: Add feature to Harmony Snapshot UX that will allow users to select this voting mechanism as an option.
[ ] BONUS MILESTONE: Show 5 votes using this voting mechanism on Harmony Snapshot with 25+ participants within 6 weeks of Milestone 5.
Reward
$2000 USD equivalent in ONEs. For calculating the amount of ONE, Harmony uses the 24-hour volume-weighted average price using the Binance API (“weightedAvgPrice”) around the time of transfer.
Description
To balance and align economic, community and participatory interests in Harmony-centric DAOs - quadratic voting with bands is needed.
This Bounty is focused on Phase 1 of the implementation: Deploying the Mechanism to Snapshot. When designing the solution - keep in mind that Phase 2 is to deploy the Mechanism on-chain.
Phase 1: Quadratic Voting with 4 Bands Deployed to Snapshot
Band Number 1
Note: The user does NOT PAY their ONEs to snapshot in order to vote. They simply need to have those in their wallet.
Band Number 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 and 50
Band Number 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
Band Number 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.
Context
Coin-based voting presents certain challenges to smooth decentralized coordination. The most simple attack comes from the ease in "vote buying" (participants purchasing tokens for a short term in order to affect the outcome of a vote). But also there is a clear threat to disenfranchisement amongst the large number of small token holders. Additionally, coin-based voting with no balance against large token holders will tend to exclude any interests in non-economic centered proposals.
While some DAOs will be focused on improving the underlying token valuation - others will pursue other goals. Those DAOs must have a vote system that reflects this sensitivity.
However, there must needs be a resistance against gaming the voting system and allowing for a level of alignment with economic interests. To prevent simple sybil attacks, a floor of 100 ONE is necessary. This parallels the decision that 100 ONE represents a significant enough economic interest as to reach the threshold for staking.
Acceptance Criteria
Reward
$2000 USD equivalent in ONEs. For calculating the amount of ONE, Harmony uses the 24-hour volume-weighted average price using the Binance API (“weightedAvgPrice”) around the time of transfer.