Profile of Frisson in Optimism
Posts by Frisson
-
[FINAL] Superchain Governance Deep Dive
by Frisson - No Role
Posted on: Sept. 27, 2023, 11:03 p.m.
Content: Thanks @lavande @jrocki.bedrock! I applied in Discord for the demo day tomorrow. Looking forward to it.
Likes: 2
Replies: 0
No replies yet.
-
[FINAL] Superchain Governance Deep Dive
by Frisson - No Role
Posted on: Sept. 27, 2023, 7:03 p.m.
Content: Thanks @lavande @Jrocki! I applied in Discord for the demo day tomorrow. Looking forward to it.
Likes: 2
Replies: 0
No replies yet.
-
[FINAL] Superchain Governance Deep Dive
by Frisson - No Role
Posted on: Sept. 20, 2023, 3:52 p.m.
Content: Hi again Optimism Collective :wave: I’m back to share our Superchain Governance Deep Dive Research Proposal! This deliverable fulfills all of our critical milestones, including: Summary and technical evaluation of at least 3 promising technical implementations of Superchain decentralized governance. Explanation of process, including summary of all contributions from the Optimism Collective and links to source. Recommendation on most promising technical implementation of Superchain decentralized governance including key requirements and key risks. We’ve enjoyed working on this Mission Proposal on behalf of the Optimism Collective. Pending positive feedback on our proposal and recommended technical implementation, we would like to submit a proposal in an upcoming season of Optimism governance to develop a production version of Superchain Governance :grinning: Without further ado, I present Tally’s Superchain Governance Research Proposal :tada: ===================================================== Table of Contents Introduction Methodology Technology Solutions Analysis 3 . 1 Message Passing 3 . 2 Storage Proofs 3 . 3 Zk-SNARKs Comparative Analysis and Recommendation References 1 . Introduction As the Superchain continues to take shape and grow, the question of how to scale Optimism governance across the Superchain becomes increasingly relevant. While several teams in the Ethereum ecosystem have attempted multichain governance, a common standard has yet to emerge. Optimism Superchain governance poses unique challenges that are not addressed by existing solutions. Superchain governance is subject to special requirements as outlined in the Law of Chains 3 , including the ability to manage common technology standards while protecting the economic sovereignty of individual chain governors and users. The Superchain requires a technical implementation of governance with the flexibility and scalability to support a future of hundreds or even thousands of Superchain member chains. What will governance look like in a world where members of a DAO have their voting power split across tens, hundreds, or thousands of networks and in just as many smart contract services? How will users coordinate to manage their participation in the Superchain? How will users delegate their voting power? These are all questions we address in our technical analysis. In this paper, we investigate the technical design space around decentralized Superchain governance and produce a document that can serve as a research-based foundation for technical implementation. We include an analysis of the available technology, detail the user experience of each possible implementation, and discuss implementation considerations, including high-level implementation timelines. We conclude with a recommendation of the technology stack that is most promising. We considered three technologies: Message Passing, Storage Proofs, and zk-SNARKs. In this paper, we also make several assumptions on the future of Optimism Governance: Optimism Mainnet is the home of Superchain Governance. Users may hold OP tokens on Optimism or any number of member Superchains. Users should be able to vote with OP tokens on non-OP mainnet chains (e.g., tokens held on Base, ZoraChain, Public Goods Network, etc.). A user’s voting power is the sum of their voting power across the Superchain. While our objective is to recommend a single implementation, depending on the final constraints of Optimism Superchain governance, it might be possible to combine the strengths of multiple implementations to arrive at an even more ideal solution. If there is an appetite for this exploration, we would happily follow up on this project with additional research. 2 . Methodology We evaluated implementations based on the following criteria. Technical Feasibility Is the solution possible today? If not, what confidence do we have that it will be possible soon? Is the solution already in use somewhere else? Trust Minimization Does the solution alter the trust assumptions of the Optimism stack itself? Can users interact with the system independently in a self-sovereign way? User Experience How closely do the solutions fulfill the modern expectations around governance features? Are there trade-offs required for delegation and voting? How smooth an experience is the solution for users? Although we remark on the ballpark cost of various solutions, we decided not to use cost in our methodology matrix as we cannot benchmark it accurately as part of this project scope. We also reason that coming infrastructure improvements around DankSharding and possible implementations of ZK Proofs will drastically reduce the cost of using the OP Stack. 3 . Technology Solution Analysis 3 . 1 Message Passing The message passing solution uses the native bridge architecture of the OP stack to shuttle information about user participation in governance between the various chains in the Superchain. It requires passing smart contract calls from each OP stack chain down to L 1 via the L 2 messaging bridge, waiting for the seven-day challenge to combine the information on the L 1 Mainnet, and bridging it back up to the OP Mainnet for the final calculation. This solution is the simplest to implement with the modern form of OpenZeppelin Governor 2 using Flexible Voting 1 , an extension designed for this purpose. For each governance proposal, a user must vote on each Superchain chain where they hold voting power. Voting can be done via signature aggregation with an onchain service such as Tally, or by calling each smart contract directly via a governance portal. 1600 × 1098 101 KB Proposing Proposals are initiated either on OP Mainnet and bridged down to L 1 Ethereum (from there, they are bridged to each Superchain member), or they can be initiated on L 1 Ethereum and pushed up to all Superchain members, including OP Mainnet, simultaneously. To minimize the impact of the seven-day challenge period if the proposal starts on OP Mainnet, we can optimistically start the proposal across all L 2 Superchains by sharing a hash of the proposal data as the proposal identifier and ensuring at the finalization of the proposal that the hash of the proposal data matches across the Superchain. It is somewhat difficult to solve the problem of identifying who has the authority to kick off new proposals in this design without needing to wait the entire seven-day challenge period, as the token holder who has sufficient voting power and wishes to create a proposal might not necessarily be on OP Mainnet. In this case, the most trust-minimized solution would be to allow any user with sufficient voting power to kick off a proposal on any Superchain (including OP Mainnet) and then use the seven-day challenge period as an opportunity for voters to finalize their voting power and delegations. Once a proposal has been created and bridged to L 1 Mainnet and the challenge period has concluded, it is bridged to each Superchain member network, where voting starts without delay. Delegation and Voting In the message-passing framework, delegation works but can quickly become unwieldy as the Superchain expands. Today, all delegation happens on the OP Mainnet, and all voting power is calculated on the OP Mainnet. In the wider Superchain however, delegation is a bit of an open question: Does Jane’s delegation to John on OP Mainnet also apply on Base Network? Or Zora Chain? Delegation state is chain-scoped. When a user makes a delegation to an address on one network, it’s not readable on another. In the message-passing solution we assume that Jane is required to delegate to John on every network where Jane holds OP tokens. That way, wherever John votes, he will be voting with the full power of Jane’s delegation. With the current limited number of Superhcain participants, this is still somewhat practical. A delegation by Jane to John would only require a small number of transactions, and the process could be batched by a 3 rd party after collecting Jane’s signature. What gets complicated, however, is when the Superchain expands, and Jane needs to recreate her delegation to John for each new member chain. For example: If Jane bridges her tokens from Chain A, where she has a delegation to John, to Chain B, where she is currently undelegated, how does Jane’s delegation get propagated to Chain B? If Jane delegates her tokens on Chain A to John, and the delegation is propagated via a 3 rd party service to Chain B, what should happen if Jane delegates her tokens on Chain B to Lucy? Should the delegation on Chain A also be updated to Lucy? Actions unrelated to governance (such as bridging) materially affect a user’s delegated voting power. If Jane has delegated 100 tokens to Rob on OP Mainnet but has delegated only 10 tokens to Lucy on Base, if Jane bridges her 100 tokens from OP Mainnet to Base, she is effectively simultaneously delegating 100 more tokens to Lucy on Base. For each proposal, a user can vote on a smart contract on each Superchain where they hold voting power. If a user holds voting power on many networks, in order to get the benefits of their complete voting power, it would be necessary to vote on each network. The cost of voting scales as users expand across chains. Finalization Once a proposal has completed the voting duration (on each network) a finalization function is called, which tallies up all the votes and kicks off a process to bridge the final results to L 1 Ethereum, where they would then either be aggregated on L 1 Ethereum or sent up to OP Mainnet for aggregation. It is necessary to wait seven days for the results from each chain to finalize, adding to the total duration of a proposal. Pros The system is simple and practical to implement today Trust assumptions are identical to the OP stack itself. Optimizations are easy to offload to 3 rd party services Users can always interact in a self-sovereign way Cons The system is slow, assuming a seven-day voting period, seven-day wait to initiate proposal, and seven-day wait to finalize a proposal Delegation becomes impractical as the number of participating Superchain networks scales Governance smart contract infrastructure needs to be deployed on each member Superchain User Experience In the current state of the OP Superchain the User Experience would be identical to what exists today. However, the UX would decay as the Superchain expands and users bridge their tokens between chains. It would become increasingly complicated for users to track and manage their voting power. The costs for users would also linearly increase as delegation and voting require an increasing number of steps to complete. The most likely outcome would be reduced participation and orphaned voting power. Implementation Considerations and Timeline The Construction of a message-passing solution is straightforward. The working implementation of the smart contracts could be constructed in 4 - 6 weeks, excluding auditing, security, and feedback reviews. Existing governance interfaces could be incrementally updated to account for the growth of the Superhcain and the diffusion of tokens. A simple approach would be a table that lists voting power and delegation across chains. Users would need to send an identical transaction per network for voting and delegation. Third-party services could simplify this, but users would still be required to sign many sequential transactions and hold a balance to cover the gas cost on each network. The process would be repetitive and obnoxious for many participants. 3 . 2 Storage Proofs Storage Proofs offer a mechanism for cross-chain voting within the Optimism Superchain by creating proofs of voting power rather than bridging voting power. Various teams have explored this technology, including Tally, Herodotus 2 , Snapshot 2 , LimeChain, and Aave. Using storage proofs, we can imagine a unification of the OP Superchain governance by abstracting away the underlying network and replacing smart contract calls and transactions with proofs of state instead. With storage proofs, we can build a system where a user does their delegation and voting on OP Mainnet, but the user can vote with their combined power across the superchain. Storage proofs also bring additional flexibility beyond the message-passing solution. With storage proofs, governance can allow for the different ways users may hold OP tokens on Superchain networks. For example, a storage proof could prove the balance of a user’s OP tokens inside a DeFi protocol, allowing users to vote with tokens locked in smart contracts they do not directly control. Storage proofs allow for a more straightforward UX experience, greater third-party automation, and greater flexibility over how voting power is computed. For our Storage Proof implementation, all delegations are made on OP Mainnet and are definitive across the Superchain. Voting happens on OP Mainnet. There is no governance smart contract infrastructure deployed on any of the non-OP Mainnet Superchains. The Storage Proof implementation has four components: L 1 Proposal Orchestrator L 1 Shared Finality Oracle L 2 OP Mainnet Governor + Proof Verifier Off-chain script for collecting Storage Proofs The L 1 Proposal orchestrator contract is responsible for kicking off new pending proposals, collecting the Superchain finalized state roots from the L 1 Shared Finality Oracle and sending a message to the L 2 OP Mainnet governor to start a new proposal. Users collect their proofs of voting power via the off-chain service, (which they could run themselves) and provide them to the L 2 OP Mainnet Governor when voting. 1522 × 860 57 . 1 KB Proposing The governance process begins when a user provides the L 1 Proposal Orchestrator with the request to create a proposal. This contract collects the state roots of the member Superchains from the L 1 Shared Finality oracle and bridges the pending proposal and list of stateroots to OP Mainnet. Once the pending proposal has reached OP Mainnet (this process is quick), the user submits an array of storage proofs collected offchain proving that they have sufficient voting power to initiate a proposal. The governance contract on OP Mainnet verifies the users provided storage proofs against the pending proposals attached state roots and initiates the proposal. Delegation and Voting The Delegation UX is simpler in the storage proof example because all delegations are done on OP Mainnet governance contracts. In this system, it is also possible to support features like liquid delegation, where users can split their delegation across multiple addresses. Only one transaction is required for users to delegate, and they do not need to worry about their actions on other networks affecting their delegation status. The process of voting for many users is simple and smooth. The governance UI abstracts away the offchain services to collect the necessary storage proofs, and the UX should be identical to the voting process today. For users who don’t want to use a hosted governance UI, it would be possible to run simple open-source scripts to collect the necessary storage proofs and submit them to the smart contract when voting. As the superchain expands or a user receives many delegations, the system quickly reaches scalability limits. Users are required to provide storage proofs for each delegation they receive, for each network a voter has delegated to them. The process can require many transactions and is not cheap by current L 2 standards, as the call data for the storage proofs still eventually settles to L 1 Ethereum. For power users, this solution would be unacceptable. Pros Trust assumptions are the same as Optimism Allows for aggregate voting power across multiple chains. Voting interfaces can make the experience simple and seamless Storage proofs are easy to generate, meaning users are not locked into 3 rd party vendors Users with Voting power exclusively on OP Mainnet can vote directly via smart contract Users can vote with tokens locked in DeFi smart contracts Ability to add custom voting logic in smart contracts Cons Storage proofs can be large, leading to higher costs when all calldata must land on L 1 Impractical for top delegates with numerous delegations due to the computational and financial costs of proving each delegate’s voting power. Implementation Considerations and Timeline Storage proofs are more complicated to implement because offchain services are necessary to power the process of gathering the required data (storage proofs). Fortunately, the design and implementation of storage proofs is well understood. 3 - 6 weeks for offchain components to collect storage proofs + index all networks 4 - 8 weeks for onchain components for smart contracts The UX is more straightforward than in the message passing example, as the UI can effectively hide the complexity of the operations happening in the background. The UI should look the same as current voting portals with minimal UI changes. Delegation works the same as it currently does, and when a user votes, the heavy lifting is done behind the scenes. 3 . 3 Zk-SNARKs Zk-SNARKs offer a flexible, cost-effective, and simple solution for cross-chain voting within the Optimism Superchain. One of the most compelling advantages of zk-SNARKs over solutions like storage proofs is their efficiency. In a typical blockchain setting, each storage proof must be individually verified by a smart contract, which can be computationally expensive. zk-SNARKs, on the other hand, can aggregate multiple storage proofs, validate them individually, and then consolidate the results into a single proof. A smart contract can verify this aggregated proof much more efficiently, often at a significantly reduced computational cost. (A primer by LimeChain on zk-SNARKs and zk-STARKS) zk-SNARKs can do any amount of arbitrary computing offchain, such as proving voting power across hundreds of Superchains, splitting voting power between delegations, and applying custom vote types, and still return a single zk-SNARK that is easy and cheap to verify onchain. zk-SNARKs offer an improvement over storage-proof implementations by keeping the onchain verification cost relatively constant (and very low), regardless of the number of delegations or Superchain chains involved.While zk-SNARKs can make smart contract verification cost-efficient, the time needed to generate the proof off-chain can vary. Current improvements in proof generation mean that the time required to generate a proof is already well within the bounds of a convenient user experience, but will vary based on the number of delegations a user has. For users with very large proving sets, their proofs can be generated in advance, broken into smaller chunks, or simply take longer to process. This process can also be automated. Our design ensures that users are able to vote immediately without needing to wait for a proof generation. The ability to perform arbitrary computation within a SNARK provides a broad design space for scalability improvements. Our solution employs a modular smart contract architecture that can adapt to future advancements in zk technology. The nature of zk-SNARK technology also opens up the opportunity for robust expressive proofs that can accommodate future demands of the Optimism governance system. Offchain programs can be written to aggregate the voting power of users and transform the value through arbitrary computation. For example, a SNARK could calculate voting power that was time-weighted, accounting for users that might have only recently purchased tokens for the purpose of swinging a vote. Quadratic voting or conditional voting schemes can also be implemented without any increase in proving cost for the final output. As part of this research project, we’ve spoken with three zero knowledge teams that are pioneering work in the space: RISC ZERO, 0 ( 1 ) Labs 1 , and Axiom 2 . All of these teams are building exciting solutions that promise to bring incredible user experiences to the Superchain in a variety of ways. For our proposed solution, we have chosen to focus on the tech stack of RISC Zero as it appears to be the closest to providing the working tools necessary to build a practical implementation of unified Superchain Governance. RISC Zero has a working showcase of governor-based voting 2 using a design that reduces the gas cost of voting with the governor smart contract by 66 %. Our suggested implementation of RISC Zero is different, focusing on massive scalability rather than gas efficiency. Our implementation is still in the design phase and has yet to be benchmarked on gas costs. We also spoke with the Axiom team on Sept 14 th to preview their zk-SNARK based Governance tool. While we saw their working implementation too late to be included in this document’s recommendation, it is very exciting. Their implementation improves on our design, works natively with OpenZeppelin Governor, and removes the need to watch for finalized votes without slowing down the user’s experience when voting. Seeing their design reinforces our conviction that the zk-SNARK solution is the correct path for Optimism Superchain governance and that there will be multiple high-quality partners providing zk proof services. Vendor lock-in and censorship resistance It is important to note that the zk infrastructure ecosystem is growing, and it is possible to build the Superchain governance infrastructure in such a way that it is agnostic to zk infrastructure providers. Users would be free to collect offchain data and generate a proof in any way they choose. For convenience reasons, in this paper, we assume that Tally has built an offchain indexing service to produce the data required for the zk-SNARK proofs, that proofs are generated via the RISCZero Bonsai network, and that the cost of the proof generation service is paid for by the Optimism Collective. However, there is no hard vendor lock-in for this solution, and our particular implementation lets anyone submit proofs for users in a permissionless way. Our Implementation Our implementation of a zk-SNARK based solution has five components: L 1 Proposal Orchestrator L 1 Shared Finality Oracle L 2 OP Mainnet Governor + SNARK Verifier Offchain process for collecting Storage Proofs RISCZero Bonsai 1 Network for Proof Generation and Vote finalization The L 1 Proposal orchestrator is responsible for kicking off new pending proposals, collecting the Superchain finalized state roots from the L 1 Shared Finality Oracle and sending a message to the L 2 OP Mainnet governor to start a new proposal. When a User casts a vote, they cast it directly on the smart contract which emits an event that is picked up by an offchain process. The offchain process collects the relevant storage proofs and submits them to the RiscZero Bonsai network. The Bonsai network creates the SNARK proof and submits it to the L 2 OP Mainnet Governor via callback which finalizes the cast vote. Long term, we imagine an incentive system will ensure that an ecosystem of 3 rd parties create proofs for votes in a decentralized way. 1600 × 851 89 . 2 KB Proposing A user wishing to start a proposal kicks off a process using the L 1 Proposal Orchestrator by submitting a pending proposal request. The L 1 Proposal Orchestrator collects the finalized state roots for the Superchain member networks and sends the pending proposal to L 2 OP Mainnet Governor. An offchain process makes a request to the RiscZero Bonsai network to generate a proof that proves the proposer’s voting power, and the Bonsai network calls a callback on the L 2 OP Mainnet Governor to activate the proposal. 1600 × 570 61 KB Delegation and Voting Delegation is done on OP Mainnet via a regular smart contract call. No changes are necessary. New features such as liquid delegation or partial delegation can be easily added with external smart contracts, without any changes to how the OP governance token currently works. To vote, the user makes a normal smart contract call on the L 2 OP Mainnet Governor with their vote. They are not required to provide their voting power as this will be proven later. The cost for the user is extremely low, perhaps a few cents, as this smart contract call only emits an event and adds to a mapping that their vote is pending. When a user casts a vote, a voteCast event is emitted by the smart contract with the user’s address. The smart contract saves the vote with a status of “pending”. An offchain process catches the event and collects all the storage proofs from each L 2 Superchain network necessary to build up the voting power. The offchain process then submits the list of storage proofs to the RiscZero Bonsai network to generate the ZK-SNARK proof. Once the proof is created, the Bonsai network uses a callback function on the L 2 OP Mainnet governor to submit the proof and finalize the vote, which emits a voteFinalized event. Finalization At the end of the proposal voting period the vote enters a challenge period for finalization. During this time offchain processes that watch for voteCast and voteFinalized events can prove that a vote was not included by submitting to the smart contract a list of “pending” votes. To incentivize correct behavior we imagine long term there is a competitive market of offchain services seeking to generate proofs, and users are also able to generate their own proofs to submit. We also can imagine there is a financial incentive for the creation of proofs beyond a user’s own self-interest in having their vote counted as well as a slashing system for third-party services that fail to submit proofs The Axiom team presented to us on Sept 14 th a very smart design for a zk-SNARK based governor that eliminates the need for the finalization process. We did not have time to include it in this report, but we are confident that the finalization process can be removed from the implementation using elements of their design. Pros Flexibility in accommodating arbitrary computations. Massive scalability opportunities Cost-effectiveness in smart contract verification. No vendor lock-in; the system can be agnostic to ZK infrastructure providers. Scalability improvements through modular smart contract architecture. Cons Time variability in proof generation, especially for users with numerous delegations. User Experience Zk-SNARKs offer the best user overall experience compared to the alternatives. Users pay a consistent, low transaction fee for voting and they only need to vote once, in one place, with their voting power properly calculated from the entire Optimism Superchain. The system is equally enjoyable for power users with many delegations and small independent voters. Implementation Considerations and Timeline The implementation of the zk solution builds on the work of storage proofs, but the various zk tech stacks promise near term improvements to make the process vastly simpler. In particular, RISCZero has planned the ability to read state directly from public view functions, meaning it might not be necessary to manually collect storage proofs ahead of time. This functionality is still early in the pipeline so our implementation does not take it into consideration. The zk implementation is simpler to implement on the smart contract level, since the heavy lifting is done inside the creation of the proof and RISCZero provides pre-built components for SNARK verification. 4 - 6 weeks for smart contracts 4 - 6 week for offchain support components 6 - 8 weeks for zk proof generation code (in Rust) The user experience with Optimism governance will remain largely the same as it is today. Under the hood, the front-end tools will use APIs provided by RISCZero or other ZK providers. Although more complicated than in the storage-proof version, it would be possible for users to vote without dependence on a centralized UI. 4 . Comparative Analysis and Recommendation Based on scalability, cost-effectiveness, and flexibility, we recommend the adoption of a zk-SNARK-based solution for Optimism Superchain governance. This technology not only aligns with the current trends in cryptographic proofs but also offers a future-proof architecture that can adapt to the evolving needs of the Optimism ecosystem. As the Superchain scales to hundreds of chains and millions of users, zk-SNARKs will shine while the alternatives will not be able to provide an acceptable user experience. With a zk-SNARK implementation, arbitrary compute can be executed offchain for a proposal. This would open the door to custom proposal types, custom voting calculations, trustless inclusion of offchain reputation data, and enable voting with tokens inside DeFi protocols. The Optimism Superchain is growing rapidly, and users are only beginning to discover the possible use cases. With the zk-SNARK solution, Optimism governance would be set up to scale for the foreseeable future with predictable operational costs. 1600 × 963 277 KB 5 . References Zero-knowledge proofs explained, Limechain Extractoor, LimeChain Governance Example 1 , RISCZero RollCall, Tally.xyz SnapshotX Announcement 2 , Snapshot Herodotus.dev AAVE Governance V 3 Axiom.xyz 2 (public release of Governance example pending) O( 1 ) Labs x Tally: Private, Flexible, and Anonymous Voting 1
Likes: 5
Replies: 0
No replies yet.
-
[FINAL] Superchain Governance Deep Dive
by Frisson - No Role
Posted on: Sept. 20, 2023, 11:52 a.m.
Content: Hi again Optimism Collective :wave:
I’m back to share our Superchain Governance Deep Dive Research Proposal! This deliverable fulfills all of our critical milestones, including:
Summary and technical evaluation of at least 3 promising technical implementations of Superchain decentralized governance.
Explanation of process, including summary of all contributions from the Optimism Collective and links to source.
Recommendation on most promising technical implementation of Superchain decentralized governance including key requirements and key risks.
We’ve enjoyed working on this Mission Proposal on behalf of the Optimism Collective. Pending positive feedback on our proposal and recommended technical implementation, we would like to submit a proposal in an upcoming season of Optimism governance to develop a production version of Superchain Governance :grinning:
Without further ado, I present Tally’s Superchain Governance Research Proposal :tada:
=====================================================
Table of Contents
Introduction
Methodology
Technology Solutions Analysis
3 . 1 Message Passing
3 . 2 Storage Proofs
3 . 3 Zk-SNARKs
Comparative Analysis and Recommendation
References
1 . Introduction
As the Superchain continues to take shape and grow, the question of how to scale Optimism governance across the Superchain becomes increasingly relevant. While several teams in the Ethereum ecosystem have attempted multichain governance, a common standard has yet to emerge. Optimism Superchain governance poses unique challenges that are not addressed by existing solutions.
Superchain governance is subject to special requirements as outlined in the Law of Chains 3 , including the ability to manage common technology standards while protecting the economic sovereignty of individual chain governors and users. The Superchain requires a technical implementation of governance with the flexibility and scalability to support a future of hundreds or even thousands of Superchain member chains. What will governance look like in a world where members of a DAO have their voting power split across tens, hundreds, or thousands of networks and in just as many smart contract services? How will users coordinate to manage their participation in the Superchain? How will users delegate their voting power? These are all questions we address in our technical analysis.
In this paper, we investigate the technical design space around decentralized Superchain governance and produce a document that can serve as a research-based foundation for technical implementation. We include an analysis of the available technology, detail the user experience of each possible implementation, and discuss implementation considerations, including high-level implementation timelines. We conclude with a recommendation of the technology stack that is most promising.
We considered three technologies: Message Passing, Storage Proofs, and zk-SNARKs.
In this paper, we also make several assumptions on the future of Optimism Governance:
Optimism Mainnet is the home of Superchain Governance.
Users may hold OP tokens on Optimism or any number of member Superchains.
Users should be able to vote with OP tokens on non-OP mainnet chains (e.g., tokens held on Base, ZoraChain, Public Goods Network, etc.).
A user’s voting power is the sum of their voting power across the Superchain.
While our objective is to recommend a single implementation, depending on the final constraints of Optimism Superchain governance, it might be possible to combine the strengths of multiple implementations to arrive at an even more ideal solution. If there is an appetite for this exploration, we would happily follow up on this project with additional research.
2 . Methodology
We evaluated implementations based on the following criteria.
Technical Feasibility
Is the solution possible today? If not, what confidence do we have that it will be possible soon?
Is the solution already in use somewhere else?
Trust Minimization
Does the solution alter the trust assumptions of the Optimism stack itself?
Can users interact with the system independently in a self-sovereign way?
User Experience
How closely do the solutions fulfill the modern expectations around governance features?
Are there trade-offs required for delegation and voting?
How smooth an experience is the solution for users?
Although we remark on the ballpark cost of various solutions, we decided not to use cost in our methodology matrix as we cannot benchmark it accurately as part of this project scope. We also reason that coming infrastructure improvements around DankSharding and possible implementations of ZK Proofs will drastically reduce the cost of using the OP Stack.
3 . Technology Solution Analysis
3 . 1 Message Passing
The message passing solution uses the native bridge architecture of the OP stack to shuttle information about user participation in governance between the various chains in the Superchain. It requires passing smart contract calls from each OP stack chain down to L 1 via the L 2 messaging bridge, waiting for the seven-day challenge to combine the information on the L 1 Mainnet, and bridging it back up to the OP Mainnet for the final calculation.
This solution is the simplest to implement with the modern form of OpenZeppelin Governor 2 using Flexible Voting 1 , an extension designed for this purpose.
For each governance proposal, a user must vote on each Superchain chain where they hold voting power. Voting can be done via signature aggregation with an onchain service such as Tally, or by calling each smart contract directly via a governance portal.
1600 × 1098 101 KB
Proposing
Proposals are initiated either on OP Mainnet and bridged down to L 1 Ethereum (from there, they are bridged to each Superchain member), or they can be initiated on L 1 Ethereum and pushed up to all Superchain members, including OP Mainnet, simultaneously.
To minimize the impact of the seven-day challenge period if the proposal starts on OP Mainnet, we can optimistically start the proposal across all L 2 Superchains by sharing a hash of the proposal data as the proposal identifier and ensuring at the finalization of the proposal that the hash of the proposal data matches across the Superchain.
It is somewhat difficult to solve the problem of identifying who has the authority to kick off new proposals in this design without needing to wait the entire seven-day challenge period, as the token holder who has sufficient voting power and wishes to create a proposal might not necessarily be on OP Mainnet. In this case, the most trust-minimized solution would be to allow any user with sufficient voting power to kick off a proposal on any Superchain (including OP Mainnet) and then use the seven-day challenge period as an opportunity for voters to finalize their voting power and delegations.
Once a proposal has been created and bridged to L 1 Mainnet and the challenge period has concluded, it is bridged to each Superchain member network, where voting starts without delay.
Delegation and Voting
In the message-passing framework, delegation works but can quickly become unwieldy as the Superchain expands. Today, all delegation happens on the OP Mainnet, and all voting power is calculated on the OP Mainnet. In the wider Superchain however, delegation is a bit of an open question: Does Jane’s delegation to John on OP Mainnet also apply on Base Network? Or Zora Chain? Delegation state is chain-scoped. When a user makes a delegation to an address on one network, it’s not readable on another. In the message-passing solution we assume that Jane is required to delegate to John on every network where Jane holds OP tokens. That way, wherever John votes, he will be voting with the full power of Jane’s delegation. With the current limited number of Superhcain participants, this is still somewhat practical. A delegation by Jane to John would only require a small number of transactions, and the process could be batched by a 3 rd party after collecting Jane’s signature. What gets complicated, however, is when the Superchain expands, and Jane needs to recreate her delegation to John for each new member chain.
For example:
If Jane bridges her tokens from Chain A, where she has a delegation to John, to Chain B, where she is currently undelegated, how does Jane’s delegation get propagated to Chain B?
If Jane delegates her tokens on Chain A to John, and the delegation is propagated via a 3 rd party service to Chain B, what should happen if Jane delegates her tokens on Chain B to Lucy? Should the delegation on Chain A also be updated to Lucy?
Actions unrelated to governance (such as bridging) materially affect a user’s delegated voting power. If Jane has delegated 100 tokens to Rob on OP Mainnet but has delegated only 10 tokens to Lucy on Base, if Jane bridges her 100 tokens from OP Mainnet to Base, she is effectively simultaneously delegating 100 more tokens to Lucy on Base.
For each proposal, a user can vote on a smart contract on each Superchain where they hold voting power. If a user holds voting power on many networks, in order to get the benefits of their complete voting power, it would be necessary to vote on each network. The cost of voting scales as users expand across chains.
Finalization
Once a proposal has completed the voting duration (on each network) a finalization function is called, which tallies up all the votes and kicks off a process to bridge the final results to L 1 Ethereum, where they would then either be aggregated on L 1 Ethereum or sent up to OP Mainnet for aggregation. It is necessary to wait seven days for the results from each chain to finalize, adding to the total duration of a proposal.
Pros
The system is simple and practical to implement today
Trust assumptions are identical to the OP stack itself.
Optimizations are easy to offload to 3 rd party services
Users can always interact in a self-sovereign way
Cons
The system is slow, assuming a seven-day voting period, seven-day wait to initiate proposal, and seven-day wait to finalize a proposal
Delegation becomes impractical as the number of participating Superchain networks scales
Governance smart contract infrastructure needs to be deployed on each member Superchain
User Experience
In the current state of the OP Superchain the User Experience would be identical to what exists today. However, the UX would decay as the Superchain expands and users bridge their tokens between chains. It would become increasingly complicated for users to track and manage their voting power. The costs for users would also linearly increase as delegation and voting require an increasing number of steps to complete. The most likely outcome would be reduced participation and orphaned voting power.
Implementation Considerations and Timeline
The Construction of a message-passing solution is straightforward. The working implementation of the smart contracts could be constructed in 4 - 6 weeks, excluding auditing, security, and feedback reviews. Existing governance interfaces could be incrementally updated to account for the growth of the Superhcain and the diffusion of tokens. A simple approach would be a table that lists voting power and delegation across chains. Users would need to send an identical transaction per network for voting and delegation. Third-party services could simplify this, but users would still be required to sign many sequential transactions and hold a balance to cover the gas cost on each network. The process would be repetitive and obnoxious for many participants.
3 . 2 Storage Proofs
Storage Proofs offer a mechanism for cross-chain voting within the Optimism Superchain by creating proofs of voting power rather than bridging voting power. Various teams have explored this technology, including Tally, Herodotus 2 , Snapshot 2 , LimeChain, and Aave. Using storage proofs, we can imagine a unification of the OP Superchain governance by abstracting away the underlying network and replacing smart contract calls and transactions with proofs of state instead.
With storage proofs, we can build a system where a user does their delegation and voting on OP Mainnet, but the user can vote with their combined power across the superchain. Storage proofs also bring additional flexibility beyond the message-passing solution. With storage proofs, governance can allow for the different ways users may hold OP tokens on Superchain networks. For example, a storage proof could prove the balance of a user’s OP tokens inside a DeFi protocol, allowing users to vote with tokens locked in smart contracts they do not directly control. Storage proofs allow for a more straightforward UX experience, greater third-party automation, and greater flexibility over how voting power is computed.
For our Storage Proof implementation, all delegations are made on OP Mainnet and are definitive across the Superchain. Voting happens on OP Mainnet. There is no governance smart contract infrastructure deployed on any of the non-OP Mainnet Superchains.
The Storage Proof implementation has four components:
L 1 Proposal Orchestrator
L 1 Shared Finality Oracle
L 2 OP Mainnet Governor + Proof Verifier
Off-chain script for collecting Storage Proofs
The L 1 Proposal orchestrator contract is responsible for kicking off new pending proposals, collecting the Superchain finalized state roots from the L 1 Shared Finality Oracle and sending a message to the L 2 OP Mainnet governor to start a new proposal. Users collect their proofs of voting power via the off-chain service, (which they could run themselves) and provide them to the L 2 OP Mainnet Governor when voting.
1522 × 860 57 . 1 KB
Proposing
The governance process begins when a user provides the L 1 Proposal Orchestrator with the request to create a proposal. This contract collects the state roots of the member Superchains from the L 1 Shared Finality oracle and bridges the pending proposal and list of stateroots to OP Mainnet. Once the pending proposal has reached OP Mainnet (this process is quick), the user submits an array of storage proofs collected offchain proving that they have sufficient voting power to initiate a proposal. The governance contract on OP Mainnet verifies the users provided storage proofs against the pending proposals attached state roots and initiates the proposal.
Delegation and Voting
The Delegation UX is simpler in the storage proof example because all delegations are done on OP Mainnet governance contracts. In this system, it is also possible to support features like liquid delegation, where users can split their delegation across multiple addresses. Only one transaction is required for users to delegate, and they do not need to worry about their actions on other networks affecting their delegation status.
The process of voting for many users is simple and smooth. The governance UI abstracts away the offchain services to collect the necessary storage proofs, and the UX should be identical to the voting process today. For users who don’t want to use a hosted governance UI, it would be possible to run simple open-source scripts to collect the necessary storage proofs and submit them to the smart contract when voting.
As the superchain expands or a user receives many delegations, the system quickly reaches scalability limits. Users are required to provide storage proofs for each delegation they receive, for each network a voter has delegated to them. The process can require many transactions and is not cheap by current L 2 standards, as the call data for the storage proofs still eventually settles to L 1 Ethereum. For power users, this solution would be unacceptable.
Pros
Trust assumptions are the same as Optimism
Allows for aggregate voting power across multiple chains.
Voting interfaces can make the experience simple and seamless
Storage proofs are easy to generate, meaning users are not locked into 3 rd party vendors
Users with Voting power exclusively on OP Mainnet can vote directly via smart contract
Users can vote with tokens locked in DeFi smart contracts
Ability to add custom voting logic in smart contracts
Cons
Storage proofs can be large, leading to higher costs when all calldata must land on L 1
Impractical for top delegates with numerous delegations due to the computational and financial costs of proving each delegate’s voting power.
Implementation Considerations and Timeline
Storage proofs are more complicated to implement because offchain services are necessary to power the process of gathering the required data (storage proofs). Fortunately, the design and implementation of storage proofs is well understood.
3 - 6 weeks for offchain components to collect storage proofs + index all networks
4 - 8 weeks for onchain components for smart contracts
The UX is more straightforward than in the message passing example, as the UI can effectively hide the complexity of the operations happening in the background. The UI should look the same as current voting portals with minimal UI changes. Delegation works the same as it currently does, and when a user votes, the heavy lifting is done behind the scenes.
3 . 3 Zk-SNARKs
Zk-SNARKs offer a flexible, cost-effective, and simple solution for cross-chain voting within the Optimism Superchain.
One of the most compelling advantages of zk-SNARKs over solutions like storage proofs is their efficiency. In a typical blockchain setting, each storage proof must be individually verified by a smart contract, which can be computationally expensive. zk-SNARKs, on the other hand, can aggregate multiple storage proofs, validate them individually, and then consolidate the results into a single proof. A smart contract can verify this aggregated proof much more efficiently, often at a significantly reduced computational cost. (A primer by LimeChain on zk-SNARKs and zk-STARKS)
zk-SNARKs can do any amount of arbitrary computing offchain, such as proving voting power across hundreds of Superchains, splitting voting power between delegations, and applying custom vote types, and still return a single zk-SNARK that is easy and cheap to verify onchain.
zk-SNARKs offer an improvement over storage-proof implementations by keeping the onchain verification cost relatively constant (and very low), regardless of the number of delegations or Superchain chains involved.While zk-SNARKs can make smart contract verification cost-efficient, the time needed to generate the proof off-chain can vary. Current improvements in proof generation mean that the time required to generate a proof is already well within the bounds of a convenient user experience, but will vary based on the number of delegations a user has. For users with very large proving sets, their proofs can be generated in advance, broken into smaller chunks, or simply take longer to process. This process can also be automated. Our design ensures that users are able to vote immediately without needing to wait for a proof generation.
The ability to perform arbitrary computation within a SNARK provides a broad design space for scalability improvements. Our solution employs a modular smart contract architecture that can adapt to future advancements in zk technology.
The nature of zk-SNARK technology also opens up the opportunity for robust expressive proofs that can accommodate future demands of the Optimism governance system. Offchain programs can be written to aggregate the voting power of users and transform the value through arbitrary computation. For example, a SNARK could calculate voting power that was time-weighted, accounting for users that might have only recently purchased tokens for the purpose of swinging a vote. Quadratic voting or conditional voting schemes can also be implemented without any increase in proving cost for the final output.
As part of this research project, we’ve spoken with three zero knowledge teams that are pioneering work in the space: RISC ZERO, 0 ( 1 ) Labs 1 , and Axiom 3 . All of these teams are building exciting solutions that promise to bring incredible user experiences to the Superchain in a variety of ways.
For our proposed solution, we have chosen to focus on the tech stack of RISC Zero as it appears to be the closest to providing the working tools necessary to build a practical implementation of unified Superchain Governance. RISC Zero has a working showcase of governor-based voting 3 using a design that reduces the gas cost of voting with the governor smart contract by 66 %.
Our suggested implementation of RISC Zero is different, focusing on massive scalability rather than gas efficiency. Our implementation is still in the design phase and has yet to be benchmarked on gas costs.
We also spoke with the Axiom team on Sept 14 th to preview their zk-SNARK based Governance tool. While we saw their working implementation too late to be included in this document’s recommendation, it is very exciting. Their implementation improves on our design, works natively with OpenZeppelin Governor, and removes the need to watch for finalized votes without slowing down the user’s experience when voting. Seeing their design reinforces our conviction that the zk-SNARK solution is the correct path for Optimism Superchain governance and that there will be multiple high-quality partners providing zk proof services.
Vendor lock-in and censorship resistance
It is important to note that the zk infrastructure ecosystem is growing, and it is possible to build the Superchain governance infrastructure in such a way that it is agnostic to zk infrastructure providers. Users would be free to collect offchain data and generate a proof in any way they choose. For convenience reasons, in this paper, we assume that Tally has built an offchain indexing service to produce the data required for the zk-SNARK proofs, that proofs are generated via the RISCZero Bonsai network, and that the cost of the proof generation service is paid for by the Optimism Collective. However, there is no hard vendor lock-in for this solution, and our particular implementation lets anyone submit proofs for users in a permissionless way.
Our Implementation
Our implementation of a zk-SNARK based solution has five components:
L 1 Proposal Orchestrator
L 1 Shared Finality Oracle
L 2 OP Mainnet Governor + SNARK Verifier
Offchain process for collecting Storage Proofs
RISCZero Bonsai 2 Network for Proof Generation and Vote finalization
The L 1 Proposal orchestrator is responsible for kicking off new pending proposals, collecting the Superchain finalized state roots from the L 1 Shared Finality Oracle and sending a message to the L 2 OP Mainnet governor to start a new proposal.
When a User casts a vote, they cast it directly on the smart contract which emits an event that is picked up by an offchain process. The offchain process collects the relevant storage proofs and submits them to the RiscZero Bonsai network. The Bonsai network creates the SNARK proof and submits it to the L 2 OP Mainnet Governor via callback which finalizes the cast vote. Long term, we imagine an incentive system will ensure that an ecosystem of 3 rd parties create proofs for votes in a decentralized way.
1600 × 851 89 . 2 KB
Proposing
A user wishing to start a proposal kicks off a process using the L 1 Proposal Orchestrator by submitting a pending proposal request. The L 1 Proposal Orchestrator collects the finalized state roots for the Superchain member networks and sends the pending proposal to L 2 OP Mainnet Governor. An offchain process makes a request to the RiscZero Bonsai network to generate a proof that proves the proposer’s voting power, and the Bonsai network calls a callback on the L 2 OP Mainnet Governor to activate the proposal.
1600 × 570 61 KB
Delegation and Voting
Delegation is done on OP Mainnet via a regular smart contract call. No changes are necessary. New features such as liquid delegation or partial delegation can be easily added with external smart contracts, without any changes to how the OP governance token currently works.
To vote, the user makes a normal smart contract call on the L 2 OP Mainnet Governor with their vote. They are not required to provide their voting power as this will be proven later. The cost for the user is extremely low, perhaps a few cents, as this smart contract call only emits an event and adds to a mapping that their vote is pending.
When a user casts a vote, a voteCast event is emitted by the smart contract with the user’s address. The smart contract saves the vote with a status of “pending”. An offchain process catches the event and collects all the storage proofs from each L 2 Superchain network necessary to build up the voting power. The offchain process then submits the list of storage proofs to the RiscZero Bonsai network to generate the ZK-SNARK proof. Once the proof is created, the Bonsai network uses a callback function on the L 2 OP Mainnet governor to submit the proof and finalize the vote, which emits a voteFinalized event.
Finalization
At the end of the proposal voting period the vote enters a challenge period for finalization. During this time offchain processes that watch for voteCast and voteFinalized events can prove that a vote was not included by submitting to the smart contract a list of “pending” votes.
To incentivize correct behavior we imagine long term there is a competitive market of offchain services seeking to generate proofs, and users are also able to generate their own proofs to submit. We also can imagine there is a financial incentive for the creation of proofs beyond a user’s own self-interest in having their vote counted as well as a slashing system for third-party services that fail to submit proofs
The Axiom team presented to us on Sept 14 th a very smart design for a zk-SNARK based governor that eliminates the need for the finalization process. We did not have time to include it in this report, but we are confident that the finalization process can be removed from the implementation using elements of their design.
Pros
Flexibility in accommodating arbitrary computations.
Massive scalability opportunities
Cost-effectiveness in smart contract verification.
No vendor lock-in; the system can be agnostic to ZK infrastructure providers.
Scalability improvements through modular smart contract architecture.
Cons
Time variability in proof generation, especially for users with numerous delegations.
User Experience
Zk-SNARKs offer the best user overall experience compared to the alternatives. Users pay a consistent, low transaction fee for voting and they only need to vote once, in one place, with their voting power properly calculated from the entire Optimism Superchain. The system is equally enjoyable for power users with many delegations and small independent voters.
Implementation Considerations and Timeline
The implementation of the zk solution builds on the work of storage proofs, but the various zk tech stacks promise near term improvements to make the process vastly simpler. In particular, RISCZero has planned the ability to read state directly from public view functions, meaning it might not be necessary to manually collect storage proofs ahead of time. This functionality is still early in the pipeline so our implementation does not take it into consideration.
The zk implementation is simpler to implement on the smart contract level, since the heavy lifting is done inside the creation of the proof and RISCZero provides pre-built components for SNARK verification.
4 - 6 weeks for smart contracts
4 - 6 week for offchain support components
6 - 8 weeks for zk proof generation code (in Rust)
The user experience with Optimism governance will remain largely the same as it is today. Under the hood, the front-end tools will use APIs provided by RISCZero or other ZK providers. Although more complicated than in the storage-proof version, it would be possible for users to vote without dependence on a centralized UI.
4 . Comparative Analysis and Recommendation
Based on scalability, cost-effectiveness, and flexibility, we recommend the adoption of a zk-SNARK-based solution for Optimism Superchain governance. This technology not only aligns with the current trends in cryptographic proofs but also offers a future-proof architecture that can adapt to the evolving needs of the Optimism ecosystem.
As the Superchain scales to hundreds of chains and millions of users, zk-SNARKs will shine while the alternatives will not be able to provide an acceptable user experience. With a zk-SNARK implementation, arbitrary compute can be executed offchain for a proposal. This would open the door to custom proposal types, custom voting calculations, trustless inclusion of offchain reputation data, and enable voting with tokens inside DeFi protocols.
The Optimism Superchain is growing rapidly, and users are only beginning to discover the possible use cases. With the zk-SNARK solution, Optimism governance would be set up to scale for the foreseeable future with predictable operational costs.
1600 × 963 277 KB
5 . References
Zero-knowledge proofs explained, Limechain
Extractoor, LimeChain
Governance Example 2 , RISCZero
RollCall, Tally.xyz
SnapshotX Announcement 2 , Snapshot
Herodotus.dev
AAVE Governance V 3
Axiom.xyz 3 (public release of Governance example pending)
O( 1 ) Labs x Tally: Private, Flexible, and Anonymous Voting 3
Likes: 5
Replies: 0
No replies yet.
-
[FINAL] Superchain Governance Deep Dive
by Frisson - No Role
Posted on: Aug. 25, 2023, 11:57 p.m.
Content: Hi Optimism Collective, I’m back again with a midway check in for our Superchain Governance Deep Dive Mission Proposal! We’ve identified three viable implementations of Superchain governance: message passing, storage proofs, and zero knowledge proofs. We believe implementing Superchain governance via zero knowledge proofs is the most promising implementation, because it scales well to a future where the Superchain includes millions of users across thousands of chains. We envision a zero knowledge proof-based solution that relies on the Optimism Collective to maintain a registry of chains that are included in Superchain governance. The recursive, parallelized nature of zk proofs would enable Superchain users to generate all of their delegations and total voting power across all chains in the Superchain in a single, inexpensive proof and use it to participate in governance on OP Mainnet. This solution is exciting because, unlike other possible implementations, it doesn’t require users to manage their voting power across many chains, and because it would scale well from a cost perspective as more chains and more users are added to the Superchain over time. The zero knowledge proof is generated offchain and would not require any additional infrastructure to be deployed across various member chains. Additionally, the system can accommodate tokens that are locked in smart contracts and tokens that may require different interfaces due to bridge differences. We plan to use the remainder of Season 4 of Optimism Governance to ensure our solution is technically viable and to write up a detailed potential implementation. In the meantime, I put together a summary of each approach (message passing, storage proofs, zero knowledge proofs), including documentation that provides an idea of how each implementation would work. Zero Knowledge Proofs Solution Summary: Zero Knowledge proofs using systems such as RISC Zero, Axiom or 0 ( 1 ) labs allows us to create a simple, intuitive system for voting. Proofs are generated off chain and submitted as part of the voting process. Proofs can accommodate power users with many delegations, tokens on different chains, and tokens locked in smart contracts with minimal UX overhead. Challenges Newer tech means at this time proofs may require hours to generate for power users Protocol logic needs to be written in Rust or zk specific languages Advantages UX enables delegates to generate a proof of voting power in one transaction. Costs scale as Superchain grows Technology is practical today Proof generation costs are competitive and expected to continue to decrease. Proof generation costs can be covered by the DAO rather than the user. Smart contract proving gas costs are constant, and lower than direct smart contract voting. Tech is aligned with possible/probable technical development theme of OP Stack Adds value to Optimism Collective and Superchain by empowering Optimism Collective to maintain registry of chains that are included in proofs Example implementations https://github.com/risc 0 /risc 0 /tree/main/bonsai/examples/governance Axiom demo pending Storage proofs Solution summary: Users submit a proof of their voting power across every Superchain chain to OP Mainnet, then vote on OP Mainnet with Challenges Requires power users to submit many proofs, which is potentially quite costly from both a monetary and time-required perspective. Is exposed to denial of service griefing vector from delegating to a user an unlimited number of times with trivially small token amounts Creates confused UX around delegation: Is a user A delegating to user B on network Alpha, also delegating to user B on network Beta? How does user A update their delegation? Example implementations GitHub - withtally/rollcall: Cross chain governance libraries for rollups Message passing Solution summary: Users vote on every chain locally via a local Governor. There is an outcome on that Governor, then that outcome is sent to OP Mainnet via a crosschain bridge. Challenges Requires power users to vote on every chain where they have tokens, which is potentially quite costly from both a monetary and time-required perspective. Requires each member chain to support voting infrastructure Imposes potentially complex coordination challenges around execution and bridging of outcomes Example implementations Wormhole ERC 20 Votes token bridging implementation · ScopeLift/l 2 -flexible-voting@ 37151 db · GitHub Interchain DAO with Hyperlane. Currently, token holders over in L 1 are… | by Arman Aurobindo | Jul, 2023 | Medium 1 Please don’t hesitate to reach out if you have feedback or would like to contribute to this Mission Proposal. Cheers!
Likes: 1
Replies: 0
No replies yet.
-
[FINAL] Superchain Governance Deep Dive
by Frisson - No Role
Posted on: Aug. 25, 2023, 7:57 p.m.
Content: Hi Optimism Collective, I’m back again with a midway check in for our Superchain Governance Deep Dive Mission Proposal!
We’ve identified three viable implementations of Superchain governance: message passing, storage proofs, and zero knowledge proofs. We believe implementing Superchain governance via zero knowledge proofs is the most promising implementation, because it scales well to a future where the Superchain includes millions of users across thousands of chains.
We envision a zero knowledge proof-based solution that relies on the Optimism Collective to maintain a registry of chains that are included in Superchain governance. The recursive, parallelized nature of zk proofs would enable Superchain users to generate all of their delegations and total voting power across all chains in the Superchain in a single, inexpensive proof and use it to participate in governance on OP Mainnet. This solution is exciting because, unlike other possible implementations, it doesn’t require users to manage their voting power across many chains, and because it would scale well from a cost perspective as more chains and more users are added to the Superchain over time. The zero knowledge proof is generated offchain and would not require any additional infrastructure to be deployed across various member chains. Additionally, the system can accommodate tokens that are locked in smart contracts and tokens that may require different interfaces due to bridge differences.
We plan to use the remainder of Season 4 of Optimism Governance to ensure our solution is technically viable and to write up a detailed potential implementation. In the meantime, I put together a summary of each approach (message passing, storage proofs, zero knowledge proofs), including documentation that provides an idea of how each implementation would work.
Zero Knowledge Proofs
Solution Summary: Zero Knowledge proofs using systems such as RISC Zero, Axiom or 0 ( 1 ) labs allows us to create a simple, intuitive system for voting. Proofs are generated off chain and submitted as part of the voting process. Proofs can accommodate power users with many delegations, tokens on different chains, and tokens locked in smart contracts with minimal UX overhead.
Challenges
Newer tech means at this time proofs may require hours to generate for power users
Protocol logic needs to be written in Rust or zk specific languages
Advantages
UX enables delegates to generate a proof of voting power in one transaction.
Costs scale as Superchain grows
Technology is practical today
Proof generation costs are competitive and expected to continue to decrease.
Proof generation costs can be covered by the DAO rather than the user.
Smart contract proving gas costs are constant, and lower than direct smart contract voting.
Tech is aligned with possible/probable technical development theme of OP Stack
Adds value to Optimism Collective and Superchain by empowering Optimism Collective to maintain registry of chains that are included in proofs
Example implementations
https://github.com/risc 0 /risc 0 /tree/main/bonsai/examples/governance 1
Axiom demo pending
Storage proofs
Solution summary: Users submit a proof of their voting power across every Superchain chain to OP Mainnet, then vote on OP Mainnet with
Challenges
Requires power users to submit many proofs, which is potentially quite costly from both a monetary and time-required perspective.
Is exposed to denial of service griefing vector from delegating to a user an unlimited number of times with trivially small token amounts
Creates confused UX around delegation: Is a user A delegating to user B on network Alpha, also delegating to user B on network Beta? How does user A update their delegation?
Example implementations
GitHub - withtally/rollcall: Cross chain governance libraries for rollups
Message passing
Solution summary: Users vote on every chain locally via a local Governor. There is an outcome on that Governor, then that outcome is sent to OP Mainnet via a crosschain bridge.
Challenges
Requires power users to vote on every chain where they have tokens, which is potentially quite costly from both a monetary and time-required perspective.
Requires each member chain to support voting infrastructure
Imposes potentially complex coordination challenges around execution and bridging of outcomes
Example implementations
Wormhole ERC 20 Votes token bridging implementation · ScopeLift/l 2 -flexible-voting@ 37151 db · GitHub 1
Interchain DAO with Hyperlane. Currently, token holders over in L 1 are… | by Arman Aurobindo | Jul, 2023 | Medium 1
Please don’t hesitate to reach out if you have feedback or would like to contribute to this Mission Proposal. Cheers!
Likes: 1
Replies: 0
No replies yet.
-
[FINAL] Superchain Governance Deep Dive
by Frisson - No Role
Posted on: Aug. 8, 2023, 10:54 p.m.
Content: We have a midway check in scheduled for this Mission Proposal on August 15 th in which we plan to share learnings and share an update on the technical direction we are likely to pursue for our recommended technical implementation of Superchain governance. We are moving this midway check in from August 15 th to August 25 th to optimize for a more substantive update, while still giving ourselves plenty of time to incorporate community feedback and deliver the critical milestone by September 20 th. Also, just a reminder to shoot me a dm or schedule time on my calendar if you’d like to contribute to our recommendation. Cheers!
Likes: 1
Replies: 0
No replies yet.
-
[FINAL] Superchain Governance Deep Dive
by Frisson - No Role
Posted on: Aug. 8, 2023, 6:54 p.m.
Content: We have a midway check in scheduled for this Mission Proposal on August 15 th in which we plan to share learnings and share an update on the technical direction we are likely to pursue for our recommended technical implementation of Superchain governance.
We are moving this midway check in from August 15 th to August 25 th to optimize for a more substantive update, while still giving ourselves plenty of time to incorporate community feedback and deliver the critical milestone by September 20 th.
Also, just a reminder to shoot me a dm or schedule time on my calendar if you’d like to contribute to our recommendation. Cheers!
Likes: 1
Replies: 0
No replies yet.
-
[FINAL] Superchain Governance Deep Dive
by Frisson - No Role
Posted on: Aug. 1, 2023, 10:41 p.m.
Content: Work has commenced on this Mission Proposal. We’ll post updates on this thread as we make progress towards our critical milestone. In the meantime, I’d like to take the opportunity to call for contributors from the Optimism Collective! If you’re interested in contributing to our recommendation on the most promising technical implementation of Superchain decentralized governance, please shoot me a dm or book time directly on my calendar here: Calendly - Frisson 1 Looking forward to connecting!
Likes: 4
Replies: 0
No replies yet.
-
[FINAL] Superchain Governance Deep Dive
by Frisson - No Role
Posted on: Aug. 1, 2023, 6:41 p.m.
Content: Work has commenced on this Mission Proposal. We’ll post updates on this thread as we make progress towards our critical milestone.
In the meantime, I’d like to take the opportunity to call for contributors from the Optimism Collective! If you’re interested in contributing to our recommendation on the most promising technical implementation of Superchain decentralized governance, please shoot me a dm or book time directly on my calendar here: Calendly - Frisson 1
Looking forward to connecting!
Likes: 4
Replies: 0
No replies yet.