Governor Update Proposal #1: Improve advanced delegation voting

Executive Summary

Hi I’m Kent, CTO of Agora. Agora is the governance software company contributing to the Optimism token house governor and its frontend at vote.optimism.io. We provide some services to, but do not represent or speak on behalf of, the Optimism Foundation.

This is a 1 line update to the governance smart contract of the token house that will allow the small subset of voters who have received their voting power from advanced delegation (a feature introduced in the last governor update) to vote by signing one transaction instead of two.

If this vote passes, the Optimism foundation will upgrade governor contract to the new implementation Agora deployed shortly after the end of the veto period.

Motivation

Background:

As part of the v2 upgrade of the token house we shipped in December, we enabled a new feature called “advanced delegation”, which allows token holders to delegate their voting power to multiple delegates without splitting their balance. This facilitates governance participation for large funds, partners and the foundation, who have complex token storage requirements. One side effect of feature is that voters who received advanced delegation would need to sign two transactions to vote.

When we shipped this feature, we thought having two transactions would be a good thing, to easily show users when they voted from each of their voting powers: standard delegation power and advanced delegation power.

After getting feedback from a small group of ~50 voters who’ve received votes via this feature, it was clear that this was a bad idea. As a consequence, we have paused the further rollout of this feature and refactored the contract to allow for a vote with both standard and advanced delegation in one transaction.

Impact to voters:

Delegates with advanced voting power will have a better user experience and will sign only 1 transaction.

Specifications

Contract Changed

The Optimism Governor would be changed as part of this upgrade. Please review the pull request here:

The deployed code can be found here: 0x637DA4Eeac836188D8C46F63Cb2655f4d3C9F893
There are no state changes to any governance contracts in this upgrade.

Security Considerations

This change has been audited by Open Zeppelin. There were no issues identified given that it’s a minimal change which doesn’t affect the rest of the contract logic. In the unlikely scenario that we’ll need to make any changes to address issues, we’ll update this thread to inform the community on next steps.

The OpenZeppelin Audit Report is attached here. Password to view is: Uk08oRQd5d5d5b_h

Impact Summary

Agora does not anticipate any downtime due to this upgrade. As of this proposal there is a small number of users with advanced voting power, therefore the potential exposure is minimal.

Action Plan

If approved by governance, the Optimism Foundation admin will set the new implementation of governor proxy at 0xcDF27F107725988f2261Ce2256bDfCdE8B382B10 to new implementation deployed at 0x637DA4Eeac836188D8C46F63Cb2655f4d3C9F893

If a critical security issue is discovered before upgrading, Agora will collaborate with the community to extensively communicate that the upgrade will no longer occur.

Conclusion

This proposal outlines the “Improve advanced delegation voting” upgrade. This upgrade enables Delegates with advanced voting power to sign only 1 transaction instead of 2 when voting.

20 Likes

Everything looks good to me; I’ll wait to read the audit before giving my approval. Please let me know when it’s ready :cowboy_hat_face:

1 Like

We are excited to see the updates and are glad to see the audit by OZ has passed!

I am an Optimism delegate with sufficient voting power and I believe this proposal is ready to move to a vote.

1 Like

Just updated the proposal with the audit report!

1 Like

I am an Optimism delegate with sufficient voting power and I believe this proposal is ready to move to a vote.

2 Likes

As an Optimism delegate with sufficient voting power I believe that this proposal is ready for a vote!

1 Like

I am an Optimism delegate with sufficient voting power and I believe this proposal is ready to move to a vote.

2 Likes

Thanks for the update @Agora For future iterations I would recommend being more critical in your thinking when it comes to multiple approvals for a given action in order to avoid having to go through governance for minor upgrades.

1 Like

I am an Optimism delegate with sufficient voting power and I believe this proposal is ready to move to a vote. :.

Public goods like DeSci thrive and regenerate with Optimism! :ocean::dna::seedling::computer::busts_in_silhouette::chains::red_circle::sparkles:

Reducing time, improving user experience & interaction, good winning points. :muscle:t2:

At the same time, nice to have: it would be good if when a person delegates his vote, it appears that made his vote and not "You cannot vote again” :sweat_smile:

As Women Biz representative delegate, we vote FOR beacuse it improves the user experience and facilite the interaction with the tool.

Lili

Finally. Thank you. Voting for this.

1 Like

We voted FOR this proposal.

On-chain voting procedures should be as abstracted as possible, regardless of the complexity of the governor designed. This upgrade is a step in the right direction. After reviewing the proposal, its proposed changes, and the audit report, we believe it is appropriate to proceed.

Hey @Agora , congratulations for the proposal and for these improvements in governance.

I have a few questions:

  • How is the total votable supply counted?
  • Who updates newVotableSupply in the VotableSupplyOracle contract?
  • The last update was prior to the current votable, does this have any dispute period? How can the Gov verify that this parameter is correct?

1 Like

The below response reflects the views of L2BEAT’s governance team, composed of @kaereste and @Sinkas, and it’s based on the combined research, fact-checking, and ideation of the two.

We were among the people who found the need for 2 signatures confusing when the previous upgrade took place, and we’re happy to see an upgrade that reverts it. As such, we’ll be voting in favor of the proposal.

We also want to second @jengajojo’s comment that there should be more consideration with such upgrades and in-advance feedback from delegates to avoid having to go through the governance process for minor fixes.

3 Likes

Hey there – great questions.

  1. Votable supply counts all OP delegated to non 0x000…000 addresses.
  2. Currently, Agora updates the oracle. If the Foundation decides to do a one-time upgrade of the token contract, we’d be able to deprecate this oracle and put the votable supply directly into the token.
  3. Governance can verify that it’s correct by comparing the value as its computed elsewhere, for example on Dune
4 Likes