Decentralized Autonomous Organizations or DAOs are often hailed as the future of governance in the cryptocurrency world and promise a new era of community-driven decision-making.
However, despite their decentralized nature, many DAOs remain vulnerable to the influence of large token holders, or “whales,” whose actions (or inactions) can have outsized impacts on these supposedly democratic structures.
This scenario recently unfolded in x.com/compoundfinance” target=”_blank” rel=”noopener”>Composite financing when a group known as “Goldenboys” or “x.com/titanium_32″ target=”_blank” rel=”noopener”>Unequal part” on x used its token holdings to push through a controversial governance change.
The Incident: Proposal No. 289
Earlier this year, a group of investors known as Goldenboys, led by Humpy, submitted a series of proposals to the Compound DAO, aiming to reshape the protocol’s governance structure. The most significant of these was Proposal #289, which called for the allocation of 499,000 $COMP tokens (representing a substantial portion of Compound’s treasury) to a yield-generating protocol controlled by the Golden Boys group.
The proposal came after two previous attempts by the same group to get similar measures passed. Despite facing initial resistance, the proposal was ultimately narrowly approved, highlighting the enormous influence that large token holders can exert on DAO governance.
The vote generated a last-minute surge of support, tipping the balance in favor of the proposal, which many in the community had initially opposed.
Accusations of manipulation
Michael Lewellen, Security Solutions Architect at OpenZeppelin, has Concerns raised that the approval of the proposal was influenced by a sudden influx of $COMP tokens from five addresses. These addresses reportedly withdrew over 230,000 $COMP from the Bybit exchange platform just before the vote, raising questions about the integrity of the voting process.
Lewellen referred to the situation as a potential “governance attack,” suggesting the group used its voting power to bypass normal safeguards.
Humpy has also faced similar accusations in the past. In 2022, he was involved in running the governance of the Balancer protocol, where he allegedly used a large amount of $BAL tokens to influence outcomes in his favor and this story has fueled suspicions that recent events at Compound could represent a deliberate strategy rather than a legitimate governance decision.
Responding to the allegations, Humpy denied any wrongdoing and said “stealing funds” is a “misleading and erroneous phrase.” He added that the funds would be managed within a trust structure that includes safeguards against unauthorized use. He stressed that the proposal was a legitimate outcome of the governance process and expressed his gratitude to those who supported it.
Wider implications and concerns
The situation at Compound was exacerbated by the inactivity of other large token holders, such as venture capital firm a16z, which abstained from voting, allowing Humpy to dominate the decision-making process.
Ultimately, this incident led to private negotiations and a compromise that replaced the original proposal with a “Staked Compound Product” proposal, redistributing 30% of Compound’s revenue to staked $COMP holders and ultimately preventing the Goldenboys group from gaining excessive control over the protocol.
The incident has raised concerns about the susceptibility of DAOs to manipulation by large token holders, prompting calls for greater safeguards and more active involvement from the wider community.
The overall goal remains to develop governance systems that are resilient, responsive and able to evolve to meet new challenges.
!function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function(){n.callMethod?n.callMethod.apply(n,arguments):n.queue.push(arguments)};if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version=’2.0′;n.queue=();t=b.createElement(e);t.async=!0;t.src=v;s=b.getElementsByTagName(e)(0);s.parentNode.insertBefore(t,s)}(window,document,’script’,’https://connect.facebook.net/en_US/fbevents.js?v=next’);