DAO Governance Process

Wanted to give some nuance for the on-chain governance process.

The idea right now would be to use a battle-tested contract like Compound’s Governor Bravo. There are some changes that need to be done to the contract though in order for it to be compatible with ds-pause, which is another contract inherited from Maker.

ds-pause allows governance to schedule a proposal that then needs to wait for a set period of time before it can be executed. While the proposal is under timelock (waiting), it can also be cancelled by governance.

Similar functionality to ds-pause can be found in the vanilla Governor Bravo setup. Once tokenholders vote on a proposal, it has to wait before it can be executed. In order to make ds-pause and Governor Bravo compatible and not have one timelock in Governor Bravo and a second timelock in ds-pause, the Reflexer Governor Bravo will not have any timelock logic and it will instead delegate the timelock responsability to ds-pause.

The second difference compared to the vanilla Governor Bravo is a customizable quorum. 15K FLX might be a fine quorum to start with but as RAI continues to mature, governance might want to increase the quorum. So, the idea is to have a lower and an upper bound within which governance can change the current quorum. This prevents setting the quorum to 0 or to an extremely high number which can prevent any proposal from passing.

Now onto the actual governance process:

  • When a proposal is created on-chain, it enters a review period (during which the proposer may change their mind and cancel it or at least, the community has time to analyze the proposal)
  • After the review period, voting begins. As suggested by @AlexPVT, the voting period can last 5 days so there’s plenty of time for voters to decide on how they cast their votes
  • After the voting period, assuming the proposal is successful (had enough votes to go above the quorum and the majority of votes, meaning 50% + 1, are for), it can be scheduled in ds-pause to be executed after the timelock

As for potential governance parameters, one way it could be set up is as follows:

  • Minimum quorum: 15K FLX
  • Initial quorum: 15K FLX
  • Max quorum: 50K FLX (5% of initial supply)
  • Vote threshold in order to pass: 50% + 1
  • Proposal review period: 2 days
  • Proposal voting period: 5 days
  • ds-pause timelock: 2 days

Note that even if the minimum or maximum quorum values are immutable, governance may choose to migrate to a completely separate Governor contract. You might ask “but why have the quorum bounds when we can just redeploy the Governor and switch to the new version?” and the answer is that deploying a new governance contract just to slightly change an immutable quorum value isn’t optimal.

5 Likes