Vitalik thinks token-based decentralized governance is holding DeFi back. How to improve?

  • Buterin advocated the exploration of “Proof-of-Humanity”-based governance systems
  • Buterin also offered “Proof-of-Participation” as a possible solution
  • The Ethereum co-founder also suggested that quadratic voting could offer unique solutions to decentralized governance.

“Coin voting fails because while voters are collectively accountable for their decisions (if everyone votes for a terrible decision, everyone’s coins drop to zero), each voter is not individually accountable.”

Why does coin voting fails? It’s the same concept like voting shares in a company. I think you can also improve it by what vitalik suggested and for example by this:

What other solutions can you think of?

My favourite solution would be a hybrid of quadratic voting + Conviction Voting + Optimistic Governance + Proof-of-Participation (while participating you gain XP / Reputation with which you can vote)

2 Likes

Solution 1: limited governance

One possible mitigation to the above issues, and one that is to varying extents being tried already, is to put limits on what coin-driven governance can do. There are a few ways to do this:

  • Use on-chain governance only for applications, not base layers : Ethereum does this already, as the protocol itself is governed through off-chain governance, while DAOs and other apps on top of this are sometimes (but not always) governed through on-chain governance
  • Limit governance to fixed parameter choices : Uniswap does this, as it only allows governance to affect (i) token distribution and (ii) a 0.05% fee in the Uniswap exchange. Another great example is RAI’s “un-governance” roadmap, where governance has control over fewer and fewer features over time.
  • Add time delays : a governance decision made at time T only takes effect at eg. T + 90 days. This allows users and applications that consider the decision unacceptable to move to another application (possibly a fork). Compound has a time delay mechanism in its governance, but in principle the delay can (and eventually should) be much longer.
  • Be more fork-friendly : make it easier for users to quickly coordinate on and execute a fork. This makes the payoff of capturing governance smaller.

The Uniswap case is particularly interesting: it’s an intended behavior that the on-chain governance funds teams, which may develop future versions of the Uniswap protocol, but it’s up to users to opt-in to upgrading to those versions. This is a hybrid of on-chain and off-chain governance that leaves only a limited role for the on-chain side.

But limited governance is not an acceptable solution by itself; those areas where governance is needed the most (eg. funds distribution for public goods) are themselves among the most vulnerable to attack. Public goods funding is so vulnerable to attack because there is a very direct way for an attacker to profit from bad decisions: they can try to push through a bad decision that sends funds to themselves. Hence, we also need techniques to improve governance itself…

Solution 2: non-coin-driven governance

A second approach is to use forms of governance that are not coin-voting-driven. But if coins do not determine what weight an account has in governance, what does? There are two natural alternatives:

  1. Proof of personhood systems : systems that verify that accounts correspond to unique individual humans, so that governance can assign one vote per human. See here for a review of some techniques being developed, and ProofOfHumanity and BrightID for two attempts to implement this.
  2. Proof of participation : systems that attest to the fact that some account corresponds to a person that has participated in some event, passed some educational training, or performed some useful work in the ecosystem. See POAP for one attempt to implement thus.

There are also hybrid possibilities: one example is quadratic voting, which makes the power of a single voter proportional to the square root of the economic resources that they commit to a decision. Preventing people from gaming the system by splitting their resource across many identities requires proof of personhood, and the still-existent financial component allows participants to credibly signal how strongly they care about an issue, as well as how strongly they care about the ecosystem. Gitcoin quadratic funding is a form of quadratic voting, and quadratic voting DAOs are being built.

Proof of participation is less well-understood. The key challenge is that determining what counts as how much participation itself requires a quite robust governance structure. It’s possible that the easiest solution involves bootstrapping the system with a hand-picked choice of 10-100 early contributors, and then decentralizing over time as the selected participants of round N determine participation criteria for round N+1. The possibility of a fork helps provide a path to recovery from, and an incentive against, governance going off the rails.

Proof of personhood and proof of participation both require some form of anti-collusion (see article explaining the issue here and MACI documentation here) to ensure that the non-money resource being used to measure voting power remains non-financial, and does not itself end up inside of smart contracts that sell the governance power to the highest bidder.

Solution 3: skin in the game

The third approach is to break the tragedy of the commons, by changing the rules of the vote itself. Coin voting fails because while voters are collectively accountable for their decisions (if everyone votes for a terrible decision, everyone’s coins drop to zero), each voter is not individually accountable (if a terrible decision happens, those who supported it suffer no more than those who opposed it). Can we make a voting system that changes this dynamic, and makes voters individually, and not just collectively, responsible for their decisions?

Fork-friendliness is arguably a skin-in-the-game strategy, if forks are done in the way that Hive forked from Steem. In the case that a ruinous governance decision succeeds and can no longer be opposed inside the protocol, users can take it upon themselves to make a fork. Furthermore, in that fork, the coins that voted for the bad decision can be destroyed.

This sounds harsh, and perhaps it even feels like a violation of an implicit norm that the “immutability of the ledger” should remain sacrosanct when forking a coin. But the idea seems much more reasonable when seen from a different perspective. We keep the idea of a strong firewall where individual coin balances are expected to be inviolate, but only apply that protection to coins that do not participate in governance . If you participate in governance, even indirectly by putting your coins into a wrapper mechanism, then you may be held liable for the costs of your actions.

This creates individual responsibility: if an attack happens, and your coins vote for the attack, then your coins are destroyed . If your coins do not vote for the attack, your coins are safe. The responsibility propagates upward: if you put your coins into a wrapper contract and the wrapper contract votes for an attack, the wrapper contract’s balance is wiped and so you lose your coins. If an attacker borrows XYZ from a defi lending platform, when the platform forks anyone who lent XYZ loses out (note that this makes lending the governance token in general very risky; this is an intended consequence).

Skin-in-the-game in day-to-day voting

But the above only works for guarding against decisions that are truly extreme. What about smaller-scale heists, which unfairly favor attackers manipulating the economics of the governance but not severely enough to be ruinous? And what about, in the absence of any attackers at all, simple laziness, and the fact that coin-voting governance has no selection pressure in favor of higher-quality opinions?

The most popular solution to these kinds of issues is futarchy, introduced by Robin Hanson in the early 2000s. Votes become bets: to vote in favor of a proposal, you make a bet that the proposal will lead to a good outcome, and to vote against the proposal, you make a bet that the proposal will lead to a poor outcome. Futarchy introduces individual responsibility for obvious reasons: if you make good bets, you get more coins, and if you make bad bets you lose your coins.

“Pure” futarchy has proven difficult to introduce, because in practice objective functions are very difficult to define (it’s not just coin price that people want!), but various hybrid forms of futarchy may well work. Examples of hybrid futarchy include:

  • Votes as buy orders : see ethresear.ch post. Voting in favor of a proposal requires making an enforceable buy order to buy additional tokens at a price somewhat lower than the token’s current price. This ensures that if a terrible decision succeeds, those who support it may be forced to buy their opponents out, but it also ensures that in more “normal” decisions coin holders have more slack to decide according to non-price criteria if they so wish.
  • Retroactive public goods funding : see post with the Optimism team. Public goods are funded by some voting mechanism retroactively , after they have already achieved a result. Users can buy project tokens to fund their project while signaling confidence in it; buyers of project tokens get a share of the reward if that project is deemed to have achieved a desired goal.
  • Escalation games : see Augur and Kleros. Value-alignment on lower-level decisions is incentivized by the possibility to appeal to a higher-effort but higher-accuracy higher-level process; voters whose votes agree with the ultimate decision are rewarded.

In the latter two cases, hybrid futarchy depends on some form of non-futarchy governance to measure against the objective function or serve as a dispute layer of last resort. However, this non-futarchy governance has several advantages that it does not if used directly: (i) it activates later, so it has access to more information, (ii) it is used less frequently, so it can expend less effort, and (iii) each use of it has greater consequences, so it’s more acceptable to just rely on forking to align incentives for this final layer.

Hybrid solutions

There are also solutions that combine elements of the above techniques. Some possible examples:

  • Time delays plus elected-specialist governance : this is one possible solution to the ancient conundrum of how to make an crypto-collateralized stablecoin whose locked funds can exceed the value of the profit-taking token without risking governance capture. The stable coin uses a price oracle constructed from the median of values submitted by N (eg. N = 13) elected providers. Coin voting chooses the providers, but it can only cycle out one provider each week. If users notice that coin voting is bringing in untrustworthy price providers, they have N/2 weeks before the stablecoin breaks to switch to a different one.
  • Futarchy + anti-collusion = reputation : Users vote with “reputation”, a token that cannot be transferred. Users gain more reputation if their decisions lead to desired results, and lose reputation if their decisions lead to undesired results. See here for an article advocating for a reputation-based scheme.
  • Loosely-coupled (advisory) coin votes : a coin vote does not directly implement a proposed change, instead it simply exists to make its outcome public, to build legitimacy for off-chain governance to implement that change. This can provide the benefits of coin votes, with fewer risks, as the legitimacy of a coin vote drops off automatically if evidence emerges that the coin vote was bribed or otherwise manipulated.

But these are all only a few possible examples. There is much more that can be done in researching and developing non-coin-driven governance algorithms. The most important thing that can be done today is moving away from the idea that coin voting is the only legitimate form of governance decentralization . Coin voting is attractive because it feels credibly neutral: anyone can go and get some units of the governance token on Uniswap. In practice, however, coin voting may well only appear secure today precisely because of the imperfections in its neutrality (namely, large portions of the supply staying in the hands of a tightly-coordinated clique of insiders).

We should stay very wary of the idea that current forms of coin voting are “safe defaults”. There is still much that remains to be seen about how they function under conditions of more economic stress and mature ecosystems and financial markets, and the time is now to start simultaneously experimenting with alternatives.

5 Likes

Hey Mouyou, those are indeed very interesting thoughts!

They align well with an idea for a governance system I’ve been developing (and want to implement in the soon to be Aragon Network DAO) where:

  • the longer you stake your tokens, the more voting power you get
  • Delegation is possible (ideally topic-specific delegation, but the topology of topics and associated functionality will take time to mature, so for now just liquid delegation)
  • Quadratic weighting + decentralised ID
  • Optimistic Governance setup with Lazy Consensus as the decision-making process (actions can be scheduled, and if debated can go to a discussion and then a vote, or if “illegal” to Aragon Court).
  • a decision economy in that people get rewarded for participating in Governance, so paid for proposals that are accepted (each proposer can suggest the fee for their ‘proposal work’ to be included in the proposal itself) and people get paid to vote but only if they already exhibit a high-reputation (and hence too high skin in the game to vote at random).
  • reputation calculated with decentralised tools (probably a combination of SourceCred and Coordinape or #didathing) and translated into rewards for contributors. Reputation also decays quickly (say 3 months).

Would love to hear what you think

3 Likes

I think that’s very exciting
Will there be a proposal to do this all at once or what would you implement first?

So quadratic voting plus for example brightID to ensure people don’t scam quadratic voting by just having multiple wallets with ant.

Will i get more money for participating the more ant i have / get delegated?

I would like to have a profile where i can buy/get an Ant (NFT) which i can level up by participating in the aragon ecosystem (court, voting, delegation, forum etc) the higher the level of my ant the more voting power it has. Voting power is a non transferable NFT so you dont loose it but also cant sell it. You can sell your private key which is very risky for the buyer and therefore wont be a big market.

1 Like

Those are greta ideas. For now we’re starting with the base which is releasing the experimental AN DAO. The Charter which essentially approves the DAO is up for a vote at the moment and if it passes we’ll have the DAO live by the end of the month.
With the DAO live, we can then start using it to reward community contributors and work on these ideas. If you haven’t alreayd joined the ambassadors programme, I would storngly encourage you so we can continue advancing these ideas :slight_smile: