Lido aims to have as widely usable liquid staking assets as possible. L2s are the obvious activity magnets, so it just makes sense to have Lido tokens available across rapidly developing L2 ecosystems. While the best case would be allowing ETH staking from L2s, the first step is to allow tokens bridging. The post adds tech details upon the recent Lido on L2 announcement.
- Pick Arbitrum & Optimism as first L2s to bridge Lido tokens to.
- Allow wstETH bridging, as bridges can’t work with stETH rebases out of the box.
- Use upgradable setup to allow building L2-ETH staking in future.
- Use Governance Decision Bridging smart contract to execute on L2 gov decisions made on L1 (and not lean on multisig for those).
- Bridging contracts are audited & deployed with L1 deposits paused.
- To ease up operations, dev team multisig has the role necessary to enable L1 deposits. The proposed launch process is:
- Running Snapshot vote on enabling the wstETH bridging.
- Enabling the L1 deposits on L1 wstETH bridging contracts with dev team multisig.
- Renouncing the “L1 deposits enabler” role from dev team multisig.
- Run all the checks necessary.
- On green mark from the checks — it’s launched.
- After 6) all admin rights on both L1 & L2 bridging parts belong to Aragon Agent contract.
- Waiting for the audit on Governance Decision Bridging contracts to get published so the Snapshot vote on enabling wstETH bridging to L2s can be started.
- Emergency Brakes multisigs on L1 & L2s have rights necessary for disabling deposits & withdrawals in case of the emergency.
- Once staking design is available in the future, upgrade contract implementations on L1 & L2s; potentially ossify proxies.
Lido has picked two of the most popular L2 networks for the first launches – Arbitrum and Optimism. They have been picked based on many parameters, including DeFi activity, the TVL, technological difficulty of bridging assets, network security track records, and the presence of Lido’s longtime partners on the said networks.
The first step of L2 expansion is simply bridging Ethereum staking tokens on Arbitrum and Optimism, while carefully preserving the main properties of Lido’s yield-bearing tokens. Due to rebasing nature of stETH, bridging it to other networks adds a whole level of difficulty to the process, so it has been decided to go with the wrapped version of stETH, namely wstETH.
The custom bridging contracts for both Optimism and Arbitrum native bridges have been developed by Lido dev team. As usually, the code has been submitted for audit and considered safe after all the required fixes have been applied. You can find the audit report here.
The smart contracts have been recently deployed, all the contract addressed are now listed on Lido docs hub.
Both bridges are owned by Lido DAO on L1 (by the Aragon Agent app to be precise). This means, no actions can be performed on bridges without explicit Lido DAO approval (beside pausing the bridges, find details below).
Just like the L1 part of the setup, the L2 one is also designed to be upgradeable. Initially, we’ve planned for having governance multi-sigs to perform future upgrades, but in the end we found out our partners from the AAVE team have already solved this very issue with their AAVE Governance Cross-Chain bridges. This solution allows for trustless execution arbitrary actions on L2s after governance approval on Ethereum. Smart contracts developed by AAVE are currently under the audit by ChainSecurity. The code had been reviewed & deployed by our team with no changes:
- on Arbitrum:
- on Optimism
For security, Emergency Brakes multi-sigs have been set up on Ethereum Mainnet, Optimism and Arbitrum, following the proposal and the passed snapshot voting.
The only lever available to these multi-sigs is pause deposits/withdrawals on the respective network. However, only the Aragon Agent is capable of resuming bridge operations.
The multi-sig addresses on each network are:
On every network multi-sig composition is 3/5 of
@psirex with address
@vsh with address
@kadmil with address
@ujenjt with address
@folkyatina with address
Both Arbitrum and Optimism bridges have been deployed in the ‘paused’ state, which means deposits and withdrawals are disabled at the moment.
We’re looking to enabling bridging, so we will be starting the snapshot vote on the matter once the public audit for the Governance Bridging contracts is available.
Please note, that upon deployment the Lido dev team multi-sig has role to unpause deposits on L1 side.
If the snapshot passes, the dev team multi-sig will enable bridging & renounce admin role on the bridge contracts.