Accountability in Decentralized Networks: The MolochDAO Case

Burak Arikan
Graph Commons
Published in
6 min readAug 17, 2019

This article investigates the dynamics of membership growth and voting in MolochDAO, a decentralized autonomous organization for collectively coordinating funds to support Ethereum development. Examining the voting activity in MolochDAO, we identified a tactical voting scheme that leaves it susceptible to manipulation. Because voter turnout will likely never be 100% and voting dynamics may deviate from protocol incentives, we should study empirical data wherever available and use those learnings to guide our protocol designs.

The level of participation in collective decision making is a dynamic metric that affects the security of plutocratic governance systems, where voting is not “one person, one vote”, but weighted by the token holdings of each account. When voting turnout is low, the powerful accounts — token holders with an outsized proportion of total supply — can significantly swing the numbers. This article examines this risk, particularly in MolochDAO, and suggests potential remedies.

DAO Basics

A decentralized autonomous organization (DAO) is an organization whose decision-making processes are transparent and enforced programmatically by a blockchain rather than a central authority.

After the tragic failure of the first DAO on Ethereum in 2016, several new DAO projects emerged. DAOs are typically used for collective fund coordination to support projects within the blockchain ecosystem, but the potential for DAOs to serve as new social coordination tools goes far beyond finance (Kei Kreutler’s talk “Autonomous ecologies at a distance” presents a good summary). Today, to start a DAO for your community you can design and implement the smart contract logic directly using best practices on the blockchain of choice, fork and redeploy an existing one such as MolochDAO, which is considered a minimum viable DAO because of its simplicity, or you can use a service such as Aragon or DAO Stack.

MolochDAO Membership Growth

MolochDAO works because it has off-chain reputation within Ethereum community. — Ameen Soleimani

The MolochDAO smart contract on Ethereum was deployed on Feb 14th 2019 and 22 founding members each donated 100 ETH for a total of 2,200 ETH (330K USD at the time). As of August 12th 2019, MolochDAO has 71 members. To become a member you have to know an existing member who can submit a membership application on your behalf, tribute some amount of ETH to the MolochDAO funding pool, and then have the members vote you in.

MolochDAO Beneficiary Graph presents the “Proposer -> Proposal -> Beneficiary” relationships. Data captured on Aug 12th.

While these are early data points, we have analyzed the MolochDAO proposal activity. To join MolochDAO, an existing member (Proposer) creates a proposal to add an Ethereum account as a member (Beneficiary). The above graph is built based on all the passed proposals using the Proposer -> Proposal -> Beneficiary relationship. So far we observe that the membership growth is centralized, that is, a single account has proposed most new members. Yet from the periphery of the beneficiary graph above we see new member proposals are emerging. In the long run, we may observe a preferential attachment pattern in the growth of the membership network, where most new members are proposed by the most connected nodes, which further reinforces their influence.

The distribution of share ownership among MolochDAO members.

From the plot of membership shares above we see Vitalik Buterin and Joseph Lubin each have 1000 shares, ten times the voting power of most members. One account (Jez San from FunFair) has 250 shares, 52 accounts have 100 shares, and few accounts have around 10 shares.

MolochDAO Voting Turnout

The voting activity in MolochDAO is concentrated around the MolochDAO founders, Ethereum Foundation, Consensys, and Fun Fair, meaning they are the most active participants in proposal voting so far.

MolochDAO Voting Graph presents the active clusters in proposal voting. Data captured on Aug 12th, 2019.

The voter turnout rate affects the relative power distribution and security risk. In theory, if Buterin and Lubin both vote NO on a proposal, a minimum of 20 accounts, each with 100 shares voting YES, will be required to counter it. However, given the current turnout rates (max 30%), it is unlikely the remaining members will be able to gather support to oppose a Buterin + Lubin voting block.

The distribution of voter turnout across all MolochDAO proposals.

Adaptive Quorum Biasing for the low voter turnout problem

Like MolochDAO, Polkadot uses a token-weighted voting system. However, to counter the low voter turnout problem, Polkadot proposes the Adaptive Quorum Biasing scheme, in which the supermajority required for a referendum to pass changes as a function of percent voter turnout.

A positive turnout bias requires a heavy supermajority of aye votes to carry at low turnouts, but as turnout increases towards 100%, it becomes a simple majority-carries as above. We call this a “positive” turnout bias because the required margin of ayes increases as turnout increases.

A negative turnout bias requires a heavy supermajority of nay votes to reject at low turnouts, but as turnout increases towards 100%, it becomes a simple majority-carries as above. We call this a “negative” turnout bias because the required margin of nays increases as turnout increases.

If MolochDAO had an adaptive quorum schema in its voting system, then the low turnout rates around 30% would require higher majority to pass a proposal.

Time-lock voting for the token-weighted voting problem

To limit the problem of large holders having outsized influence, a common problem in all share-based governance systems, Polkadot introduces the notion of time-lock voting, an approach that allows token holders to increase the weight of their vote by locking their shares for a certain amount of time after voting has ended, trading opportunity cost for increased voting power.

With this mechanism, a voter with five tokens willing to lock them up only for the minimum allowed duration would have the same number of votes as a voter with only one token happy to have it locked for the maximum amount of time.

If MolochDAO had time-lock voting, then, even with a low voter turnout, opposing a Vitalik + Lubin voting block (assuming they lock their tokens for the minimum allowed duration) would take the remaining members to lock their shares for the maximum amount of time.

Conclusion

Although these solutions to the problems of low voter turnout and weighted voting are game-theoretically sound, there are no guarantees in reality. As the number of participants grow and the system increases in complexity, information asymmetry can impede members making sense of, and coordinating around proposals.

Reducing information asymmetry for members can be achieved by tracking critical metrics, including explanations and visualizations of voting data. Furthermore, network topology measurements of on-chain activity could be natively supported in blockchains and integrated into governance mechanisms. In the end, learning from our experience and continuing to improve our social coordination tools in ways that enfranchise and enable a broad community is how we progress toward more equitable governance in decentralized networks.

Data modeling, visualization, and analysis are done using Graph Commons. Data sourced from TheGraph.

Thanks to Sam Hart for conversations and editing which contributed to this post.

--

--