wstETH Deployment on Scroll

Point of Contact:
Shahryar Hasnani - Scroll, Partnerships Manager

1. Introduction

Scroll proposes the deployment of wstETH (Wrapped staked ETH) to Scroll, with the ultimate goal being recognition of wstETH bridge endpoints as canonical by the Lido DAO.

2. Scroll’s Rapid Growth and Ecosystem

Scroll is an EVM-equivalent ZK-Rollup built upon Ethereum, designed for scaling without sacrificing security, developer, or user experience:

  • EVM Equivalence & Developer Friendliness: Scroll is bytecode-compatible and builds upon Geth, enabling seamless migration of infrastructure and will support all existing development tools, including debuggers. Developers can work with a familiar development environment. No bytecode re-audits are required, minimizing the risk surface tremendously.
  • Ethereum-native & Community first: Scroll originated in close collaboration with the Ethereum Foundation’s zkEVM research within the PSE (Privacy and Scaling Explorations) group—in fact, our team has contributed ~50% of the upstream PSE zkEVM codebase over the past 2 years! Scroll has been open source & peer reviewed since day one, our testnet has been permissionless since its inception, and we continuously publish research in an effort to demystify the inner works of zk circuits and cryptography.
  • Decentralization & Security: Scroll has continually made upgrades across testnets to make it more trustless, and is committed to decentralizing both its sequencing and proving. In addition, Scroll has a strong in-house security team that found and reported bugs in fellow ZK-Rollup’s proving systems in the past. In addition, Scroll has a $1M Immunefi bug bounty and has audits from OpenZeppelin, Trail of Bits, Zellic, and Kalos.

ZK-Rollups are widely considered to be the Holy Grail of Ethereum scaling. Scroll’s vision is to build a fully EVM-compatible ZK-Rollup that any existing Ethereum application can easily migrate to. Scroll launched mainnet on October 17th, 2023, and since then, we’ve had significant traction, seeing:

  • ~70M bridged TVL / ~30M DeFi TVL
  • 16M+ transactions (averaging over 100k+ tx/day)
  • 3M unique wallet addresses

In addition, between our Alpha (Goerli) and Beta (Sepolia) Testnets, we’ve ~60M transactions, 10M wallet addresses, and 7M blocks produced. We’ve also seen 150+ projects deployed on Scroll, ranging from established DeFi protocols to brand-new Scroll-native applications.

3. High Demand for wstETH

Lido’s stETH (and wstETH) is a critical asset in the Ethereum ecosystem with a significant market capitalization, and has emerged as a crucial component in DeFi applications. Naturally, a wide variety of protocols on Scroll—both established and native—have already indicated significant demand for wstETH across various use cases. Examples of this include wstETH’s usage as collateral, in lending protocols, DEX pools, vaults, yield optimizers / farming, indexes, LST-backed stablecoins, etc.

Furthermore, already more than 3700 wstETH tokens have minted on Scroll, with over 7000 unique holders. There has been steady, organic growth of the asset with clear demand since Scroll’s mainnet launch.

4. Implementation

Scroll has already implemented the canonical wstETH L1 and L2 Gateways, and has concluded its audit. The design uses the architecture of wstETH on Optimism and Arbitrum and governance forwarder used on multiple L2s as reference. Moreover, the path forward is upgrading in response to reference architecture and governance decision-forwarding demand, not redeploying the token from scratch, significantly simplifying the necessary next steps. Further details below:

  • Governance Forwarding
  • Emergency Brakes: The upgrade architecture allows emergency pause functionality for wstETH deposits/withdrawals, activated using the established mechanism of Emergency Breaks.

5. Conclusion

In conclusion, this proposal seeks recognition of wstETH bridge endpoints as canonical by the Lido DAO; this will be a crucial step forward in enabling wstETH as a core asset in the Scroll ecosystem and encouraging new use cases for it on the network. Scroll itself will also work towards researching and developing new areas for wstETH utility, in an effort to increase the application, decentralization, and community support / adoption of wstETH.

Scroll Bridge and Rollup Contract Audits

Audits

Testnet Contracts

Core Protocol

Lido on L2

Ethereum component

Scroll component

We will follow up shortly in the comments with mainnet contracts and levers setup when it is completed.

9 Likes

Hey, @sherooberoo

Thank you for posting the proposal! It’s thrilling to see wstETH adoption happening on zk rollups and facing game-changing Dencun hardfork soon. Also, the mentioned organic growth of wstETH is quite surprising and promising.

It is charming to see that the testnet deployment on Sepolia has been conducted and fully corresponds to the expected parameters and the code covered with audits.


To approach the Mainnet upgrade deployment, I’d suggest a two-phased scheme presented here: wstETH on Scroll mainnet preparations - HackMD

Stage I (pre-Vote)

The first stage paves the way for both NEW and MixBytes() verification, and, as a result, a snapshot vote started as a part of the regularly maintained cadence

  1. Deploy new impls
    • new L1LidoGateway
    • new ScrollBridgeExecutor
    • new L2LidoGateway
    • new L2WstETHToken
  2. Bind the new impls
    • L1CustomERC20Gateway upgrade to L1LidoGateway
    • L2CustomERC20Gateway upgrade to L2LidoGateway
    • ScrollStandardERC20 upgrade to L2WstETHToken
  3. Assign the interim pre-vote ACL
    • L1LidoGateway owner and deposit enabler is DAO Agent
    • L1LidoGateway deposit pausers are DAO Agent and L1 emergency breaks
    • L2LidoGateway owner and deposit enabler is DAO Agent
    • L2LidoGateway deposit pausers are ScrollBridgeExecutor and L2 emergency breaks

Stage II (after the vote, if supported)

The second stage would consummate the DAO recognition process if the snapshot vote had been supported

  1. Assign the final post-vote ACL
    • L1LidoGateway proxy admin is DAO Agent
    • L2LidoGateway proxy admin is ScrollBridgeExecutor
    • L2WstETHToken proxy admin is ScrollBridgeExecutor
7 Likes

Hi @sherooberoo, thank you so much for the proposal!

We would love to support the deployment, as we’ve seen a lot of great progress made by the Scroll team both on Scroll itself and on research within PSE.

We are very much looking forward to the rise of the Scroll DeFi ecosystem, and we hope to discuss the deployment of appropriate incentives as progress is made.

4 Likes

The suggested pre-vote txes have been executed:

There will be a follow-up from the NEW members and MixBytes() with regards to the deployed setup review and assigned levers in a few days ahead.

2 Likes

Mainnet contracts listed here:

Emergency Brakes Multisigs
Ethereum part
Scroll part
2 Likes

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

  1. Scroll aims to build a fully compatible zkEVM that will have all the features and precompiles that the standard EVM version does. This allows protocols to deploy as is, using contracts that were developed for the Ethereum blockchain. The current zkEVM version that is used by Scroll differs only for these opcodes, but these opcodes don’t affect the scope.
  2. Bridge architecture is simple and allows transfers of wstETH and governance decisions only. The wstETH token on Scroll has an unnecessary callback, which brings additional possible risks to token integration in the future. Protocols that will integrate wstETH on Scroll should be aware of this callback.
  3. All deployed contracts fully match the audited ones. All contracts are deployed from EOA, so there is no risk of a changeable contract code.
  4. All contracts were correctly deployed and initialized.
  5. All roles for the contracts are set as expected. ProxyAdmin for the L1LidoGateway should be updated to this address; for the L2LidoGateway and L2WstETHToken ProxyAdmin should be updated to this address. Currently, ProxiAdmins are controlled by the Scroll team, but this should be changed in the second stage of the deployment.
3 Likes

A working group of the Lido on Ethereum protocol contributors (@arwer13, @TheDZhon) has evaluated the current proposal and ended up with the following:

  • The proposed contracts adhere to the established design of the wstETH token on Layer 2 solutions described in depth in the wstETH rollup bridging guide
  • The deployments are in full correspondence with the presented audit, source code, and bytecode wise, with no significant issues found
  • All configurations and parameters are relevant and meet expectations.
  • The access control list (ACL) configuration appears reasonable regarding the Lido DAO ownership and usage of the Emergency Breaks setup for both L1 and L2 counterparts .

NB: It’s suggested that the proxy admin instances be passed to the Lido DAO on condition of the successful snapshot vote run.


Pre-vote ACL and levers setup:

  • for ScrollBridgeExecuror

  • A bridge admin and role holder on L1 is the Lido DAO Agent

    • owner for L1LidoGateway
    • WITHDRAWALS_DISABLER_ROLE for L1LidoGateway
    • WITHDRAWALS_ENABLER_ROLE for L1LidoGateway
    • DEPOSITS_DISABLER_ROLE for L1LidoGateway
    • DEPOSITS_ENABLER_ROLE for L1LidoGateway
  • A bridge admin and role holder on L2 is the ScrollBridgeExecutor

    • owner for L2LidoGateway
    • WITHDRAWALS_DISABLER_ROLE for L2LidoGateway
    • WITHDRAWALS_ENABLER_ROLE for L2LidoGateway
    • DEPOSITS_DISABLER_ROLE for L2LidoGateway
    • DEPOSITS_ENABLER_ROLE for L2LidoGateway
  • Emergency breaks msig on L1 is 0x73b047fe6337183A454c5217241D780a932777bD , 3/5 threshold:

    • WITHDRAWALS_DISABLER_ROLE for L1LidoGateway
    • DEPOSITS_DISABLER_ROLE for L1LidoGateway
  • Emergency breaks msig on L2 is a new one 0xF580753E334687C0d6b88EF563a258f048384Ee6 inheriting the same EOAs as for L1, 3/5 threshold:

    • WITHDRAWALS_DISABLER_ROLE for L2LidoGateway
    • DEPOSITS_DISABLER_ROLE for L2LidoGateway

:next_track_button: Post-vote (if the vote is supported) finalizing actions from the Scroll side:


We suggest that Lido DAO take this proposal favorably, which would enhance the presence of wstETH in one of the most up-and-coming L2 solutions.

6 Likes

Snapshot vote started

Please get your wallets ready to cast a vote :white_check_mark:, the Should the Lido DAO recognize the wstETH Bridge Endpoints on Scroll as canonical? Snapshot has started! The Snapshots ends on Thu, 21 Mar 2024 16:00:00 GMT.

1 Like

Snapshot vote ended

Thank you all who participated in Should the Lido DAO recognize the wstETH Bridge Endpoints on Scroll as canonical? Snapshot, we reached a quorum! :pray:
The results are:
Recognize: 71.8M LDO
Don’t recognize: 0 LDO

2 Likes

Happy to confirm that the post-vote transactions have been executed:

Therefore, the levers setup is complete for those proxy admin entities:

3 Likes