Scroll: The Low-Key Challenger of zkEVM Competition
Author: Blockworks Research, Westie
Compiled by: Deep Tide TechFlow
Given the popularity of EVM among developers, there has been a desire to combine the scalability of zk Rollup technology with the developer experience of EVM. This has led to an arms race of zkEVM systems, with the main players being Scroll, zkSync, and Polygon, while Scroll has remained relatively low-key compared to the other two.
Due to the limitations of EVM, zkEVM faces necessary trade-offs between compatibility/equivalence and performance. Vitalik Buterin outlined a ranking from 1 to 4 to help clarify the distinctions between various zkEVM design choices:
Scroll is positioned in the middle of this trade-off: they are building a zkEVM of 2.5.
This means they are equivalent to EVM, with only very minor changes to the Gas cost structure.
What Makes Scroll Unique
By maintaining EVM equivalence, builders can directly migrate their applications from Ethereum L1 to Scroll without any modifications to their code. They are also fully open-source, allowing anyone to use and verify their code.
Scroll also uses a fork of Geth for their sequencer, inheriting a battle-tested system while achieving optimal compatibility with Ethereum.
This also means they can easily apply any new upgrades to Geth; other zkEVMs may require increased code complexity to implement upgrades.
Scroll's Architecture
Scroll's architecture consists of three main components: Scroll Node, Roller Network, and Validation Bridge.
The purpose of the Scroll Node is to build blocks from user transactions and submit them to L1, as well as to receive messages from L1.
The three main components of the Scroll Node are the sequencer, coordinator, and relayer.
The sequencer receives a batch of transactions from the L2 mempool and executes them to generate a new L2 block.
The execution trace of this block is then sent to the coordinator, which passes it to a randomly selected Roller to generate a proof.
The relayer monitors the status of L2 blocks, their data availability, and validity proofs from the rollup contract, as well as deposit and withdrawal events from the bridging contract, to ensure everything can be verified.
The Roller Network is responsible for generating validity proofs. The Roller Network will receive the execution trace from the coordinator, send it to seven different proof circuits, aggregate it into a final circuit, and send the final block proof back to the coordinator.
The validation bridge consists of two contracts: the Rollup contract and the cross-chain bridge contract.
The cross-chain bridge contract handles messages sent between L1 and L2, including bridging transactions for ERC-20 Tokens.
The Rollup contract receives and stores state roots and block data as Ethereum state and calldata. Once a block proof is validated by the Rollup contract, that block is considered finalized.
Overall, after the sequencer creates a sequence of blocks and generates their proofs, multiple block proofs are aggregated into a single proof and sent to the Rollup contract via the coordinator, where the blocks are validated and finalized.
Roadmap
For the past three months, Scroll has been in a Pre-Alpha testing phase, including permissioned smart contract deployments and whitelisted user access.
The next phase will be the Alpha testnet, where they will allow permissionless smart contract deployments, accessible to anyone.
Scroll's mainnet will launch in two phases.
The first phase will operate with a centralized sequencer and decentralized provers;
The primary goal of the second phase is to decentralize the sequencer.
While the second phase is still under active research, the current plan will include a PBS model for MEV extraction, an on-chain challenge mechanism, and a sequencer committee to allow for finality before transactions are completed on Ethereum L1.