Consensus Anchor
The rollup posts its compressed batch to Layer 1 every ~12s slot. The mainnet's validators reach finality on the data; the rollup inherits its security.
Explore the rollup stack
Ethereum mainnet anchors every rollup. State roots and proofs commit here, where consensus is heaviest and finality is absolute.
The rollup posts its compressed batch to Layer 1 every ~12s slot. The mainnet's validators reach finality on the data; the rollup inherits its security.
Calldata and blob-carrying transactions deliver the rollup's transaction batch. Blob space reduces costs by 10-100x versus calldata.
A 32-byte state root summarizes the entire rollup. Disputes resolve by reference to this commitment; honest validators can always reconstruct.
// Layer 1 settlement contract function submitBatch( bytes32 stateRoot, bytes calldata batch, bytes calldata blobCommitment ) external { require(verifyProposer(msg.sender)); pendingRoots.push(stateRoot); emit BatchPosted(block.number, stateRoot); }
Inside the rollup's execution environment, transactions run cheap and fast. Thousands of operations per second, settled later in batched form.
Transactions execute optimistically. A challenge window of 7 days allows verifiers to submit fraud proofs against any invalid state transition.
Each batch ships with a succinct cryptographic proof. The L1 verifier checks the proof in milliseconds; finality is mathematical, not optimistic.
The sequencer accepts transactions, orders them, and commits to the order. Centralized today, progressively decentralized tomorrow.
Proofs replace re-execution. Whether fraud-based or zero-knowledge, the cryptographic guarantee is the same: invalid state cannot be finalized.
Verifiers bisect the disputed execution down to a single instruction, then play it on-chain. The loser is slashed. Optimistic rollups rely on this honest-minority assumption.
SNARK or STARK circuits encode the state transition function. The proof is a few KB; verification costs 200-500k gas; correctness is unconditional.
// Verifying a SNARK on Layer 1 function verifyProof( uint256[2] memory a, uint256[2][2] memory b, uint256[2] memory c, uint256[] memory publicInputs ) public view returns (bool) { return pairing(a, b, c, publicInputs); }
A proof is worthless without the data it proves. Rollups guarantee that the underlying transaction data is published — either fully on L1, or on a dedicated DA layer.
All transaction data is posted as calldata or blobs. Maximum security — anyone can rebuild the rollup from L1 alone.
TIER 1Data is held by a permissioned DAC. Cheaper transactions, but data availability assumes committee honesty.
TIER 2Each transaction selects its DA mode. Sensitive ops use rollup mode; high-volume ops use validium for cost.
TIER 3Thousands of transactions, distilled into a single batch. A few kilobytes carrying the work of an entire rollup epoch.