Decentralizing Rollups: Announcing the Espresso Sequencer
At Espresso Systems, we are building the tools and infrastructure to bring Web3 applications mainstream, taking on challenges from privacy to performance. Over the last year, we have been excited to witness and contribute to the development of layer-2 (L2) rollups that promise to bring higher throughput and lower fees to Ethereum. Today we are introducing our plans to further Ethereum scaling efforts and we are unveiling our first milestone in this direction. For the last several months, we have been developing the Espresso Sequencer, a system designed to decentralize rollups without compromising the scale and speed users require. Web2 performance with Web3 security.
Rollups consist of several distinct system components: a virtual machine (VM), a sequencer, a proving system (for zk-VMs), and a rollup contract on the L1 (e.g., Ethereum). The sequencer component is responsible for ordering submitted transactions (i.e., instructions) to the VM, while the proving system executes these transactions and generates a proof of the resulting VM state transition. The rollup contract ultimately registers the state transition and verifies the proof.
An external sequencer is not always necessary. Instead, the contract itself could also be utilized for ordering transactions. The benefit here is that users only need to trust the L1 for liveness. However, in this case, the rollup system would only alleviate computational bottlenecks of the L1. Its throughput would still be limited by the data sequencing rate of the L1. Furthermore, users would experience the same transaction confirmation delays as on the L1.
Introducing an external sequencer promises higher throughput and faster confirmation of transactions. In this scenario, users can choose to either trust the sequencer for finality or wait longer for ultimate confirmation from the L1, perhaps depending on their risk tolerance for a given transaction (e.g., selling a $1 coffee versus a $1 million home).
Separately, the amount of data the L1 contract processes and stores can also be reduced by registering only a cryptographic commitment to the transaction log and state. The rollup proof attests to the correctness of this commitment, while an additional rollup system component is relied upon for the availability of the committed data.
While beneficial for performance, the introduction of external sequencer and data availability components is precisely where rollups lose their decentralization. The challenge lies in designing these components to provide fast finality and high throughput while maintaining decentralization.
The Espresso Sequencer supports the decentralization of L2s. It handles the decentralized sequencing and data availability of rollup transactions, functioning as middleware between rollups and their underlying layer-1 (L1) platforms. The Espresso Sequencer is designed as a platform upon which any zk-VM or optimistic VM can be deployed. Ultimately, Espresso may also serve as an interoperability layer by replicating zk-VMs and optimistic VMs to multiple L1s simultaneously.
We share more about the current designs and implementations of the Espresso Sequencer in our posts about HotShot, the Espresso consensus protocol, and about Americano, the first Espresso testnet. Read on, check out the code we’ve shared, and find us for more on Twitter and Discord.