GIP-11: Enable SafeSnap
- Enable SafeSnap
- Make no changes
GIP: 11 title: Enable SafeSnap author: @auryn_macmillan status: Phase 3 type: Meta created: 2021-06-10 requires: GIP-10
This is a proposal to update the GnosisDAO’s governance structure in a way that keeps the benefits of off-chain voting while allowing for trustless and permissionless on-chain execution, using the recently released DAO module and SafeSnap plugin.
The current governance structure is designed to be maximally inclusive: gas-free voting with delegation. This, however, comes at the cost of some additional trust in the system. Primarily, GnosisDAO must trust that the GnosisDAO Safe Multisig will faithfully execute its will on-chain.
In order to make the GnosisDAO more autonomous, we should more meaningfully give it control over its on-chain execution.
In combination with the Gnosis Safe, this tool allows for:
- Trustless and permissionless on-chain execution of arbitrary function calls
- Continued use of our existing Snapshot strategies (ERC20 BalanceOf and Delegated ERC20 BalanceOf)
- Cheap/free and low friction participation for Participants.
As described in the SafeSnap announcement post, the path to progressive decentralization can be broken down into three steps.
- Multi-sig as a proxy: Gnosis Safe + Snapshot, in which the multi-sig promises to act in accordance with the off-chain votes. This is the status quo.
- Multi-sig as a safeguard: Gnosis Safe + Snapshot + SafeSnap, in which on-chain execution of off-chain votes is handled by the SafeSnap module, but there are still multisig owners that can veto malicious actions or act quickly in the case of an emergency.
- Look ma, no hands!: Gnosis Safe + Snapshot + SafeSnap, in which the multi-sig owners have been removed, and the only way to execute transactions is via the SafeSnap module.
This proposal is to move from (1) to (2) by deploying an instance of the DAO module, enabling it in the GnosisDAO Gnosis Safe, and updating the GnosisDAO Snapshot space to include the SafeSnap module.
The DAO module should have the following parameters set:
Oracle: GNO denominated instance of Reality.eth
Reality question timeout:
- Question Template: see this document
Arbitrator: Reality.eth contract, so that it is not possible to call arbitration
Transactions that need to be executed:
gnosis.eth ENS name:
snapshottext record to
daorequirementstext record to
quorumtext record to
On the deployed DaoModule:
On the GnosisDAO’s safe: