Also paxthemax (github username) was working on this, but he is asleep now and can not confirm his email
An open source project has a list of github issues that need to be sorted on priority. We want to build a conviction voting module that allows to vote on priorities of the issues.
A bonding curve is a mathematical curve that defines a relationship between price and token supply. As contributors "buy" tokens, tokens are minted and the supply is increased which increases the price in accordance to curve. It's a hardcoded token minting scheme. The curve the Pactful team was an augmented bonding curve - instead of just a hardcoded token minting scheme, the system is connected to a floating funding pool that can allocate capital to fund milestones, projects, and "labor" that benefits the commons. This funding pool is actually funded by contributors interactions with the curve - whenever tokens are burned/sold, a small percentage of the returns is put into the funding pool as capital available to be allocated to the commons :)
In ethdenver, the Pactful team proposed an augmented token bonding curve system to fund and govern the concept of a “commons”, they used Giveth and National parks as a use case, but sort of black boxed the Governance aspect. We love the idea of using a token bonding curve to create an economy around a cause, but now with those token holders supporting a commons that holds a shared amount of funds, how do they decide what projects to actually support?
The idea of Conviction voting has been proposed by Zargham at Block.science, but to our knowledge it had never been implemented. So we decided to give it a shot, but instead of national parks, we decided to take it into the open source world.
This project is about creating an effective governance model for any open source project that wants to use a token bonding curve to create an economy to support their development. We used our own repo as the first example of this Method #dogfooding with #gitviction
What it does
Token holders that want to engage in voting on which github issues should receive bounties out of the Common’s DAO can stake their tokens behind a github issue to show their support.
Instead of a TCR style where we order a list, we actually take into account many variables to decide how much voting power is needed to fund a bounty.
The amount of ETH requested by the bounty The total amount of ETH held by the DAO The number of tokens staked behind the choice The amount of time those tokens have been staked
Conviction Voting adds the time dimension into token weighted voting, it is designed specifically for making decisions about how to allocate a shared resource across various options that each require a % of the total amount of funds.
The benefits: No voting times, vote whenever you want. Resistant to token buying attacks. Natural coordination around what is likely to happen Makes it naturally more difficult to spend more than a certain amount (%) of the available funds. Speculation funds the DAO (..but that’s more a bonding curve feature)
How we built it
The shared resource is an Aragon pool of funding money to pay for solving issues. Our system solves the allocation of shared resources towards these issues. Once a treshold is reached, payout should commence via GitCoin
Challenges we ran into
We ran into problems with Aragon unfortunately.
Accomplishments that we're proud of
The smart contract and tests are all there and a good base for further building.
What we learned
A lot =)
What's next for GitViction
We hope to get support to finish it, as it would be a great tool in any DAOs toolbox