Compound Governor

Summary:

  • Compound Governor is one of the most prominent governance frameworks in the space.

  • There are two versions: Alpha and Bravo. Bravo offers more flexibility in upgrading.

  • Built-in parameters can be modified to mitigate spam and protect users from malicious votes.

Background:

Compound Governor is the governance process for the Compound Protocol. As the code is flexible, open source, and well-audited, many protocols have adopted Compound's governance system rather than developing a new system of their own.

Voting power: One-Token-One-Vote

Note: Users must submit a delegation transaction before their tokens will be included in governance votes. Users may either delegate to a third party, or self-delegate if they would like to participate in voting directly.

Governance Process:

Compound Governor proposals are user-submitted, executable code for a specific change to the protocol.

Protocols utilize a proposal submission threshold to help prevent spam by requiring users to have meaningful voting power in order to submit proposals. Many protocols set this to 1% of total tokens, but each protocol can set their own threshold.

Participants can also submit an autonomous proposal with a lower vote requirement, in order to lower the barrier for proposal creation from the proposal submission threshold. The proposal contract address then accepts vote delegations from users, and will be submitted for a full vote once total delegations have surpassed the proposal submission threshold.

An optional proposal delay parameter allows protocols to delay the start of voting for a specified length of time after a proposal is submitted, giving time for users to update their vote delegation and become familiar with the topic at hand.

Voting takes place over a predefined voting period determined by the underlying protocol (e.g. Compound has a 3 day voting period, while Uniswap uses a 7 day period).

When the voting period ends, the system first checks if the number of yes votes exceed the protocol's quorum threshold (e.g. Compound currently requires 4% of total tokens to vote in support to meet quorum).

After this, proposals with a majority support are considered passed and placed into a timelock queue which delays code execution (this is currently set to 2 days for most governance systems). This is intended as a security measure, allowing users to withdraw funds if they disagree with the proposal outcome.

Note: If the proposer's voting power drops below the proposal submission threshold at any time from submission until the time-lock period ends, the proposal can be cancelled.

Finally, once the time-lock period has passed, the proposal is executed and relevant code or parameter changes are implemented in the protocol.

Governor Alpha and Bravo:

The original version of Compound Governor, Governor Alpha, was set up as an immutable contract. This means any changes to governance parameters (eg. quorum, voting period, etc) require deploying a new governance contract and transferring ownership. This can create difficulty for integrated user interfaces or other services which need to point to a new governance contract address.

Governor Bravo is an upgraded version of the contract allowing for upgrades and changes to the governance parameters without migrating. Compound and a few other protocols use Bravo for greater convenience.

Resources:

Last updated