A way to do quadratic funding in polkadot

Treasury spending is the biggest topic in polkadot governance and there are dramas about it. Main problems about current OpenGov treasury spend model include:

  1. Whales are playing too important roles.
  2. Irrational votes.
  3. Possible collusion.
  4. Influence of Low token holders with high contributions is low.
  5. Lack global perspectives, plans and budget about treasury spend.

So it turns out:

  1. Results of most referenda are finally decided by several whales.
  2. Community members may not vote against an unreasonable proposal because they may offend the proposer.
  3. Many community members complain about treasury spend, but what they can do is limited.
  4. Teams are proposing an amount that just depends on their own calculation, not under a global budget or spend plan. So teams don’t have to control their budget if their referenda can keep passing.

Quadratic funding

Following are several tips about how quadratic funding works:

  1. There is a public funding pool for funding rounds.
  2. Different applicants(teams) share this pool by votes they received.
  3. Communities vote on a project by donating their assets to an applicant project.
  4. The more donors and the more funds an applicant project received, the more a project will share the pool.

Here is an example. Projects A, B and C will share 10,000 DOT in total. Finally All of these 3 projects received 1,000 DOT donations, but A has 5 donors(200 DOT each), B has 2 donors(500 DOT each), and C has 20 donors(50 DOT each). Obviously C has broader support, so C shares the most of the pool.

We can learn more from gitcoin which is the biggest quadratic funding platform in the ethereum ecosystem.

Challenges

There are mainly 2 challenges we’ve seen.

  1. Sybil attacks. A project can create many accounts and donate assets to himself.
  2. Incentivisation. A community member will think it a stupid decision to give out their own money while there is a public fund pool, especially when the public fund is not spent reasonably.

For the first challenge, we will introduce voter weights. Each voter(donor) will have a weight calculated by history on chain behaviors and off chain data bindings. So if a voter has more on chain contributions and more off chain proof which can prove it is a real person, he/she will get a higher weight. Attackers’ weight value will be 0, no affection to the final result.

Some ideas can be used for donation(vote) Incentivisation. For example, if a voter donated 50 DOT, there will be a 50% possibility he/she can get 100 DOT as reward. Of course we can set a cap to each voter’s reward to encourage small donations.

How to do it in polkadot

  1. A bounty will be created to hold funding pool assets.
  2. Funding rounds will be created with a predetermined budget. Each round should have a topic for similar projects.
  3. Projects apply to join a funding round and curators will review them.
  4. Communities make donations in a funding round by transferring their assets(DOT) to the applicant project’s address.
  5. Quadratic funding platforms do calculation, audit and submit results to curators. Funds are distributed to applicant projects through child bounties. Rewards are sent to voters.

Main work will include:

  1. A platform should be built which
    • provide UIs for collaborations between applicant projects, voters, curators, etc.
    • do history on chain data indexing for weight calculation.
    • help voters bind their off chain media accounts which can prove they are real persons. This also helps weight calculation.
  2. Decide what rules(both on chain and off chain) can affect voters’ weights.
  3. Make plans to decide reasonable funding rounds.
  4. Do publicity work so projects will come to apply and the community will know it and do donations.

Please check the full slides here.

Some thoughts

  1. Some community members are losing confidence to polkadot due to unreasonable treasury spending. More reasonable treasury spending will help us gain more support.
  2. One of the biggest purposes of democracy is taking advantage of collective intelligence. We should use more board intelligence instead of whales’ intelligence.
  3. I love polkadot, but sorry sometimes I can feel polkadot developers are arrogant when comparing to ethereum because of the technical advantages. IMO we should keep humble and learn the ecosystem building from other ecosystems and increase polkadot’s usability…
3 Likes