TL;DR:Fraud proofs allow anyone to prove that a sequencer posted an invalid state transition. If fraud is detected, a cryptographic proof is submitted to L1, the invalid state is reverted, and the sequencer is penalized. This ensures security without trusting the sequencer.
🎯 What is a Fraud Proof?
A fraud proof is cryptographic evidence submitted to Ethereum L1 that proves the sequencer posted an invalid state transition.The Problem Fraud Proofs Solve
How They Work (Simple)
🔍 Fraud Detection Process
Step-by-Step Detection
1
Sequencer Posts Batch
Sequencer submits batch to L1 with state rootSequencer claims: “Executing these transactions on prevRoot produces newRoot”
2
Verifier Downloads Data
Independent verifier downloads batch from L1All data is publicly available on L1
3
Re-Execute Transactions
Verifier re-executes all transactions locallyVerifier computes what the state should be
4
Compare State Roots
Compare computed root with sequencer’s claimed rootMismatch = fraud detected!
5
Generate Fraud Proof
Create proof showing the invalid transaction
6
Submit to L1
Submit fraud proof to L1 contract
7
L1 Verification
L1 contract verifies proof on-chain
🧮 Fraud Proof Components
What’s in a Fraud Proof?
- Core Components
- Merkle Proofs
- Witnesses
Essential data in a fraud proof:
💻 On-Chain Verification
How L1 Verifies Fraud Proofs
Step 1: Validate Proof Structure
Step 1: Validate Proof Structure
Check proof is well-formed:
Step 2: Re-Execute Transaction
Step 2: Re-Execute Transaction
Execute transaction on L1:Only ONE transaction executed on L1 (not entire batch)
Step 3: Compare Results
Step 3: Compare Results
Check if fraud is proven:
⚖️ Economic Incentives
Game Theory Analysis
- Sequencer Economics
- Verifier Economics
- Nash Equilibrium
Why sequencer stays honest:
🕐 Challenge Period Timeline
7-Day Window Explained
Why 7 days?Time for Detection
Verifiers need time to:
- Download batch data
- Re-execute transactions
- Detect any fraud
Time for Proof Generation
If fraud found, need time to:
- Identify invalid transaction
- Generate merkle proofs
- Construct fraud proof
Time for Submission
Need buffer for:
- Network congestion
- Gas price spikes
- Submission delays
Geographic Distribution
Allow for:
- Different time zones
- Global verifier network
- Redundancy in monitoring
🛡️ Security Guarantees
What Fraud Proofs Ensure
1
No Fund Theft
Guarantee: Sequencer cannot steal user fundsWhy:
- Any fraudulent withdrawal would change state root
- Verifiers would detect mismatch
- Fraud proof submitted
- Invalid state reverted
- Funds returned to rightful owners
2
No Censorship
Guarantee: Users can always force transactionsWhy:
- Users can submit transactions directly to L1
- L1 forces sequencer to include them
- If sequencer censors, state root won’t match
- Fraud proof submitted
- Censoring sequencer slashed
3
State Validity
Guarantee: All state transitions are validWhy:
- Every batch must include transaction data on L1
- Anyone can re-execute and verify
- Invalid states can be proven wrong
- Economic incentive ensures verification
4
Data Availability
Guarantee: Users can always recover their fundsWhy:
- All transaction data on L1
- Even if sequencer disappears
- Users can reconstruct L2 state
- Submit forced withdrawal via L1
🔬 Advanced Topics
Interactive Fraud Proofs
Interactive Fraud Proofs
More efficient proof system:Instead of proving entire batch invalid in one step:Trade-offs:
- Pro: Much cheaper to verify
- Pro: Scales to larger batches
- Con: Takes multiple rounds (hours)
- Con: More complex protocol
Bonded Challenges
Bonded Challenges
Prevent spam attacks:Problem: Attacker submits fake fraud proofs to waste gasSolution: Require bond to challengeResult:
- Valid challenges are profitable
- Invalid challenges lose money
- Spam attacks economically irrational
Lazy Fraud Proving
Lazy Fraud Proving
Only prove fraud when necessary:Normal operation:Only when fraud detected:Benefits:
- Zero overhead in normal case (99.99% of time)
- Only pay for fraud proof when needed
- Scales indefinitely
📊 Fraud Proof Statistics
Real-World Data
Fraud Attempts
0Zero fraud attempts on TeQoin (and Optimism, Arbitrum)
Fraud Proofs Submitted
0No fraud proofs needed in production
Verification Efficiency
99.99%Silent verification, no on-chain cost
-
Economic deterrent is strong
- Sequencer would lose everything
- No rational incentive to commit fraud
-
Monitoring is active
- Multiple independent verifiers
- Automated fraud detection
- Would be caught immediately
-
Penalty is severe
- Complete loss of stake
- Loss of sequencer position
- Permanent reputation damage
🎓 For Developers
Running a Verifier Node
📚 Further Reading
Optimistic Rollup
How optimistic rollups work
Security Model
Complete security analysis
Challenge Period
Why withdrawals take 7 days
Sequencer Design
Block production system
Understand fraud proofs? Continue to Sequencer Design →