OP Stack and EigenDA
OP Stack is the set of software components that run the Optimism rollup and can be deployed independently to power third-party roll-ups.
By default, OP Stack sequencers write batches to Ethereum in the form of calldata or 4844 blobs to commit to the transactions included in the canonical L2 chain. In Alt-DA mode, OP Stack sequencers and full nodes are configured talk to a third-party HTTP server for writing and reading tx batches to and from DA. Optimism's Alt-DA spec contains a more in-depth breakdown of how these system interactions work.
To implement this server spec, EigenDA provides EigenDA Proxy which is ran as a dependency alongside OP Stack sequencers and full nodes to securely communicate with the EigenDA disperser.
Deploying
Deploying EigenDA Proxy
First check out the version of the EigenDA proxy corresponding to the version of OP Stack you are deploying, and follow their README.md
in that version:
OP Stack Version | Compatible EigenDA Proxy Version |
---|---|
v1.7.6 | v1.0.0 |
v1.7.7 | v1.2.0 |
v1.9.0 | v1.4.0 |
Deploying OP Stack
Next deploy the OP Stack components according to the official OP Stack deployment docs, but with the following modifications:
op-node rollup.json configuration
In the op-node rollup.json
configuration the following should be set:
{
"plasma_config": {
"da_challenge_contract_address": "0x0000000000000000000000000000000000000000",
"da_commitment_type": "GenericCommitment",
"da_challenge_window": 300,
"da_resolve_window": 300
}
}
op-node CLI configuration
The following env config values should be set to ensure proper communication between op-node and eigenda-proxy, replacing {EIGENDA_PROXY_URL}
with the URL of your EigenDA Proxy server.
OP_NODE_PLASMA_ENABLED=true
OP_NODE_PLASMA_DA_SERVICE=true
OP_NODE_PLASMA_VERIFY_ON_READ=false
OP_NODE_PLASMA_DA_SERVER={EIGENDA_PROXY_URL}
op-batcher CLI configuration
The following env config values should be set accordingly to ensure proper communication between OP Batcher and EigenDA Proxy, replacing {EIGENDA_PROXY_URL}
with the URL of your EigenDA Proxy server.
OP_BATCHER_PLASMA_ENABLED=true
OP_BATCHER_PLASMA_DA_SERVICE=true
OP_BATCHER_PLASMA_VERIFY_ON_READ=false
OP_BATCHER_PLASMA_DA_SERVER={EIGENDA_PROXY_URL}
Mainnet Keypair Registration
When you are ready to onboard your rollup to mainnet you can fill out the following form to get your keypair whitelisted: https://forms.gle/niMzQqj1JEzqHEny9.
Security Guarantees
This setup provides Stage 0 security guarantees without adding an unnecessary trust assumption on the EigenDA disperser. The EigenDA Proxy docs page and repo readme explain how this is achieved.
OP Stack DA Challenge Contract
One new component of the OP Alt-DA interface is the DA challenge contract, which allows L2 asset-holders to delay a data withholding attack executed by the sequencer or DA network.
The EigenDA team has roadmap plans to implement an EigenDA challenge contract along with fault proof support in order to provide full safety/liveness guarantees for OP Stack x EigenDA deployments.
Roadmap
The EigenDA Rollup Integrations team is working to support OP Stack fault proofs and will post updates to @eigen_da.
Contact
If you are a Rollup considering integrating with EigenDA and OP Stack - reach out to our team to discuss how we can support and accelerate your onboarding: https://contact.eigenda.xyz/
If you are a Rollup developer and have questions on the integration - reach out to our Support team via: https://support.eigenlayer.xyz/