wstETH on Linea: Ownership Acceptance by Lido DAO

Point of Contact:

Arthur Remy - Linea, Product Manager
Cam O’Donnell - @0xCam - Linea, Product Growth Manager

This proposal is not considered completed and will be transparently updated as Linea works with contributors through testing and mainnet deployment.


Intro

Linea, a zkEVM developed by Consensys, submits this proposal to seek Lido DAO’s formal recognition of the deployed wstETH token as canonical on Linea and to request the DAO’s acceptance of ownership for the Lido-specific bridge contracts. This proposal is written in accordance with the Network Expansion Workgroup’s unofficial guidelines for bridging solutions.

Background & Rationale

About Linea

Linea results from more than 20 months of R&D by Consensys’s seasoned research team, known for their contributions to the zk space and active participation in the Merge. The network offers EVM equivalence, scalability, and reduced transaction costs while maintaining Ethereum’s security guarantees through Zero-Knowledge Proofs.

Linea has seen consistent growth in TVL, reaching ~$140M on the network per L2Beat, and ~$33M in tracked protocols, according to DeFiLlama. This growth over 3.5 months signals an expanding ecosystem, further bolstered by ongoing activations and integrations with Consensys products. Notably, with Linea being a primary network in MetaMask and Consensys as one of Lido’s 36 infrastructure providers, we are uniquely positioned to explore synergistic integrations across Linea, Consensys products, and Lido.

The proposed integration of wstETH into Linea aims to capitalize on this momentum, enhancing user experience through canonical issuance and, in turn, driving greater adoption and utility of wstETH on Linea.

wstETH Demand

stETH has become a cornerstone asset in the Ethereum ecosystem, boasting a market capitalization of $17B and over 250,000 holders. Acknowledging its essential role and the growing demand throughout the Ethereum community, its introduction into a new platform is strategically targeted to benefit stETH holders, particularly in the Layer 2 space. As a key asset, wstETH plays a vital role in DeFi activities across network segments.

Technical Implementation

Timeline

The following key dates are targeted for this deployment.

Testnet Deployment

  • Completed: November 10, 2023
  • Contracts: Please see the Contract section

Mainnet Deployment

  • Completed: November 30, 2023
  • Contracts: Please see the Contract section

Governance Proposal

  • Target Date: December 8-9, 2023
  • LeversSetUp: Please see the Levers section

Design

Consensys, in collaboration with the Lido Network Expansion Workgroup, worked on deploying Lido-specific bridge components. These contracts facilitate the canonical bridging of wstETH, effectively connecting wstETH on Ethereum and Linea through Linea’s Canonical Bridge. This initiative involved a comprehensive analysis of existing contracts, consultation with subject matter experts, and using proven cross-chain governance contracts. The goal was to deploy while having the ability to enable Lido to accept control of the bridge token and its upgradability path.

Shortly after launch, the Linea core team deployed a bridge upgradable wstETH token that complies with the ERC-20 standard, including a permit extension as per ERC-2612. This approach aimed to prevent token fragmentation while ensuring compliance with Lido DAO standards. The token representation has already integrated into the ecosystem with more than 600 wstETH across >150 unique holders. To prevent cumbersome token and liquidity migrations, we propose that the best way forward is to reuse the compliant architecture as much as possible. When completing the governance process, we aim to call the ‘changeProxyAdmin” function on the tokens ProxyAdmin contract to transition control to the new ProxyAdmin contract on Linea under DAO control.

In establishing a benchmark for cross-chain governance, our team implemented the LineaBridgeExecutor — a fork of the AAVE cross-chain governance bridge and in line with the precedent set on other deployments. A critical function of the LineaBridgeExecutor is to authenticate and validate cross-chain transactions, upholding the decisions ratified by Lido’s Onchain Governance. The Lido Agent will send messages directly to the Network’s Canonical Bridge (Linea Messaging Service), delivering the message to the LineaBridgeExecutor.

*** The LineaBridge Executor has been audited; please see the Audits section

Ownership

Contracts Contract Type Current Admin Proposed Admin
LineaBridgeExecutor Lido Component - DAO Agent L1
ProxyAdmin (wstETH) Lido Component - LineaBridgeExecutor
wstETH Token (L2 - canonical bridge instance) Global ProxyAdmin (bridge instance) ProxyAdmin (Lido DAO instance)
Linea Canonical bridge Global Linea Security Council Linea Security Council

Lido Specific Contracts – The owner of Lido bridge components at deployment will be the Linea canonical bridge instance, controlled by the Linea Security Council, which will ensure the contracts initial deployment. However, if the DAO proposal passes, the ownership of these components will be transferred to the DAO.

Linea Canonical Bridge – The Linea Canonical Bridge ownership will remain with the Linea Security Council. Currently, the Linea Security Council has 8 internal nonrelated parties. Additionally, it is important to note that the bridge instance can be changed as the token and solution architecture allow it.

Emergency Handling

The Linea Security Council holds the authority to pause operations of the entire bridge infrastructure in response to emergencies. Although this is not targeted at wstETH, it serves as a safeguard, ensuring the integrity and security of the network and related infrastructure. Currently, the Linea Security Council is made up of 8 internal nonrelated parties with a signature set ranging from 2-6 signers depending on the action. Linea is working to decentralize the Security Council further and expects updates in the first half of 2024.

About the Linea Canonical Bridge

At the core of Linea’s Canonical Bridge is the Linea Message Service, a set of smart contracts to facilitate data transfer between Linea and Ethereum. This service is not limited to Linea’s core functionality but is a general-purpose, public infrastructure that developers can use. Building on the Linea Message Service, is the Token bridge, a standard lock and mint design, allowing for the transfer of assets from L1<>L2. The Linea Security Council oversees all Linea core contracts.

The bridge includes an additional layer of logic that verifies the validity of messages. Specifically, when a message is sent from Ethereum to Linea, the Linea smart contract checks the message against a list of messages sent on the Ethereum side. Only after verifying its existence on the L1 does it accept the message as valid. The risk of fraudulent messages is minimized.

*** All aspects of the canonical bridge are audited; please see the Audits section

Audits

We have engaged with leading security firms to conduct thorough audits on all aspects of Linea, relevant to this proposal, our bridging infrastructure. In October 2023, Consensys Diligence completed an audit of the LineaBridgeExecutor. Consensys Diligence and OpenZeppelin provided comprehensive audits of the Canonical Token Bridge in October 2023 and June 2023, respectively. Any critical issues are remediated.

Audit Firm Date Contracts Commit
Diligence December 2023 Custom Bridged Token Link
OpenZeppelin October 2023 Canonical Token Bridge Link
Diligence October 2023 LineaBridgeExecutor Link
DIligence June 2023 Canonical Token Bridge Link
Diligence June 2023 Linea Message Service Link
Mixed - All other audits

Contracts

Testnet

Ethereum Goerli

Linea Goerli

Mainnet

Ethereum

Linea

Levers setup (provided by NEW)

Next Steps

Following the submission of this proposal, as we continue to update details of the deployment, we invite the community to engage in review and provide feedback. When applicable, We also ask core contributors to evaluate the details presented, representing the interests of the Lido DAO. We are committed to transparency throughout this phase and look forward to discussion.

Additional Links

Update Log

  1. 23/11/23 - Updated the mainnet contract links from the Linea Message service contracts to the appropriate bridge contracts.
  2. 03/12/23 - Updated the links for deployed contracts on Linea mainnet (“LineaBridgeExecutor”, " ProxyAdmin"). Ownership of the ProxyAdmin has been given to the LineaBridgeExecutor.
  3. 05/12/23 - Updated Contract audit links to appropriate audit commits.
  4. 05/12/23 - Updated expected vote date, as the linea core team engaged to obtain a more streamlined and corrected audit reporting for the Canonical Token Bridge contract.
  5. 06/12/23 - Updated the corrected Audit report final commit and added Levers set up provided by NEW
12 Likes

Hey, @0xCam

I personally consider this proposal favorably as it presents a forward-thinking approach to bridging wstETH to Linea:

  • the bridged token is upgradeable
  • governance decision forwarder introduced
  • the TokenBridge instance has the flexibility of replacement in the future if required to pass additional data and/or implement additional logic (hope to share more updates till EOY on the path forward for network expansion forthcoming product-wise proposals)

Currently, both NEW contributors and the MixBytes team are engaged in the evaluation and verification process. I’ll share more updates in this thread as they become available.

4 Likes

MixBytes team was engaged and has verified wstETH deployment on Linea. Three security researchers checked the presented information according to the internal checklist. The results are as follows:

  • Linea rollup fully supports all EVM opcodes as they are, but state transition proof generation is carried out via a private circuit, which currently does not support all EVM features. That is okay for now, as proof verification is permissioned, but the Linea team should address it in the future.

  • Linea decided to use a general-purpose bridge to transfer wstETH, bringing additional complexity to the bridge’s architecture and implementation. Lido DAO will need to update wstETH on L2 to pause bridging tokens from L2 to L1 (there is no way that Lido DAO can pause bridging from L1 to L2). Bridge architecture allows users to move wstETH from L1 to L2 and back safely, according to several audit reports received by the Linea team, but Lido DAO will not have full control over wstETH in this design.

  • Deployed contracts match the audited scope. Most of the findings from the audit reports are fixed, but it is possible to cause DoS in TokenBridge which can be fixed by updating the limit parameter by Linea team.

  • The audit report for the TokenBridge contract doesn’t have clear information about the commit with all fixes verified by OpenZeppelin.

  • All contracts were correctly deployed and initialized. ProxyAdmin contains unnecessary contracts in the verification section.

  • ProxyAdmin for wstETH on L2 is set to this address but should be set to the address (Linea team should update it after successful proposal passing)

4 Likes

The tech wing representatives of the NEW (@TheDZhon and @arwer13) have evaluated the proposal and the artifacts presented, leading to the following observations:

  • The proposed contracts utilize Linea’s canonical native bridge instance. This architecture, distinct from the usual custom token gateways used for wstETH on L2, involves using a shared bridge instance managed by Linea. Importantly, the token’s upgradeability is maintained, with the token proxy admin being separate from the bridge admin instance. This approach aligns with the unofficial guidelines presented by NEW and is future-ready for wstETH. However, it may introduce added complexity in implementing specific Lido protocol mechanisms in the future (e.g., integrating wstETH/stETH in-protocol rate or introducing a canonical rebasable stETH token representation on Layer 2).
  • The deployment preserves the integrity with the audits presented (source code, and bytecode wise, with no critical issues left unresolved, and only a single HIGH finding acknowledged having a tolerable impact on the wstETH token bridge accessibility), the following commit #0949c409 was referenced for deployment checks; as suggested by @DZahar0v, it’s advisable to ensure this commit is included in the audit report by OZ.
  • All configurations and parameters look appropriate and meet expectations
  • The levers and proxy admins are prepared to transfer the ownership of the wstETH token contract to the Lido DAO, contingent on successful snapshot approval.

ACL and levers setup:

  • No dedicated emergency breaks msig are allocated or assigned with this proposal

We would propose the Lido DAO accepting the wstETH token deployment on Linea as a canonical one supporting the Ethereum ecosystem scaling endeavor.

4 Likes

Happy to announce that the Snapshot Should the Lido DAO recognize the wstETH Bridge Endpoints on Linea as canonical? has started!
Please cast your votes before Thu, 14 Dec 2023 16:00:00 GMT

2 Likes

Snapshot vote ended

The Should the Lido DAO recognize the wstETH Bridge Endpoints on Linea as canonical? Snapshot hadn’t reached a quorum. :pensive:
The results are:
Recognize: 47.3M LDO
Don’t recognize: 34.8k LDO

Snapshot vote started

The [rerun] Should the Lido DAO recognize the wstETH Bridge Endpoints on Linea as canonical? Snapshot has started! Please cast your votes before Mon, 25 Dec 2023 16:00:00 GMT :pray:

Snapshot vote ended

The [rerun] Should the Lido DAO recognize the wstETH Bridge Endpoints on Linea as canonical? Snapshot vote concluded!
The results are:
Recognize: 51.4M LDO
Don’t recognize: 91 LDO

2 Likes