Rollups: Optimistic vs ZK
Two different ways rollups prove their off-chain execution was honest.
Lesson map
The rollup recipe
A rollup is the most widely used kind of Layer 2. It executes transactions off-chain, compresses the results, and posts both the data and some evidence of correctness back to the Layer 1 - 'rolling up' many transactions into one compact submission.
That evidence of correctness is what separates a rollup from just trusting an operator's word. It's also where the two major rollup designs diverge.
Optimistic rollups: trust, but verify
An optimistic rollup posts a batch and assumes it's correct by default. For a set challenge window - commonly around a week - anyone watching can download the data, re-run it, and submit a fraud proof if something's wrong. A successful fraud proof reverts the bad batch and penalizes whoever posted it.
The trade-off is that withdrawals back to the Layer 1 have to wait out that challenge window, since the network needs time to make sure no one disputes the batch.
ZK-rollups: prove it up front
A ZK-rollup (zero-knowledge rollup) takes a different approach: it submits a validity proof alongside every batch - a compact cryptographic proof that mathematically guarantees the transactions were executed correctly. There's no need to wait for a challenge window, because the math itself rules out cheating.
The trade-off shifts elsewhere: generating those proofs is computationally heavy, and building a system that can produce valid proofs for arbitrary smart-contract code is a harder engineering problem than an optimistic design.
Remember
'Optimistic' assumes honesty and punishes lies after the fact. 'ZK' proves honesty mathematically before anyone has to ask.
Picking a lane
Neither design is strictly better. Optimistic rollups have historically been simpler to build and run general-purpose smart contracts on, at the cost of slower withdrawals. ZK-rollups offer near-instant finality back to the L1, at the cost of harder engineering - though that gap has been closing quickly.
In practice, most users notice the difference mainly as 'how long until my withdrawal to the base layer clears' - fast for ZK, delayed by a challenge window for optimistic.
Concept map · schematic
Execution and Ethereum settlement
A conceptual rollup lifecycle; actual guarantees vary by network.
- 01
Layer 2
Orders and executes transactions on its own chain
- 02
Publish data
Posts commitments and data through L1 transactions or blobs
- 03
Settlement
Applies proof/challenge rules to secure resulting state
Important: A sequencer confirmation is not identical to final settlement on Ethereum.
Self-check
Check your understanding
Choose an answer for each question, then check the results and explanations.
Primary references
Documentation and standards
References added
Official technical references for further verification. A source link is not a guarantee that every earlier editorial sentence has been reverified; provider specifications may also change over time.
The curriculum predates this reference index. These sources are offered to check technical details; no original publication date has been inferred.
- Optimistic rollupsethereum.orgRead source ↗
- EIP-4844 blob transactionsEthereum Improvement ProposalsRead source ↗
Apply what you learned
Related practical guides
Continue learning