harmony-one / bounties

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.
MIT License
59 stars 23 forks source link

Quadratic Voting with Bands #64

Closed spharrison closed 3 years ago

spharrison commented 3 years ago

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

  1. Snapshot will ping the connected wallet (enable Metamask, Harmony One Wallet and 1Wallet as options) to query the current ONE token balance.
  2. The Mechanism will then determine how many votes this wallet can cast.

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.