Governor Bravo Development

For the past few weeks, Blurr and I have been working on preparing a Governor Bravo implementation based on community feedback over the past few months. The start of the conversation from Governor Bravo began in this post and has inspired some of the changes we’ve made so far. I’ll summarize the changes made along with their inspiration, and include a tentative timeline. Any feedback or recommendations for changes are greatly appreciated!

  1. Upgradable Implementation - Like the Comptroller, Governance will now be upgradable to allow for incremental changes without breaking infrastructure built around it. The implementation is governed by Compound Governance.
  2. Abstain option on voting - This allows for users to abstain to votes on chain. It is a necessary feature for a future project involving COMP staking.
  3. Voting reason string - Users are able to send a string along with their vote explaining their voting reasoning. This is stored along with the vote receipt.
  4. Settable governance parameters (voting period, voting delay, proposal threshold) - Having these fields be settable by governance allows for changes to the governance process without the requiring new contracts to be deployed.
  5. Allowing proposer to cancel their own proposals - Currently, the only way for a proposal to be cancelled is for the proposer to lose delegations and fall below the proposal threshold. Allowing the proposer of the proposal to cancel their proposal at any point makes it possible for an erroneous proposal to be canceled if needed.
  6. Removal of the Guardian - the guardian logic was used for the initial setup of Governance but is no longer needed. The logic around it has been removed.
  7. Continuous Proposal Id Count - I have added logic to GovernorBravo which will set the initial proposal ID to the number after the final GovernorAlpha proposal ID.
  8. Admin Logic - the settable parameters and implementation are governed by the admin, which will be set to the compound timelock.

We are approaching completion of the GovernorBravo implementation with the above features. Over the next few days we hope to complete testing and refactoring the code. After, we get the code audited which may take a while due to the current crypto environment. Shortly after the audit comes back, assuming all is well, we will post an autonomous proposal with the changes.

You can follow along with the development effort here.

5 Likes

Nice work arr00, these seem like excellent changes. After your external audit, would you mind starting an open bug bounty here for seven days before posting your autonomous proposal? It could help start the precedent that the Compound community itself has an incentivized opportunity to find bugs before all major code changes are put up for a vote.

3 Likes

I like this idea a lot—a great precedent to start.

This sounds awesome, thank you and Blurr for taking the initiative on this. I look forward to learning more.

Can you share your vision for the project mentioned?

Sure. COMP staking which allows for you to maintain your voting rights. COMP is distributed to stakers and you are only eligible for rewards if you participate in governance. I think an on-chain abstain should count as participation, but that can be debated later on. I just want the infrastructure to be in place.

There are many intricacies involved in the COMP staking project, but I’d prefer to leave those to another post when we are closer to completing the project.

3 Likes

Thanks for opening great topic. I think that it would be very flexible governance structure if it has been implemented these factors.

But I’m not sure yet how to operate eth based Compound protocol after launching Compound Chain.
if it needs to operate them separately, is it possible to identify Compound Chain specific proposal in Governor Bravo design?

Compound Chain is definitely a task for later down the road. Governor Bravo has an upgradable implementation which allows for future updates to be made easily.

1 Like

Governor Bravo is now active on the Kovan test-net. The new Governor for Compound on kovan is here.