We built EigenDA to help rollups scale, and thus help Ethereum scale. Rollups need somewhere decentralized, scalable, and secure to post transaction data so they can scale their systems to the next billion users. To achieve this mission we intend to make it as easy as possible for the next generation of rollups to deploy on Ethereum using EigenDA.
Many new rollup projects are choosing to build on top of Optimism's OP Stack, which allows them to quickly launch rollups using the same software that powers Optimism. Now that EigenDA is live on testnet, we're excited to open-source our fork of OP Stack with integrated EigenDA support.
Rollups that use this fork can support bigger L2 block sizes and cheaper DA costs, all without affecting finality times. The result will be negligible fees and fast confirms for the end user, all without relying on a trusted third party.
Overview of OP Stack
The OP Stack is a collection of software components that power Optimism, the flagship rollup of OP Labs, and which can be deployed independently to run third-party rollups. The components of OP Stack fall into three categories:
- L1 Contracts: Today, these contracts manage bridging to and from Ethereum. In the future, they will include logic to verify fraud proofs.
- Node Components: OP Stack nodes are responsible for scaling L2 reads and verifying that the sequencer is acting honestly. They scale L2 reads by independently deriving the L2 chain state from the DA layer and serving read traffic. In the future, they will be able to challenge a sequencer on-chain if their derived state root does not match the state root posted on-chain by the sequencer.
- Sequencer Components: The sequencer is a node that has two additional jobs: to post batches of transactions to DA, and to post state roots of executed transactions to Ethereum.
In our fork we made changes to the two parts of OP Stack that interact with DA.
The OP Stack batcher is the part of the sequencer responsible for posting batches of L2 transaction data to DA. We updated this component to write batches to EigenDA instead of Ethereum calldata. When a batch is successfully written to EigenDA, the EigenDA disperser returns a unique blob key, which can be used to later retrieve the data that was written. The batcher then posts this blob key to Ethereum calldata, so that Ethereum remains the source of truth for the L2 ordering of EigenDA blobs.
Importantly, the OP Stack x EigenDA fork supports writing each batch to multiple EigenDA quorums, enabling redundant security and mitigating data withholding attacks.
Node EigenDA Reads
OP Stack full nodes derive the L2 state from transaction data posted to DA. In a loop, they download L2 transaction batches from DA and execute them. To add EigenDA support, we modified the OP Stack node to seamlessly handle retrieving EigenDA blobs using blob keys indexed in the Ethereum calldata. This involves a set of scatter-gather requests to EigenDA Operators storing chunks of the blob requested. If the retrieval of the blob from one quorum fails, the next will be tried, until the blob is retrieved or there are no more quorums to try.
Ethereum DA Fallback
EigenDA is new software, and we don't expect protocols to trust it blindly. If, for whatever reason, EigenDA goes down, the sequencer is designed to gracefully fall back to using Ethereum calldata for DA again. On the other side, our OP Stack nodes are smart enough to differentiate between L2 batches and EigenDA blob keys when reading inbox calldata from Ethereum.
At the time of writing, OP Stack does not support fraud proofs, and neither does the EigenDA x OP Stack fork. When fraud proofs are enabled for OP Stack, we plan to update the contracts in OP Stack to support verifying the correctness and availability of L2 inbox data using KZG verification and calls to EigenDA contracts.
The integration of EigenDA with OP Stack is critical for scaling existing rollups and onboarding the next generation of users. With so many L2s building on the OP Stack today, Eigen Labs is excited to free them from the DA scaling constraints of Ethereum and build towards the vision of consistently cheap blockspace and fast confirms. Eigen Labs is committed to permissionless innovation, building alongside best-in-class projects, and supporting the most principled communities. Stay tuned for updates on the EigenDA x OP Stack Fork and other EigenDA rollup integrations.
- Review the EigenDA OP Stack Integration documentation for further technical explanation of the integration and instructions on how to setup the demo locally.
- Read through the code, available at: https://github.com/Layr-Labs/optimism
- To discuss how we can support and accelerate onboarding your OP Stack rollup to EigenDA, please reach out to our team via https://contact.eigenda.xyz/
- On X/Twitter, follow @eigen_da and @teddyknox for updates on the EigenDA x OP Stack Fork and other EigenDA rollup integrations.