Governance Proposal Types and Lifecycle in the ENS DAO
This essay is 5 of 7 essays for The Tech Progressive Writing Challenge. Join the build_ Discord to join the conversation.
Background
This article focuses is a continuation of Governance Tools article, where we explored tools used by the ENS DAO for their governance efforts.
Today, we'll focus on governance proposals, including proposal types and the proposal lifecycle.
ENS DAO uses open zeppelin contracts for their smart contract development.
Open Zeppelin provides the following background on decentralized protocols:
Decentralized protocols are in constant evolution from the moment they are publicly released. Often, the initial team retains control of this evolution in the first stages, but eventually delegates it to a community of stakeholders.
The process by which this community makes decisions is called on-chain governance, and it has become a central component of decentralized protocols, fueling varied decisions such as parameter tweaking, smart contract upgrades, integrations with other protocols, treasury management, grants, etc.
This governance protocol is generally implemented in a special-purpose contract called “Governor”.
A proposal is a sequence of actions that the Governor contract will perform if it passes. Each action consists of a target address, calldata encoding a function call, and an amount of ETH to include. Additionally, a proposal includes a human-readable description.
Types of proposals used by ENS DAO - Executable, Social, and Constitutional Amendment.
Executable Proposal: This is a proposal for a series of smart contract operations to be executed by accounts the DAO controls. These can include transfers of tokens as well as arbitrary smart contract calls. Examples of this include allocating funding to a workstream multisig wallet, or upgrading an ENS core contract. Executable proposals have a quorum requirement of 1% and a require a minimum approval of 50% to pass.
Social Proposal: This is a proposal that asks for the agreement of the DAO on something that cannot be enforced onchain. Examples of this include a proposal to change the royalty percentage for the ENS secondary market on OpenSea, or a petition to the root keyholders. SocialS proposals have a quorum requirement of 1% and require a minimum approval of 50% to pass.
Constitutional Amendment: This is a social proposal that asks the DAO to amend the constitution. Your draft proposal should include a diff showing the exact changes you propose to make to the constitution. Rules for amending the constitution are set in the constitution itself, and currently require a quorum of 1% and a minimum approval of two thirds to pass.
Now let's explore the life cycle of proposals. Phase 1 is the temp check, phase 2 is the draft proposal, and phase 3 is the active proposal phase.
Phase 1: Temperature Check — Discourse
The purpose of the Temperature Check is to determine if there is sufficient will to make changes to the status quo.
Temperature checks are informal; it's up to the proposer to use the feedback to decide if they want to proceed further with the proposal.
Phase 2: Draft Proposal — Discourse
The Draft Proposal establishes formal discussion around a potential proposal. It's up to the proposer to Reach out to their network to build support for the proposal, discuss and solicit delegates to provide feedback.
If the proposal executable, the proposer needs to write the code while it is in draft stage.
If the proposal is a constitutional amendment, the proposer communicates a "diff" showing the exact changes proposed.
The easiest way to do this in ENS DAO is to go to the constitution, click "Edit on GitHub", then click the pencil icon to edit the document in a fork.
Phase 3: Active Proposal — Discourse / Governance Portal
Request that a moderator advances the proposal. They will:
Move the proposal from Draft Proposals to Active Proposals.
Assign the proposal a proposal number in the form EP###.
Create a snapshot vote for the proposal with a duration of 5 days, and link to it from the proposal post.
Execution
If the proposal is a Social Proposal or a Constitutional Amendment, that's it! If the snapshot vote passes, the proposal is passed.
If the proposal is an Executable Proposal, it needs to be submitted it to the governor contract for voting onchain.
Once the propose() function has been called, a seven day voting period is started. Ongoing discussion can take place on the proposal post. If the proposal passes successfully, a two day timelock will follow before the proposed code is executed.
Summary
This article covered ENS DAO proposal types and the life cycle of within the DAO. Thanks for exploring with me. These governance protocols, though not as sexy as NFT's, are exciting and provide a framework for organizations to succeed.