Rollups
Optimistic and ZK.
Rollups is a free Web3 & DApp Development Fundamentals lesson on CoddyKit — lesson 2 of 4. You can read the complete lesson below for free — then practise it hands-on in the browser with a built-in code editor and a 24/7 AI tutor. It is part of the Web3 & DApp Development Fundamentals learning path, one of 4 lessons in the course, and your progress syncs across the web and the CoddyKit app.
What Is a Rollup?
A rollup executes transactions on a Layer 2 and posts the transaction data (and a state commitment) back to Layer 1.
The L1 stores enough information to reconstruct and verify the L2 state, which is what gives rollups their security.
Two Main Types
There are two dominant rollup families:
- Optimistic Rollups — assume transactions are valid, allow challenges
- ZK Rollups — prove validity with cryptographic proofs
They differ in how they convince L1 the L2 state is correct.
Optimistic Rollups
Optimistic rollups assume every batch is valid by default — hence optimistic.
They post the new state to L1 without proving it immediately, relying on the threat of fraud proofs to keep operators honest.
Fraud Proofs and the Challenge Window
After a batch is posted, a challenge window (often ~7 days) opens. Anyone can submit a fraud proof showing the batch was invalid.
If a valid challenge succeeds, the bad batch is reverted and the dishonest operator is penalized.
post batch -> 7-day challenge window
no valid challenge -> finalized
valid fraud proof -> batch revertedWithdrawal Delays
The challenge window means withdrawing from an optimistic rollup back to L1 takes time (often a week).
Liquidity providers offer instant withdrawals for a fee by fronting the funds during the wait.
ZK Rollups
ZK rollups generate a cryptographic validity proof (a zero-knowledge proof) for each batch.
L1 verifies the proof mathematically, so there is no need to trust the operator or wait for a challenge period.
Validity Proofs
A validity proof (such as a SNARK or STARK) demonstrates that the new state was computed correctly from the old state and the transactions.
If the proof verifies, the state is definitively correct — no challenges needed.
proof = prove(oldState, txs, newState)
L1.verify(proof) == true
-> newState accepted instantlyFaster Finality on ZK
Because ZK proofs are verified immediately, ZK rollups offer fast finality and quick withdrawals.
The trade-off is that generating proofs is computationally expensive and historically harder for general smart contracts.
Optimistic vs ZK Trade-offs
Comparing the two:
- Optimistic: EVM-compatible, cheaper proving, slow withdrawals
- ZK: instant finality, fast withdrawals, complex proving
Both post data to L1, so both inherit Ethereum security.
Data Availability
Rollups must publish transaction data so anyone can reconstruct the state — this is data availability.
Posting data to L1 (calldata or blobs) is a major cost; innovations like EIP-4844 blobs made it much cheaper.
Putting It Together
Rollups execute off-chain and settle on L1. Optimistic rollups assume validity and use fraud proofs; ZK rollups prove validity cryptographically. Data availability anchors their security.
Next we look at moving assets between layers with bridges.
Quick Check
Test your rollup knowledge.
Recap: Rollups
You learned that:
- Rollups execute off-chain and settle data on L1
- Optimistic rollups use fraud proofs + a challenge window
- ZK rollups use validity proofs for instant finality
- Data availability on L1 anchors security
Next: bridging assets between layers.
Frequently asked questions
Is the “Rollups” lesson free?
Yes — the full text of “Rollups” is free to read here on the web, and the Web3 & DApp Development Fundamentals course includes 4 lessons in total. To practise it interactively (a built-in code editor and a 24/7 AI tutor) and unlock the rest of the Web3 & DApp Development Fundamentals course, upgrade to CoddyKit PRO.
What will I learn in “Rollups”?
Optimistic and ZK. You practise Web3 & DApp Development Fundamentals with hands-on code you run directly in the browser, and a 24/7 AI tutor answers your questions as you work through the lesson.
Do I need any experience to start Web3 & DApp Development Fundamentals?
No prior experience is required. Web3 & DApp Development Fundamentals on CoddyKit is structured for beginners through advanced learners; this is — lesson 2 of 4, so you can start here or from the beginning and move at your own pace.
How long does the “Rollups” lesson take?
Most CoddyKit lessons take about 5–10 minutes. Each one is bite-sized and interactive, so you make steady progress and pick up exactly where you left off across the web and the app.
Can I write and run code in this Web3 & DApp Development Fundamentals lesson?
Yes. Every Web3 & DApp Development Fundamentals lesson includes a built-in code editor, so you write and run real code right in your browser and get instant AI feedback — no local setup required.