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
- Supporting scripts are under review in Lido git
- Acceptance Tests
Testnet
Ethereum Goerli
- DAO Agent on L1: 0x4333218072D5d7008546737786663c38B4D561A4
- wstETH on L1: 0x6320cd32aa674d2898a68ec82e869385fc5f7e2f
- L1 Token Bridge (dedicated wstETH test instance): 0xaa012d038e6440535ec66edf2da592f4f8398133
Linea Goerli
- LineaBridgeExecutor: 0x4b38d24e70079f2dd1d79b86e2b52f4b13872a3b
- ProxyAdmin for wstETH : 0x71062fbc3da2d792285c3d5dabba12a42339e85c
- wstETH (for testing): 0x9ceed01e39279a529f44deb9d35e09a04b1e67c8
- L2 Token Bridge (dedicated wstETH test instance): 0xB191E3d98074f92584E5205B99c3F17fB2068927
Mainnet
Ethereum
- DAO Agent on L1: 0x3e40D73EB977Dc6a537aF587D48316feE66E9C8c
- wstETH on L1: 0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0
- L1 Token Bridge (Canonical Bridge): 0x051f1d88f0af5763fb888ec4378b4d8b29ea3319
Linea
- LineaBridgeExecutor: 0x74Be82F00CC867614803ffd7f36A2a4aF0405670
- ProxyAdmin for wstETH: 0xF951d7592e03eDB0Bab3D533935e678Ce64Eb927
- wstETH on L2: 0xB5beDd42000b71FddE22D3eE8a79Bd49A568fC8F
- L2 Token Bridge (Canonical Bridge): 0x353012dc4a9a6cf55c941badc267f82004a8ceb9
Levers setup (provided by NEW)
- or the
Linea Bridge Executor
getEthereumGovernanceExecutor
is theLido DAO Agent
- A bridge admin and
owner
on L1 is theLinea Security Council
- proxy admin for L1 TokenBridge
owner
for L1 TokenBridge
- A bridge admin and
owner
on L2 is theLinea Security Council
- Proxy admin for L2 TokenBridge
owner
for L2 TokenBridge
- For the proposed wstETH token on L2 (CustomBridgedToken)
- Currently, the
Linea Security Council
is the proxy admin. The plan is to transition this role to theLinea Bridge Executor
upon snapshot approval, leveraging a newly deployedProxyAdmin
instance.
- Currently, the
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
- Linea Website
- Linea Block Explorer
- Linea Docs
- Linea Mirror
- Consensys: R&D
- Consensys R&D Gnark Library
- Vortex: Building a Lattice-based SNARK scheme…
- Ethresearch.ch - A ZK-EVM specification
- Vitalik - A rollup-centric Ethereum roadmap
Update Log
- 23/11/23 - Updated the mainnet contract links from the Linea Message service contracts to the appropriate bridge contracts.
- 03/12/23 - Updated the links for deployed contracts on Linea mainnet (“LineaBridgeExecutor”, " ProxyAdmin"). Ownership of the ProxyAdmin has been given to the LineaBridgeExecutor.
- 05/12/23 - Updated Contract audit links to appropriate audit commits.
- 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. - 06/12/23 - Updated the corrected Audit report final commit and added Levers set up provided by NEW