[Temp Check][Social] Adding ProposalBond to ENS Governor to make proposing more accessible

Kent here from Agora. We are ready to post this proposal to a social vote on Snapshot but wanted to make sure that everyone gets a chance to see the proposal text and gets a chance to weight in here before we do that.

Looking forward to the comments and feedback! The text below is the exact text we are looking to post on Snapshot in the coming days.


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 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 No Return,Abstain]. If the weight of Against No Return > Against, then the proposer does not get their bond back and the proposal does not pass.

Specification

A discussion in the DAO Meta-Gov working group titled: Seeking Feedback: ENS Governor Upgrade to make proposing more accessible, Agora proposed the following PR on the ENS Governor: Proposal Bond Pull Request 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

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, we will be closing out the implementation, working with the ENS Security Council to chose auditors for the changes, and then putting up an executable vote to setImplementation of a new governor, with these changes once the code has been approved and reviewed by the security council.

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.

6 Likes

Thank you for putting this forward. It’s much appreciated!

Presumably the weight of Against No Return + Against must also be greater than the weight of For in order for the proposal to fail?

1 Like

This is not the role of the Security Council, although I can see why this could be seen as such. The purpose of a Sec Council is simply to prevent governance takeover by token purchase. I would agree that for such a big change an audit is essential and probably the people to work on that should be the metagov stewards, not the security council.

To clarify: a bond is withheld only if a proposal is rejected (the sum of rejections are bigger than the approvals) AND if the “against no return” is bigger than “against”. The name “against no return” is contradictory because it can be read as two contradictory statements: “Against the proposal. No return of funds” or it can be read as “Against not returning funds”. Maybe call it “Reject with penalty” and “reject without penalty”?

8 Likes

Agreed! Good clarification.

1 Like

Good idea Alex. This is a good clarification.

UPDATE: AUDIT INFORMATION

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 OpenZepplin, a reputable and top quality auditor in the governance space.

Agora recommends that the metagov stewards pick from: CodeArena, Trail of Bits, Spearbit or Trust Security. 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.

1 Like

Hey all, I’m excited to see this experimentation with proposal bonds! On behalf of ScopeLift, I took the opportunity to review the PR of the proposed changes and leave a bit of feedback. I hope it’s helpful!

I’m confused about this piece. Is the ENS Governor a proxy contract?

1 Like

This is so vague I have to vote no for now until there is an explanation.

#1 When you say “ENS” (each time) do you mean the ENS DAO or ENS Labs?

#2 If it is the DAO paying for them, which is my assumption, is there a budget for these audits?

#3 If it is the DAO paying for them, who is fronting the money for the audits?

P.S. Apologies I’m just seeing this forum thread now. :-/

6 Likes

Although an interesting experiment, adding a higher cost to submitting a proposal isn’t what ENS needs at this very moment from our perspective.

We’ve just added a security council and a Veto voting block which makes me feel confident about any DAO ‘risks’ that a bond might protect from.

Without more rationale, for now, this is a No vote from FireEyes because of the large cost this is incurring to proposers (~$20k) and adding another barrier to proposal creation (while we just added two seperate protection mechanisms)

2 Likes

I am not sure how helpful this is. Protecting against spam is good but:

  1. Adding extra costs to proposers is bad
  2. Locking us in a platform (Agora) is bad. Tally said that this would break the tally ENS implementaton so we would get locked into using Agora only which is a big no no.
4 Likes

Hey @lefterisjp ! Thanks for the feedback but no where in the proposal did we say that this is an Agora only feature, in fact, we are part of the OZ governor working group and would love to bring this into OZ core. The problem we are solving here is a real one and we’ve had a lot of conversations in the MetaGov calls around how to address it, happy to keep discussing and figuring out the best solution.

The goal would be for all front-end clients to be able to use this, these changes take a long time so the goal is to get the ball moving and the changes in at the governor, and then work on how to address them on the UI / UX side.

What would you want to see there in order to move this forward in a productive way?

1 Like

Definitely conscious that a majority of delegates aren’t on the MetaGov calls and do agree that a reduction in the proposal threshold is a good proposal (even by 50%, still requires high delegation in order to propose).

However adding a bond (and therefor $$$ cost/risk) to proposers I’d be worried that such an open and community centric project as ENS is limiting possible proposals and adding extra complexity.

Seems like a disconnect between the metagov stewards and delegates more than Agora trying to silo governance implementation.

1 Like

Thanks for the comments @Griff and next time I will seek you out before posting to Snapshot as these are great clarifications that I should have put in there.

#1) ENS DAO, specifically MetaGov will be paying for the audits.
#2) Currently we don’t have a budget as the code isn’t finalized yet. We wanted to gauge interest before adding the polish and the time needed to get the PR audit ready
#3) This will come from the MetaGov budget from the ENS DAO

Re: point #2, I am currently speaking with OZ about this audit and we could ask them to put up a rought budget based on the PR that is there.

Thanks for the questions, keep them coming :slight_smile:

2 Likes

@kent_agora just to clarify, does this PR add a 2nd way to post proposals or fully replace the default method?

My understanding is that the former wouldn’t add any cost for delegates with 100K+ voting power, whereas the latter would require all delegates to post the bond.

1 Like

Sorry yes, this could have been more clear in the proposal.

The goal is that this is a way for non large delegates / token holders to have access to vote.

So the existing Proposal Threshold would be as it was, and this new feature would open it up to smaller groups or individuals looking to propose to ENS earnestly.

2 Likes

Analyzing the current PR

We can see that ENSGovernorV2 is inheriting ENSGovernor. For the proposal with bond, there is a different function (called proposeWithBond). Therefore, the new contract has backward compatibility with Tally and doesn’t raise the costs for proposing because it’s maintaining the old propose function, which is having 100k ENS delegated.

Currently, there are 13 wallets able to submit a proposal on-chain. If it was easy, the number of wallets would be higher. This is effectively lowering the barrier while also adding more economical skin to the game for not doing malicious proposals.

That said, I support experimenting by adding the feature of proposing with bonds.

I do think there are other solutions that are better for lowering the barrier. Distributing governance to active members of the community via delegating with tokens under the custody of the DAO, and lowering the proposal threshold. This is a subject for diving deep in another post since we do need to increase delegation for security reasons, and it’s not related to this thread.

Other feedbacks

There is a feature being implemented in Agora, which is the proposal sponsoring. If that’s not at the contract level, it’s not creating interoperability and locking the proposal trying to be sponsored inside Agora.

Another feature I think is valuable is also adding a function to vote with comments and with signature. Currently onchain votes do not support sponsored transactions if they include comments.

4 Likes

Hey Griff. I can add some color from the Metagov group on this.

To answer your questions, it would be the ENS DAO, not ENS Labs, that would fund the audits.

For preparedness sake, Metagov maintains a budget line item to fund contract audits for any successful proposals that contain contract changes that are in any way relevant to the protocol. At the start of Term 5 we budgeted 90k for audits in 2024. We lowered that estimate down to 40k mid year, mainly because we haven’t needed to audit anything so far in 2024.

If the delegates vote to support this proposal, or any proposal with a contract change, Metagov would use those funds to independently audit any proposed contract changes. This is regardless of any other audits the proposer may or may not perform.

5 Likes

I would like to see some comments from Tally on this post and perhaps some joint proposal in the future. It’s great if a feature can be supported by multiple frontends and that’s how I think governance should be in general.

2 Likes

Going through all the comments and responses here - I echo the concerns from @Griff @James and @lefterisjp re added friction, complications (the break in Tally ENS implementation) and the need for a more collaborative dynamic vs a lock in.

I will also be voting against at this stage for the aforementioned reasons, especially since we already have the recent Veto block and the security council additions.

The Veto adds security. This proposal tries to increase access to the DAO by allowing more people to submit proposals. Those are orthogonal goals.

We could simply lower the limit to 10k but that would add a lot of risk which is why we are adding this intermediate solution which lowers the barrier but with more security.

3 Likes