Skip to content

Commit

Permalink
[EP 5.15][Social] Adding ProposalBond to ENS Governor to make proposi…
Browse files Browse the repository at this point in the history
…ng more accessible (#305)

Co-authored-by: Greg Skriloff <[email protected]>
  • Loading branch information
agora-gov-bot and gskril authored Oct 5, 2024
1 parent a0c55c6 commit a380869
Show file tree
Hide file tree
Showing 2 changed files with 157 additions and 0 deletions.
5 changes: 5 additions & 0 deletions app/local/config/navigation/protocol.ts
Original file line number Diff line number Diff line change
Expand Up @@ -405,6 +405,11 @@ export const navigation: SectionData[] = [
{
title: 'Proposals Term 5',
links: [
{
// eslint-disable-next-line prettier/prettier
title: '5.15 - [Social] ENS Governor Improvement Proposal: ProposalBond',
href: '/dao/proposals/5.15',
},
{
// eslint-disable-next-line prettier/prettier
title: '5.14 - [Executable] Endowment permissions to karpatkey - Update #4',
Expand Down
152 changes: 152 additions & 0 deletions docs/dao/proposals/5.15.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,152 @@
{/* * @type {import('@/lib/mdxPageProps').MdxMetaProps} */}
export const meta = {
description: 'Agora proposes adding the functionality of the ProposalBond to the ENS DAO Governor that would allow a proposer to propose with a lower threshold.',
emoji: '📖',
contributors: [
'steward.estmcmxci.eth'
],
proposal: {
snapshot: '0xca27ce450e2a404b51d7ec7979639561dc5d8302949b3a29e4dfef2a8993f018',
type: 'social'
}
};

# [EP 5.15] [Social] ENS Governor Improvement Proposal: ProposalBond

## Abstract

The proposal threshold for propose new executable ENS proposals is high, and rightly so. ENS is one of the most popular DAOs and community in the Web3 community and keeping the quality bar of proposals to the highest standard is very important. However, ENS also has the treasury and the desire to expand the community and make proposing easier and more accessible to enable more builders to come and build in ENS.

[Agora](https://agora.xyz/) proposes adding the functionality of the ProposalBond to the ENS DAO Governor that would allow a proposer to propose with a lower threshold, and then the community could vote [For, Against, Against with penalty, Abstain]. If the weight of `Against with penalty + Against > For`, then the proposer does not get their bond back and the proposal does not pass.

To clarify further: a bond is withheld only if a proposal is rejected (the sum of rejections are bigger than the approvals) AND if the “Against with penalty” is bigger than “Against”.

This way we align incentives to create good proposals.

## Specification

A discussion in the DAO Meta-Gov working group titled: [Seeking Feedback: ENS Governor Upgrade to make proposing more accessible](https://discuss.ens.domains/t/seeking-feedback-ens-governor-upgrade-to-make-proposing-more-accessible/19296), Agora proposed the following PR on the ENS Governor: [Proposal Bond Pull Request](https://github.com/voteagora/ens-governance-contracts/pull/1) which outlines the code needed to make this change happen.

Since the time of that PR and during the follow up discussions, the community has asked for the following additions:

- Ensure that the ProposalBond work proposed by Agora works with the new Veto rules and security council. This covers the case of a proposal being vetod from within the timelock therefore making sure we have the code to handle that case. The default case here being that the bond would not be returned.
- Work with OpenZeppelin to see if we can bring this functionality into OZ Governance Core
- Collaborate with ScopeLift to bring in a few sensible defaults to the voting delay period which is currently set to only one block. This leaves the DAO open to attack and the MetaGov working group is agreed on a 24 hour delay to ensure the DAO time to protect itself if needed.

Agora is committed to building public goods and is already working closely with OpenZeppelin to bring innovations of Agora's Governor into OZ Governance Core.

Given that the proposal threshold of this new functionality will be the most important piece, there is a general consensus in the discussion group that `1,000 ENS` is the right initial value. This parameter can later be set governance and moved up and down as we see fit.

## Voting

We are putting this to a simple, for/again/abstain vote

## Next Steps

Should the vote pass, Agora will be responsible for:

- closing out the implementation
- working with ScopeLift to review the code and add in the Voting Delay logic
- securing and organizing the audits
- making any changes raised by the auditors
- getting the code ready for a governor upgrade

### Auditing

Given the potential impact of the change, we are going to work with the ENS MetaGov stewards to do 2 audits on this code: one chosen by Agora, and the other chosen by the stewards.

Agora recommends using [OpenZeppelin](https://www.openzeppelin.com/security-audits), a reputable and top quality auditor in the governance space.

Agora recommends that the MetaGov stewards pick from: [CodeArena](https://code4rena.com/), [Trail of Bits](https://www.trailofbits.com/services/software-assurance/blockchain/), [Spearbit](https://spearbit.com/) or [Trust Security](https://www.trust-security.xyz/services). Each of these are quality auditing firms with a proven track record of working with governance contracts.

Both of these audits will be funded by ENS, and code changes will be implemented by Agora as part of their service contract with ENS, at no additional charge.

Results and changes will be posted for everyone to see

## Success Criteria

For this social proposal to pass, the following quorum and voting requirements must be met:

**Quorum**: The proposal must receive a minimum of 1% of the total supply of $ENS (1 million votes) in the form of "Yes" and "Abstain" votes combined. "No" votes do not count towards quorum.

**Approval**: Once the quorum is reached, the proposal requires a simple majority (>50%) of "Yes" votes among the "Yes" and "No" votes to pass. "Abstain" votes do not count towards the approval calculation. |

# [EP 5.15][Social] Adding ProposalBond to ENS Governor to make proposing more accessible

| **Status** | Pending |
| ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------ |
| **Discussion Thread** | [Discourse](https://discuss.ens.domains/t/temp-check-social-adding-proposalbond-to-ens-governor-to-make-proposing-more-accessible/19539/6) |
| **Discussion Temp Check** | [Discourse](https://discuss.ens.domains/t/temp-check-social-adding-proposalbond-to-ens-governor-to-make-proposing-more-accessible/19539/6) |
| **Votes** | [Snapshot](https://snapshot.org/#/ens.eth/proposal/660) |

# Description

## Abstract

The proposal threshold for propose new executable ENS proposals is high, and rightly so. ENS is one of the most popular DAOs and community in the Web3 community and keeping the quality bar of proposals to the highest standard is very important. However, ENS also has the treasury and the desire to expand the community and make proposing easier and more accessible to enable more builders to come and build in ENS.

[Agora](https://agora.xyz/) proposes adding the functionality of the ProposalBond to the ENS DAO Governor that would allow a proposer to propose with a lower threshold, and then the community could vote [For, Against, Against with penalty, Abstain]. If the weight of `Against with penalty + Against > For`, then the proposer does not get their bond back and the proposal does not pass.

To clarify further: a bond is withheld only if a proposal is rejected (the sum of rejections are bigger than the approvals) AND if the “Against with penalty” is bigger than “Against”.

This way we align incentives to create good proposals.

## Specification

A discussion in the DAO Meta-Gov working group titled: [Seeking Feedback: ENS Governor Upgrade to make proposing more accessible](https://discuss.ens.domains/t/seeking-feedback-ens-governor-upgrade-to-make-proposing-more-accessible/19296), Agora proposed the following PR on the ENS Governor: [Proposal Bond Pull Request](https://github.com/voteagora/ens-governance-contracts/pull/1) which outlines the code needed to make this change happen.

Since the time of that PR and during the follow up discussions, the community has asked for the following additions:

- Ensure that the ProposalBond work proposed by Agora works with the new Veto rules and security council. This covers the case of a proposal being vetod from within the timelock therefore making sure we have the code to handle that case. The default case here being that the bond would not be returned.
- Work with OpenZeppelin to see if we can bring this functionality into OZ Governance Core
- Collaborate with ScopeLift to bring in a few sensible defaults to the voting delay period which is currently set to only one block. This leaves the DAO open to attack and the MetaGov working group is agreed on a 24 hour delay to ensure the DAO time to protect itself if needed.

Agora is committed to building public goods and is already working closely with OpenZeppelin to bring innovations of Agora's Governor into OZ Governance Core.

Given that the proposal threshold of this new functionality will be the most important piece, there is a general consensus in the discussion group that `1,000 ENS` is the right initial value. This parameter can later be set governance and moved up and down as we see fit.

## Voting

We are putting this to a simple, for/again/abstain vote

## Next Steps

Should the vote pass, Agora will be responsible for:

- closing out the implementation
- working with ScopeLift to review the code and add in the Voting Delay logic
- securing and organizing the audits
- making any changes raised by the auditors
- getting the code ready for a governor upgrade

### Auditing

Given the potential impact of the change, we are going to work with the ENS MetaGov stewards to do 2 audits on this code: one chosen by Agora, and the other chosen by the stewards.

Agora recommends using [OpenZeppelin](https://www.openzeppelin.com/security-audits), a reputable and top quality auditor in the governance space.

Agora recommends that the MetaGov stewards pick from: [CodeArena](https://code4rena.com/), [Trail of Bits](https://www.trailofbits.com/services/software-assurance/blockchain/), [Spearbit](https://spearbit.com/) or [Trust Security](https://www.trust-security.xyz/services). Each of these are quality auditing firms with a proven track record of working with governance contracts.

Both of these audits will be funded by ENS, and code changes will be implemented by Agora as part of their service contract with ENS, at no additional charge.

Results and changes will be posted for everyone to see

## Success Criteria

For this social proposal to pass, the following quorum and voting requirements must be met:

**Quorum**: The proposal must receive a minimum of 1% of the total supply of $ENS (1 million votes) in the form of "Yes" and "Abstain" votes combined. "No" votes do not count towards quorum.

**Approval**: Once the quorum is reached, the proposal requires a simple majority (>50%) of "Yes" votes among the "Yes" and "No" votes to pass. "Abstain" votes do not count towards the approval calculation.

# Voting Strategy

basic

# Voting Dates

Wed Sep 25 2024 00:00:00 GMT+0000 (Coordinated Universal Time) - Wed Oct 02 2024 00:00:00 GMT+0000 (Coordinated Universal Time)

# Voting options

For, Against, Abstain

0 comments on commit a380869

Please sign in to comment.