When I first read this tweet thread about the Aragon governance proposals voting on a rainy afternoon walk a month ago, my first reaction was blurting out “I’m sorry, but what the actual fuck?”
Were I not in public, I would’ve bursted out laughing. Aragon is one of the most promising governance projects in the space, with more than 20k token holders, 70k Twitter followers, and a $14M token market cap. Guess how many people voted in their first round of proposals.
Let that sink in.
I respect the good work the Aragon teams are doing, but honestly this is just pathetic. The token holder participation rate is only about 0.23%, and it’s likely even less than that if a holder used more than one address to vote. The space is still young, blablabla, yes I know that, but this evidence does not bode well for the underlying assumption of Aragon and many more systems, that the interests of voting-token holders are aligned with that of the token’s project.
Why do people think voting tokens is a good idea?
Decentralized Autonomous Organizations (DAOs) like Aragon tend to model themselves after traditional corporations, with shareholders each possessing voting power proportional to the amount of shares they hold. Instead of shares, DAOs have “voting tokens”, which is basically the same thing, but with the advantages of being powered by blockchain technology, such as not having to be filthy rich to own some of it, not having to deal with red-tapes when you want to transfer it to someone else, et cetera.
It not hard to see why Aragon and others would do this. Traditional LLCs have been the most successful form of organization in human history, and simply moving it onto the blockchain and getting all the benefits that the technology provides for free isn’t too bad an idea.
Sure, I get that. Blockchain is still very much a new tech, and taking baby steps at the start is perfectly reasonable. But do we really want to repeat history and re-experience all the terrible problems that plagued LLCs all the way back in the 17th century, where markets were unregulated, filled with pumps & dumps, FOMO & FUD, and speculative bubbles like the Tulip mania?
In the following paragraphs, I will first argue that the current cryptocurrency market is extremely hostile to the cultivation of token-based DAOs, and then point out a huge flaw that’s intrinsic to token DAOs, and finally provide solutions that will not only help DAOs grow better & faster, but also get rid of the ludicrous idea that the rich should be empowered.
Crypto markets aren’t just bad, they’re baddie-bad-bad
Voting tokens are based on one simple assumption: that the price of the token is strongly correlated to the success of the underlying project, so token holders are incentivized to use their tokens to participate in votes and make decisions beneficial to the project’s future development.
I would argue that in the current crypto market, this assumption couldn’t be further from reality.
An oversimplified view of token valuation is that the price of a token = actual value + noise. When the noise term is of a lower order of magnitude than the actual value, then the price-correlated-with-success assumption mentioned above would be justified, but when the noise term is way larger than the actual value, that’s where everything falls apart: the success of the project is basically irrelevant to the token’s price!
And that’s exactly the case with essentially all tokens. I would list some numbers here, but anyone who’s been in the crypto space for a couple months would have had personal experience of this fact, so I’m just gonna be lazy here and point you to BitConnect and EOS.
Where does all the noise come from?
First and foremost, the unregulated nature of cryptocurrency means that market manipulation schemes, like pumps & dumps, irresponsible hyping, viral campaigns and so on are extremely rampant, and huge bursts of noise are added to prices on a regular basis.
Manipulation is made more effective by the fact that blockchain technology is still difficult to understand to the average person, and the average investor is no different. Scam projects have been able to combine big & fancy words like “IoT” “Cloud” “Next generation” “AI” and “Smart contracts” to hype up their projects and rake in millions upon millions of dollars, without needing a working product or even a proof-of-concept. The situation today is definitely better than the 2017 ICO madness, but take one look at ICO listing sites and you’ll see that it’s not by a lot.
In addition, it certainly does not help that the dApps that the tokens have utility for are still not good at attracting users. As of today (2/19/2019), the total daily active user count for all Ethereum-based dApps is 14.65k. Given that there are 2330 dApps, each dApp has about 6.3 DAUs. That is, by any metric, simply abysmal. This situation is mostly caused by the lengthiness & complexity of onboarding a newbie to a dApp today. Thus, holders of voting tokens are usually dissuaded from participating in the governance processes of the token’s underlying platform. Compounded by the fact that many, if not most, of token holders are only holding the tokens for speculation and have little interest in “being educated” on the underlying platform (especially the “whales”), governance projects who have held votes among all token holders often found themselves shouting into the void for an answer, their voices engulfed by the winds of greed.
Due to all of the factors mentioned above and perhaps some more, the value proposition of naive token-based voting systems, that token holders are incentivized to participate in the process and make decisions beneficial to the project, is simply without basis in reality. In fact, it’s more reasonable to assume that shorters of a token are incentivized to sabotage the underlying project, since destruction is far easier than creation, and it’s more likely that a token will tank in price if the project is perceived as a scam than rise in price due to good news related to the project.
Flat is NOT justice
Even if we lived in an ideal world where the price of a voting token depends solely on the success of the underlying project, there are still problems, tons of them.
Perhaps the most obvious problem of them all is the fact that the voting tokens are distributed based on wealth. Like seriously, who on earth would think that this is good idea? Just hand all the power to those who are already rich and powerful? It simply makes no sense whatsoever. This kind of setup completely uproots the claim by Aragon & others that they’re striving to create democracies; the best thing that can result from this design are oligarchies controlled by rich whales who serve for life and can’t ever be deposed.
Seriously, if anyone can enlighten me on why this might be a good idea, please comment below. I honestly have absolutely no idea why anyone would think this is a good way to run an organization. (It would work with Quadratic Voting, of course, but that’s still way out of reach for DAOs)
One less obvious shortcoming of token-based DAOs is their flat structures. By flat structure, I am referring to the fact that token-based DAOs are often direct democracies where every proposal is voted on by all token holders, without any political tools like Parliaments, executive branches, bureaucracies, standing committees, and so on.
Ostensibly, having a flat organization is a good idea. You know, everyone should be equal and have the same rights, blablabla. But not having a formally defined power structure would only lead to the tyranny of structurelessness, where informal power structures form spontaneously from preexisting social relations between members, producing leaders whose power cannot be stripped and preventing talented people without “good friends” from obtaining power.
Think about how the egalitarian French Revolution led to the dictator Robespierre and his reign of terror. How the egalitarian Russian October Revolution led to the dictator Stalin and his, you know, reign of even more terror. Quite ironically, flat organizations will often have more stringent and entrenched power structures than hierarchical organizations, and are more prone to dictatorial takeovers, since flat organizations don’t have the check & balances needed to prevent them: after all, how can you regulate a position the existence of which you don’t even recognize?
Some may point to the success of Bitcoin and Ethereum as a counterexample, since both projects are being governed by flat & informal coalitions between many teams, organizations, and talented individuals. To that, I would also point to the success of Augustus Caesar, Peter the Great, and Fredrick the Great as a counterexample for the claim that monarchies are worse than democracies.
Of course, I don’t really think monarchy is better than democracy; both cases suffer from the strawman fallacy, since no one is saying that flat organizations can never produce great works, just as no one is saying that monarchies can never achieve anything great.
The main flaws of flat organizations are, in fact, almost identical to that of monarchies: fragility & volatility. When run by great people, sure, they can shine like the freaking sun, but when they’re run by mediocre or woefully untalented people such systems would find it difficult not to implode. The advantage of modern representative democracies, and of other systems where powers and responsibilities are clearly defined, is that even when run by mediocre or untalented people they would still function reasonably well.
I’m sure some of the Roman people during Augustus’s time thought that Pax Romana would’ve lasted forever, but alas, it’s always been the case that competent monarchs get replaced by less and less capable ones, until finally the whole thing falls apart. If you think that Ethereum is going to remain as one of the most innovative blockchain platforms forever because of all the talented people working on it right now, well…think again.
OK, fine, voting tokens suck. How are you supposed to do it then?
Through observing other projects, as well as building Betoken, I have came up with solutions for all of the problems I mentioned above. I will lay them out below, and hopefully they will be of some assistance to you.
Eliminating noise in token value
As long as a token is exposed to markets, there will always be noise in its valuation. So why not just make it impossible to trade the token then?
Indeed, making the voting token non-transferable is a valid method for eliminating market noise as well as providing control over the system incentives. This idea may seem bizarre and unnatural in this world of stock exchanges and LLCs, some might even say that it’s “red commie hurr dee durr”, but it makes sense if you think about it, and it’s perhaps the only way to eliminate market noise.
The first question you may have might be: If the token can’t be sold, why would it have any value at all? Well, that’s the beauty of non-transferable tokens—-you can design the incentive for holding the token to be anything you want. Common ideas are:
- Give out dividends based on how much tokens you hold.
- Use the token as a quantification of right to work: for example, “you need to have x work tokens in order to take this job” and “the reward for the job is some crypto AND some of these work tokens”.
- Allow holders to burn their tokens to redeem some crypto from the organization.
If we look at the dividend idea, it’s obvious why the value of the token is noiselessly linked to the value of the organization: the more value the organization has, the more dividend you get, and since there is no market to mess up the token’s valuation, token holders are indeed directly incentivized to work to the benefit of the organization.
Sure, not all noise is eliminated: for instance, someone could open a market on Augur that bets against the value of the non-transferable token, and people who are betting this way may be incentivized to decrease the organization’s value. However, in order for them to have sway on the project, they likely need to already have the tokens in the first place, and since they can’t sell those valuable tokens (which in this case act as a kind of sunk cost), it’s unlikely that they may be able to profit from doing this.
Another question may arise: How do people get these tokens in the first place, if they can’t buy them on exchanges? There are two ways I know of:
- Do allow people to buy these tokens, likely through the organization’s smart contract, but put a cap on how much one address could buy. As long as the token amount a new member holds isn’t significant compared to the total supply, it’s a valid method. It does potentially suffer from of 51% attacks where the attacker use a large number of Ethereum accounts to buy up more tokens than anyone else and control the voting system, but this can be solved using one of the other solutions in this section.
- Have a manually allocated initial token distribution, and use votes to approve the minting of new tokens to a new member. This increases the onboarding cost of new members significantly, but it is useful for some use cases.
If you want a concrete example of using a non-transferable token as a voting token, see Moloch DAO. It incentivizes token holding by allowing holders to redeem a portion of the DAO vault via burning the tokens, and uses votes to mint new tokens. It also has a number of other interesting properties, so do check it out!
Betoken also uses a non-transferable token to represent the power each member has, and it uses a different model from Moloch DAO: it incentivizes token holding by paying monthly commissions to holders as well as giving the holder the right to work, and it onboards new members by letting them buy up to a certain amount of the tokens.
Distribute tokens based on something other than wealth
Having non-transferable voting tokens gives us full control over the token’s distribution. If we all agree that “give all the power to the rich” is not a good idea, we can start looking at other ways of distributing voting power that can better align voters' interests with that of the organization.
One idea is to treat the token as reputation, and distribute them using rules one would use for distributing reputation: e.g. if a member did something that helped the organization, give them more tokens, and if someone did a horrible thing then strip away some of their tokens. Ideally, this would result in an organization ruled by those with the most contribution.
Specifically, one method for distributing reputation is to use votes to give/strip away reputation from members. This is what’s being used by Moloch DAO as well as DAOStack. This method is relatively subjective and inefficient, but it’s able to capture a lot of information in the distribution process and can be used for most organizations.
Another method is to programmatically distribute reputation. This only works for organizations where each member’s contribution is easily quantifiable. For example, in Betoken, the decentralized hedge fund I’m working on, each manager’s contribution is measured in the profits they have made, which is indeed easily quantifiable.
Establish an executive council
As I’ve mentioned, flat organizations are fragile & volatile. They’re also often inefficient, if the decisions are all made through organization-wide votes. In order to ensure that organizations have the ability to make day-to-day decisions without having to spend days to let everyone vote, the establishment of a centralized power that can unilaterally make decisions—an executive council—is necessary.
The biggest problem with executive councils is that they may use their power for malicious purposes, but it’s not difficult to solve. The purpose and focus of the token-based voting system can be transitioned from making the actual decisions to constraining the power of the executive council. In addition, constraint of the executive council’s power can be directly implemented in the organization’s smart contracts, and be enforced by the blockchain’s immutability guarantees.
The advantages of having an executive council are several:
- The organization would no longer suffer from all the disadvantages of having a flat structure.
- Building a formal power structure for a small council will be much easier than building one for the entire organization, which may have hundreds or thousands of members.
- Decisions can be made far more efficiently, not just because a smaller number of people are making them, but also because traditional cooperation tools like Trello, Slack, and Google Docs can be easily plugged in.
- The organization can have a face and a voice, a public image, which would be difficult or impossible to have for flat organizations.
Melonport is probably the only project that has already deployed such a system: the governance decisions of the Melon protocol, such as protocol upgrades and parameter changes, are handled by the Melon Technical Council (MTC), which is overseen by another council called Melon Exposed Business Representatives (MEB) that represent the interests of the protocol’s users and businesses that build upon the protocol. This was a recent development, so it’s still fairly immature: for example, there’s no obvious way to prevent collusion between the two councils, there’s no a priori reason that the MEB representatives will actually represent the users' interests, and the selection process of council members is not yet transparent or formalized. However, there is no doubt that Melonport is on the right track, and I commend the team’s efforts on building a transparent & efficient governance system for their protocol, rather than just plug in the naive token holder voting system and call it a day.
To learn more about Melonport’s governance system, check out this post. I am genuinely surprised how little attention their system has gotten.
Betoken will also employ the executive council model once it launches. It uses a less complex model than Melonport: the development team acts as an executive council that has the ability to unilaterally initiate protocol upgrades or adjust network parameters. However, the system is designed in such a way that the developer team can do no evil, and isn’t even essential to the system:
- Protocol upgrades may be vetoed by the users via a reputation-token based vote.
- The users can initiate an upgrade via a majority vote, without any approval from the developer.
- If the users decide to upgrade to a smart contract developed by another team, then that team would become the new developers of the protocol, receiving all the income and power of the old developers.
- The parameters the developer can unilaterally adjust are very limited, and the range in which they can adjust each parameter is also bounded by the smart contract.
- If the developer team did successfully pass a malicious upgrade, the users can still withdraw their money and exit the system.
The benefit of Betoken’s model is great: if the development team behaves honestly, then protocol upgrades can happen without any work from the users, providing minimal disturbance to the user experience. It also ensures that the development team is incentivized to behave honestly, that users can depose them if they become malicious, and that even if the team members are all hit by a bus the protocol can still find a new team.
Use proportional token pricing to make attacks unprofitable
It turns out that if you make the buy price of your voting token proportional to the value of the organization, then you would get the nice property that you can make attacks on the network unprofitable most of the time.
It’s better to illustrate this with an example. In Betoken’s voting system, the quorum is 10%, and the threshold for passing a proposal is 75%. Thus, if an attacker wants to steal all the funds by purchasing all the votes, then the minimum cost will be:
10% x 75% x totalVotingTokens x tokenPrice
The price of the token is proportional to the total funds stored in Betoken, so:
tokenPrice = totalFunds / totalVotingTokens
The cost of attack is thus:
10% x 75% x totalFunds = 7.5% x totalFunds
If we want it to be unprofitable to attack Betoken, then the cost of attack must be greater than the potential reward, so we want:
7.5% x totalFunds > totalFunds
which, oh no, isn’t satisfied!
But wait, in Betoken it’s possible for users to withdraw their money when they detect an attack like this, so the attacker shouldn’t expect to be able to steal all the funds. Let’s say c% of the totalFunds are not withdrawn when an attack happens, then the condition becomes:
7.5% x totalFunds > c% x totalFunds
which is equivalent to:
c% < 7.5%
Thus, if we expect that less than 7.5% of the funds will be left when an attack is detected, then it’s always unprofitable for someone to attack the voting system. That is super powerful.
This is useful for adjusting the system parameters as well. Using the Betoken example, the condition for making attacks unprofitable generalizes to:
percentOfFundsLeft < quorum x voteThreshold
So if I’m unsatisfied about the 7.5% limit, and want attacks to be unprofitable even if 50% of the funds would be left when it happens, without changing the threshold for passing a vote, then the condition becomes:
50% < quorum x 75%
Thus, the minimum quorum should become 50% / 75% = 66.66%
In this looooooong post, I’ve established why I think token holder voting sucks in its current form, and presented 4 concrete ways to improve it, as well as example projects that one can model after.
I firmly believe that the four projects I’ve mentioned—Moloch DAO, Melonport, DAOStack, and Betoken—represent the forefront of governance system development, and I cannot wait to see them prosper in the real world.
If you want to talk about governance stuff or blockchain stuff, feel free to ping me at firstname.lastname@example.org .