This is a draft proposal that we are seeing feedback and looking to iterate upon. It will be voted on in the October proposal cycle.
This social proposal aims to gain consensus on upgrading Radworks’ current governance contracts (Compound Governor Alpha) to Open Zeppelin Governor with the assistance of the Scopelift team. If the community approves moving forward with this upgrade, the contracts will be developed by the Scopelift team via a grant from the Grants Org. Final approval and execution of the new contracts will happen via an Executable Proposal in a future proposal cycle.
Governor Alpha was the battle-tested industry standard at the time of the launch of the $RAD token in February 2021. It was the most appropriate choice for governance of the Radworks treasury. While Governor Alpha has all of the basic capabilities we need as a community-governed network, it is now deprecated, leading to a list of limitations. Other major DAOs have already moved on from Compound Alpha, including Compound itself.
Outdated governance contracts come with a number of specific risks and downsides:
- Alpha was designed as an immutable contract, meaning any changes to governance parameters (e.g. voting period, quorum, etc.) would require deploying a new contract and transfer ownership of the timelock instead of just being able to upgrade the existing one
- The DAO’s treasury is susceptible to a multi-block MEV attack due to a 1 block voting delay
- The DAO treasury cannot hold ETH directly in the timelock, and any ETH sent directly to the timelock would be stuck
- The DAO is limited to proposals that execute 10 onchain actions at a time
- The DAO’s governance parameters cannot be updated by the DAO
- The contracts are incompatible with tooling providers, who increasingly eschew support for Governor Alpha
- EDIT/ADDITION: Less granularity when voting (only yes/no voting options, no option to add note to onchain votes)
The newer versions of this governor contract (Compound Governor Bravo and Open Zeppelin (OZ) Governor) have more capabilities and allow for upgrades and changes to governance parameters without requiring migration. We believe that many of the features and capabilities available in the Open Zeppelin Governor contracts will enhance Radworks’ governance system, enabling a more detailed expression of input into proposals and providing easier management tools for governance facilitators.
The Governance Committee proposes we upgrade to Open Zeppelin Governor. Open Zeppelin Governor is the successor to Compound Governor Bravo and is fully compatible with Governor Bravo (i.e same benefits and features). The OZ Governor does, however, enable further features and integrations leading to more modularity than Bravo. Some key differences between Bravo & OZ Governor that we found interesting include:
- OZ lets you describe quorum as a fraction of the total supply instead of a fixed number of tokens
- OZ supports the flexible voting extension, which allows voting from an L2 or a shielded pool, new delegation schemes, etc.)
- OZ supports NFT voting in addition to ERC20 voting
- OZ makes the timelock delay optional
The Flexible Voting extension - which was created by the Scopelift team & is only compatible with OZ Governor - would also enable even more cool features including:
- Voting with tokens while earning yield in DeFi
- Voting with tokens bridged to L2
- Shielded voting (i.e. secret/private voting)
- Cheaper subsidized signature based voting
- Better voting options with tokens held by custodians
- Possibly enable vestees to delegate & vote with their share of the unvested tokens currently held in the multisig vesting contracts. It would require some extra smart contract development though.
The Flexible Voting contracts are less adopted or “battle tested” as the governor contract systems, but Gitcoin and PoolTogether have recently adopted the Flexible Voting extension into their OZ Governor. If we choose OZ Governor, we would advise to omit the Flexible Voting extension for now until it’s been tested more “in the wild”. The Governance Committee is still interested in exploring Flexible Voting due to its modularity and moving ahead with OZ Governor would make it a lot easier to integrate the extension in the future.
The OZ Governor has seemingly become the industry standard, and is used by many DAOs both small and large. As it seems to have become the default choice for many small DAOs, there are a number of large DAOs using it. For example, ENS launched their DAO on OZ Governor. HOP Exchange, Unlock, Optimism and others are other examples who use OZ-based Governors (i.e. some have built a customization on top of the OZ Governor but use the core codebase).
Compound Governor Bravo is the successor to Governor Alpha. Some other major differences between Alpha and Bravo are listed here:
Compound Bravo has also been adopted by major protocols over the years. Uniswap upgraded to Bravo in August 2021. Wintermute Research also provides a useful description and analysis of the Bravo contracts and who is using them. Open Zeppelin conducted an audit of the Bravo contracts when they were released in early 2021. As the proposal process to change or request funds from the contracts are the same as Alpha (pass a governance vote and timelock delay), there are no additional security or governance risks compared with using the Alpha version.
The general consensus from Tally and Scopelift, however, is that Governor Bravo is on its way to becoming deprecated. There is no indication that anybody from the Compound is or is planning on working on the contracts moving forward. OZ Governor seems to be the modern implementation of Compound Bravo that most are being recommended to upgrade to.
Scopelift is a small team of expert, full stack EVM devs that was recommended to us by the Tally team. The Governance Committee has been in conversations with their team for the past few months and is very impressed with their knowledge, credentials and willingness to dive into exploring new capability possibilities. Scopelift has worked with many great projects in the space, including Uniswap, Optimism, Gitcoin, Endaoment, Llama, PoolTogether, Yield, Cozy, Obol, Railgun and others. They are also working with tooling providers like Tally, which will be supporting it in their frontend.
Upgrading our governance contracts will require both general consensus from the community to signal approval for an upgrade (social proposal) and subsequent on-chain vote (executable proposal). Gaining consensus on this Social Proposal is the first step.
In order to preserve USDC in the treasury, the Scopelift team is applying for a grant to fund the majority of their work with the condition that funds will only be received if this proposal passes. The Scopelift team has submitted an application for a Grant to fund their first milestone work. If the community signals support for the upgrade via this Social proposal and the Grants Committee approves the Grant, their team will start developing and testing the new contracts. Once their work is complete, they will submit an executable proposal to Radworks for the final approval and execution of the governance upgrade. This proposal will include a RAD payment for completion of the final milestone.
If this proposal passes the September cycle and the Grants Committee approves the application by the end of September, the Scopelift team will need around 1 month (100-200 hours of testing before implementing) of development and auditing. If all goes well, the final proposal to approve the contracts could be published during the November proposal cycle. If more time is needed, we can push it back to the January cycle (we will not have a December cycle given holidays).
Discuss and indicate support for upgrading to OZ Governor. The Scopelift team will be monitoring this post and answering questions as they come.
Vote in the Snapshot poll. If the upgrade is approved, the Scopelift team will receive Grant funding and begin developing the new contracts.
Submit an Executable proposal. Once the contracts are complete, there will be an Executable Proposal to review, approve and execute the new contracts.