Title
[GRFC] Sub-Proposal 2: Approve the configuration of the emergency multi-sig and ratify its scope
Author(s) & acknowledgements:
Raambo, Graadient, Jaypow, Bernard, SHAKOTN, KD
Related discussion(s)
- What is governed by who?
- Vote 26
- Forum post about Gro DAO’s new structure in October 2022
- Study of Emergency Multi-Sigs
Proposed Changes
A) ratify the configuration of the emergency multi-sig:
- To 4-of-7 (m-of-n), with 3 non-pod contributors and 1 representative from each pod
B) ratify the scope of the emergency multi-sig by assigning it as a ‘keeper’ for the following smart contract functions:
- Convex Strategy contracts’ functions:
- setEmergencyMode → to pull assets out of a protocol strategy
- runHarvest → to run harvests
- stopLoss → to execute stop loss
- Guard contract’s functions:
- setStopLossPrimer → to set stop loss
- endStopLossPrimer → to end stop loss
- executeStopLoss → to execute stop loss
- harvest → to run harvests
- Governor contract’s functions (if on-chain governance is approved by the DAO)
- cancel → to cancel on-chain governance proposals
Voting Options
For these jointly proposed changes, DAO members can either vote:
- FOR: approve the sub-proposal
- AGAINST: do not approve the sub-proposal
- ABSTAIN: no opinion on this sub-proposal
Summary
While establishing on-chain governance, the DAO still needs an emergency multi-sig. This is a type of smart contract wallet controlled by approved DAO members (the Emergency Multi-Sig Committee). This committee can quickly perform certain approved actions to safeguard the DAO’s interests. The selection of these committee members will take place in sub-proposal 3.
Rationale
A) Ratify the configuration of the emergency multi-sig
To enable quick transaction execution, the emergency multi-sig should have a lower percentage quorum, represented by ‘m’ (the number of required signatures to execute a transaction) divided by ‘n’ (pool of signers); and a higher value of ‘m’ and ‘n’; when compared to the DAO’s other operational multi-sigs.
It is proposed that the emergency multi-sig is configured to a 4-of-7 (m-of-n), with 3 non-pod contributors and 1 representative from each pod. This is in line with similar emergency multi-sigs within other DAOs. Here are some considerations when configuring the m-of-n parameters:
- A larger ‘n’ (pool of signers) and including non-pod contributors can make the system more decentralized, reduce reliance on certain key people, and provide faster response times (aiming for 24/7 coverage).
- A larger ‘m’ (more required signatures) reduces the risk of governance attacks or inside collusion.
- A lower percentage quorum can help speed up response times, aiming for actions within 1 hour and 24/7 coverage.
Because of the critical nature of the emergency multi-sig, those applying for the committee must illustrate their qualifications and availability, and agree to the specific outlined responsibilities. If a selected committee member is not performing as expected; they can be voted out by the Emergency Multi-Sig Committee or by the DAO through a Snapshot vote, and replaced through a Snapshot vote.
B) Emergency Multi-Sig Scope
As decided in Vote 26 and as further detailed here, the emergency multi-sig will be given limited, approved tasks for emergencies over time, such as cancelling on-chain governance (in case of governance attacks if on-chain governance is approved by the DAO) and conducting emergency protocol functions (such as withdrawing from failing protocol strategies in case of emergency or automation failures).
At the smart contract level, these aforementioned actions translate to the emergency multi-sig being assigned as a ‘keeper’ for the functions illustrated in the table below; while contracts such as the OpenZeppelin Governor (if on-chain governance is approved by the DAO), Timelock, and existing DAO multi-sig (which will gradually hand over ownership of smart contract functions over time) would be responsible for the rest. The ‘keeper’ can be thought of as a low-level admin role that has limited smart contract functionality, as assigned by a high-level admin role (the ‘owner’).
*These are the functions for which the emergency multi-sig should be initially assigned as the ‘keeper’. Over time, emergency multi-sig could be given ‘keeper’ status for more functions, (if and) when DAO progresses to on-chain governance. See full Ownership of Smart Contract Functions and Roles table for further details.
Edits
Based on discussion below, the proposed emergency multi-sig configuration was changed from a 4-of-8 to a 4-of-7 (m-of-n).
Submission date and next steps
- Date of Submission: 2023-06-13T00:00:00Z
- Move proposal to Snapshot if RFC feedback is implemented and there is sufficient support: 2023-06-19T00:00:00Z (at the earliest)
Signalling Vote
Please indicate below whether you are FOR, AGAINST; or have no opinion (ABSTAIN); on this sub-proposal.
- FOR: approve the sub-proposal
- AGAINST: do not approve the sub-proposal
- ABSTAIN: no opinion on this proposal
0 voters
This RFC will be open for comments over at least the next [6 days]. If no substantial changes are required, it will then be open for voting for another [5 days].