Smart contracts are contractual agreements between participants of a
blockchain, who cannot implicitly trust one another. They are software programs
that run on top of a blockchain, and we may need to change them from time to
time (e.g., to fix bugs or address new use cases). Governance protocols define
the means for amending or changing these smart contracts without any
centralized authority. They distribute instead the decision-making power to
every user of the smart contract: Users vote on accepting or rejecting every
change. The focus of this work is to evaluate whether, how, and to what extent
these protocols ensure decentralized governance, the fundamental tenet of
blockchains, in practice. This evaluation is crucial as smart contracts
continue to transform our key, traditional, centralized institutions,
particularly banking and finance.
In this work, we review and characterize decentralized governance in
practice, using Compound -- one of the widely used governance protocols -- as a
case study. We reveal a high concentration of voting power in Compound: 10
voters hold together 57.86% of the voting power. Although proposals to change
or amend the protocol (or, essentially, the application they support) receive,
on average, a substantial number of votes (i.e., 89.39%) in favor, they require
fewer than three voters to obtain 50% or more votes. We show that voting on
Compound governance proposals can be unfairly expensive for small token
holders, and also discover voting coalitions that can further marginalize these
users. We plan on publishing our scripts and data set on GitHub to support
reproducible research.Comment: We have submitted this work for publication and are currently
awaiting a decisio