We here at Carbon Labs have always wanted to implement governance into a lot of what we do. In this, we are not unique.. just about every serious project offers some sort of governance as a way to support the idea of decentralization, openness and trust.
We have studied what others are doing, and over a year ago started to look at how we would operate our governance. There is a lot to consider, what should be governed, what is the process for putting forward a proposal, discussing it and ultimately voting on that proposal, and how do you apply the result of proposal.
However, the most important thing is how do we make it fair?
Graphite is our own governance platform built upon a smart contract that implements Quadratic Voting. Our governance token will be called GRAPH. GRAPH is more than just a governance token (but we will cover that in another post). When you vote on issues within Graphite, you will be rewarded for doing so.
What is Quadratic Voting?
Quadratic Voting is a method of collective decision making in which a participant votes not just for or against a proposal, but also expresses how strongly they feel about it. It can help protect the interests of small groups of voters that care deeply about particular proposals.
Typically, in Quadratic Voting, each participant is given a number of credits that can be used to vote with. However, the cost of casting more than one vote is quadratic, not linear. So, the marginal cost of each additional vote is far higher than that of the previous vote.
With Graphite, instead of credits, each participant can vote up to the amount of GRAPH they have (typically most voters would vote with the minimum 1 GRAPH).
To cast 1 vote costs you 1 GRAPH, 2 votes would cost 4 GRAPH, 3 votes 9 GRAPH and so on. So, while you are increasing the chances of victory for your proposal with each additional vote, the quadratic nature of the voting ensures that only those who care deeply about certain proposals will cast additional votes for them.
Cost to the voter = (Number of votes)^2
Tokenomics of a Proposal
Quadratic voting limits the power of your vote.. but if you have nothing on the line.. that is, if you get to keep the GRAPH you used for voting, then you may as well vote with all your GRAPH right?
This is where we introduce another feature, distribution of GRAPH used in voting to all voters.
In the first place, there is a cost to put forward a proposal. That cost is paid in GRAPH and half of the proposal fee is added to the pool of GRAPH that is distributed at the end of the voting period. All votes cast are also added to this pool. The other 50% of the proposal fee is burned.
At the end of the proposal, the pool of funds (proposal fee and $GRAPH used for voting) is equally distributed amongst all voters.
Let's look an example.
This is a simplified example that does not include the proposal fee.
99 people vote in favor of a proposal with 1 GRAPH each. A whale wants to vote against the 99 people. Because of the way quadratic voting works, the whale will have to vote with 10k GRAPH. The whale gets what he wants and the funds are distributed. So 10099 GRAPH are distributed amongst 100 people. Each person receives around 101 GRAPH. A huge loss for the whale and a huge gain for the other voters.
Even though the whale got what they wanted, they had to distribute wealth to get it. And now, those passionate voters can put forward a new proposal and use their newly rewarded GRAPH to vote with. Using the same example but with the 99 voters voting with 101 GRAPH would mean that the whale is going to have to vote with 100million GRAPH.
This is how we get fair community governance. True representation of what the community wants.
- You are paid to participate in the governance.
- Every proposal will burn a portion of $GRAPH
- Whales have to pay heavily to be able to vote against the majority
- Votes can be cast for / against a proposal
We believe with Graphite, we can offer a fairer governance model that can be used to develop better products that serve the majority better.