Skip to main content
Start your own AI-powered blog — freeGet started →

zkEVM: How Zero-Knowledge Proofs Scale Ethereum

Podcast episode2 voices
6:52
zkEVM: How Zero-Knowledge Proofs Scale Ethereum
Photo by Joy Xu on pexels

zkEVM: How Zero-Knowledge Proofs Scale Ethereum

Cheerful young woman posing in a lush meadow filled with vibrant red poppies, embracing nature. Photo by Joy Xu on Pexels

Quick Answer: A zkEVM is a zero-knowledge virtual machine that proves EVM execution was correct without re-executing it. It enables ZK rollups that inherit Ethereum's security while processing transactions off-chain at 10-100x lower cost. In 2026, four main zkEVM types exist: Type 1 (perfect EVM equivalence — Scroll, zkSync Era) — hardest to prove, most compatible; Type 2 (fully EVM-equivalent at the bytecode level — Linea, Polygon zkEVM); Type 3/4 (based on different VMs that compile from Solidity — StarkNet/SNS) — fastest proving but least compatible. The proving bottleneck: generating a proof for a 10M-gas block takes 2-8 minutes on a prover cluster vs 1 second to execute. Prover hardware costs range from $0.10-0.50 per transaction in proving fees. The race in 2026 is about prover efficiency — Scroll's latest prover achieves 200K gas/second proving rate; zkSync's Boojum reduced proving time by 3x. Total value secured by zkEVMs: ~$15B across all ZK rollups.

What Is a zkEVM?

The Core Concept

A zkEVM is a system that takes an EVM execution trace and produces a zero-knowledge proof that the execution was correct. This proof is cryptographically sound — it's computationally infeasible to fake.

code
Without zkEVM:
  L1 Ethereum: ──▶ Execute tx ──▶ Update state ──▶ Everyone verifies
               Each L1 node re-executes every tx.
               Cost: ~$50/tx at high gas prices.

With zkEVM (ZK rollup):
  L2 Sequencer: ──▶ Execute tx ──▶ Generate proof ──▶ Submit to L1
                     │                                       │
                     │ (single execution)                     │
                     │                                       │
  L1 Ethereum:      ────────────────────────────────────────▶ Verify proof
                     Cost: ~$0.01-0.10/tx (proof verification is cheap)
                     Security: Inherits Ethereum security (proof is on-chain)

The Magic: Succinct Proofs

code
Key property of ZK proofs:
  Proof size: ~200-500 KB (constant, independent of computation)
  Verification time: ~5ms (on-chain → cheap L1 gas cost)
  Proving time: 2-8 minutes per block (off-chain → doesn't limit L2)

Without ZK: Verify = re-execute (10M gas = 100ms on L1)
With ZK:    Verify = check proof (5ms on L1, constant cost)

Why This Matters

L2 TypeSecurity ModelTrust Assumption
Optimistic RollupEconomic (fraud proofs, 7-day challenge window)Need honest watcher
ZK Rollup (zkEVM)Cryptographic (validity proof)No trust — math guarantees correctness
ValidiumLike ZK but data off-chainData availability committee

zkEVMs offer provable correctness — unlike optimistic rollups that rely on the "fraud proof within 7 days" game, ZK proofs are immediately verifiable.

The Proving Bottleneck

The Core Problem

While execution is fast, proving is slow:

code
Block execution (10M gas, ~50-100 txs):
  CPU time: ~1 second (native execution)
  GPU time: ~100ms (with optimized executors)

Proof generation (for the same block):
  Type 1 zkEVM (full EVM): 5-15 minutes (prover cluster)
  Type 2 zkEVM (compatible): 2-5 minutes
  Type 4 zkEVM (different VM): 30 seconds - 2 minutes

The bottleneck: Proving is 300-900x slower than execution!

Prover Hardware

ComponentSpecificationCostPurpose
GPUNVIDIA H100 (80GB)$30KMSM (Multi-Scalar Multiplication) — bottleneck of proving
CPU64+ cores, high clock$5KFFTs, polynomial evaluation
RAM256-512 GB$2KStore witness, polynomials
Network100 Gbps InfiniBand$1KMulti-GPU proving

Cost Per Proof

zkEVMGas-per-blockProver CostProver Cost per TxProver time
Scroll (Type 1)10M$5-15$0.10-0.305-10 min
zkSync Era (Type 4)20M$3-8$0.05-0.151-3 min
Linea (Type 2)15M$4-12$0.08-0.252-5 min
StarkNet (Type 4)30M$2-6$0.03-0.100.5-2 min

Proving Cost Over Time

code
Cost per 10M gas block:
  2023: $50-100/proof
  2024: $20-50/proof
  2025: $10-25/proof
  2026: $3-15/proof
  Target: <$1/proof (2027-2028)

Improvements driving cost down:
  - Better prover algorithms (optimized MSM, FFT)
  - Custom hardware (FPGAs, specialized ASICs in development)
  - Proof aggregation (many txs → one proof)
  - Recursive proofs (roll up multiple blocks)

zkEVM Types: The Equivalence Spectrum

Type 1 — Perfect EVM Equivalence

code
Definition: Proves EVM execution identically to L1 (same opcodes, same gas costs)

Example: Scroll

Characteristics:
  - Can run ANY existing Ethereum smart contract without changes
  - Same gas costs as L1
  - Proving is the HARDEST (complex ≈ many constraints)
  - Proving time: 5-15 min per block

Best for:
  - Maximum compatibility — just deploy current contracts
  - Teams that want "ETH at scale" without migration
  - Long-term goal of making ZK proving fast enough for L1 itself

Type 2 — Fully EVM-Equivalent

code
Definition: Proves EVM execution with slightly modified gas costs or precompile handling

Example: Polygon zkEVM, Linea

Characteristics:
  - Most contracts work without changes (99%+)
  - Minor gas cost differences
  - Proving is HARD but slightly easier than Type 1
  - Proving time: 2-5 min per block

Best for:
  - Teams that want compatibility with slight perf improvements
  - Most current Ethereum developers

Type 3 — EVM-Compatible (Compiler-Based)

code
Definition: Executes a different VM that's designed for ZK friendliness

Example: zkSync Era (zkVM → compiles to ZK-friendly circuit)

Characteristics:
  - Most contracts work (some require modification)
  - Different opcodes, different gas costs
  - Proving is much FASTER (ZK-friendly VM design)
  - Proving time: 1-3 min per block

Best for:
  - Teams willing to make small contract changes
  - Applications that benefit from lower gas costs
  - Use of native account abstraction

Type 4 — ZK-Friendly VM (Not EVM)

code
Definition: Uses a non-EVM ZK VM that compiles from high-level language

Example: StarkNet (Cairo VM)

Characteristics:
  - Contracts must be rewritten in Cairo or compiled from Solidity
  - Most efficient proving (designed for ZK from ground up)
  - Proving time: 30 sec - 2 min per block
  - Limited ecosystem compatibility

Best for:
  - Greenfield projects
  - Teams that want maximum ZK efficiency
  - Projects that can rewrite contracts

Equivalence vs Efficiency Tradeoff

code
EVM Compatibility:    100%  ◄──────────────────────►  0%
Proving Efficiency:   1x    ◄──────────────────────►  10x+

Type 1: 100% compat, 1x proving speed
Type 2: 99% compat, 2-3x proving speed
Type 3: 95% compat, 5-10x proving speed
Type 4: Solidity→Cairo, 10-15x proving speed

Proving Systems: PLONK vs STARK vs Halo2

Comparison

SystemTrusted SetupProof SizeVerify CostProver SpeedMaturity
PLONK-basedYes (universal, one-time)~200-500 bytesVery lowMediumHigh (used by zkSync, Scroll)
STARK-basedNo (transparent)~100-200 KBHigh (~3x PLONK)Fastest (parallel)High (used by StarkNet)
Halo2No (transparent)~1-2 KBLowMediumMedium (used by Scroll)
Nova/ProtoGalaxyNo~10 KBLowFastEmerging (2026 production)

PLONK in Detail

code
Most popular zkEVM proving system (zkSync, Scroll, Polygon):

Key features:
  - Universal trusted setup (one-time ceremony, applies to all circuits)
  - Constant-size proofs (~200-400 bytes)
  - Efficient on-chain verification (~300K gas)
  - Supports recursion (proof of a proof)

Proving pipeline (simplified):
  1. Execution trace → constraints → polynomial representation
  2. Commit to polynomials (KZG commitments)
  3. Open commitments at random challenge points
  4. Aggregate into single proof

Performance:
  - Prover: O(n log n) where n = constraint count
  - Verifier: O(1)
  - Memory: O(n) for proving (can be 100+ GB)

STARK in Detail

code
Used by StarkNet, emerging as alternative for zkEVM:

Key features:
  - No trusted setup (transparent — just public randomness)
  - Larger proofs (~100-200 KB)
  - Post-quantum secure (hashes, not pairings)
  - Best for parallel proving (GPU-friendly)

Proving pipeline:
  1. Execution trace → algebraic intermediate representation (AIR)
  2. Low-degree extension (Reed-Solomon)
  3. Merkle tree commitments
  4. FRI protocol (proximity testing)

Performance:
  - Prover: O(n log² n)
  - Verifier: O(log² n)
  - Better parallelism than PLONK
  - Most suited for large circuits (Type 1 zkEVM)

Which System Is Best for zkEVM?

code
2026 consensus:

For Type 1/2 (full EVM):
  Starks (or Stark-like): Better for large circuits
   More parallelizable
   Better GPU utilization
   No trusted setup

For Type 3/4 (designer VM):
  PLONK (or Halo2): Better for smaller circuits
   Faster verification on-chain
   Lower L1 fixed cost

Emerging: Hybrid systems
  SNARK inside STARK: Good of both
  Scroll's GKR-based proving: Custom zkEVM prover

A minimalist image of an Ethereum coin on a blue background, highlighting modern finance. Photo by Jonathan Borba on Pexels

Major zkEVM Implementations (2026)

Scroll

MetricValue
TypeType 1 (perfect EVM equivalence)
Proving systemHalo2 + custom GKR
TVL$2.5B
TPS (peak)300
Block time15 seconds (L1)+ proving latency
Prover time7-10 min per block
Prover HW4x H100 per prover
Gas cost vs L15-10x cheaper
Key innovationPrecompiled circuits for EVM opcodes

zkSync Era

MetricValue
TypeType 4 (ZK-friendly VM)
Proving systemPLONK-based (Boojum)
TVL$3.8B
TPS (peak)1,200
Block time~1 hour (batched to L1)
Prover time1-3 min per batch
Prover HW2x A100 per prover
Gas cost vs L120-50x cheaper
Key innovationNative account abstraction, custom compiler

Linea

MetricValue
TypeType 2 (fully EVM-equivalent)
Proving systemPLONK-based (custom)
TVL$1.2B
TPS (peak)500
Block time5 min + proving latency
Prover time2-5 min per block
Prover HW2x A100
Gas cost vs L18-15x cheaper
Key innovationOptimized for EVM bytecode with minor modifications

StarkNet

MetricValue
TypeType 4 (Cairo VM)
Proving systemSTARK-based (SHARP)
TVL$1.8B
TPS (peak)2,000+
Block timeContinuous (batched to L1)
Prover time~30 min for large batch
Prover HWCustom (SHARP shared prover)
Gas cost vs L130-100x cheaper
Key innovationSHARP shared prover, Cairo language

How a zkEVM Processes a Transaction

Step-by-Step (Scroll Example)

code
Phase 1: Execution (L2 Sequencer)
  1. User submits transaction to L2 sequencer
  2. Sequencer executes it in go-ethereum (standard EVM)
  3. Produces execution trace: every opcode, stack state, memory, storage
  4. Updates L2 state root
  5. Sends block to prove

Phase 2: Witness Generation
  1. Trace → witnesses (program inputs/outputs)
  2. Generate circuit constraints:
     - Each opcode → polynomial constraint
     - Stack operations → permutation constraints
     - Memory operations → lookup constraints
     - Storage writes → write-once constraints
  3. Witness size: ~10-100 GB (depends on block complexity)

Phase 3: Proof Generation (Prover)
  1. Commit to polynomials (KZG commitments)
  2. FFTs to evaluate polynomial at roots of unity
  3. Multi-scalar multiplication (MSM) for each commitment
  4. Opening proofs for each evaluated point
  5. Aggregate all proofs

  Parallel:
    - Many opcodes can be proved independently
    - Scroll uses 4-8 GPUs in parallel
    - Proof time: 7-10 min for 10M gas block

Phase 4: On-Chain Verification
  1. Proof (~300 KB) submitted to L1
  2. L1 verifier contract checks the proof (~300K gas)
  3. If valid: L1 updates state root
  4. User's transaction is final (no 7-day wait!)

Total time from tx submission to L1 finality:
  Execution:      ~1 second
  Proving:        ~7-10 minutes
  L1 submission:  ~1 minute (wait for L1 block)
  L1 finality:    ~12 seconds
  ─────────────────────────────────
  Total:          ~8-12 minutes

Gas Cost Breakdown per Transaction

ComponentL1L2 (Scroll)L2 (zkSync)L2 (StarkNet)
Execution$20-100$0.05-0.30$0.01-0.10$0.01-0.05
Data availability (calldata)Included$0.10-0.50$0.02-0.15$0.01-0.05
Proving cost$0.05-0.15$0.03-0.10$0.01-0.03
L1 verification$0.02-0.05$0.01-0.03$0.01-0.02
Total per simple tx$30-150$0.20-1.00$0.05-0.35$0.03-0.15

Prover Hardware Requirements

Building a Prover

zkEVMMinimum ProverRecommended ProverCloud Cost/hrThroughput
Scroll2x A100-80GB, 128GB RAM4x H100-80GB, 512GB RAM$15-30/hr2-3 blocks/hr
zkSync1x A100-80GB, 64GB RAM2x A100-80GB, 256GB RAM$5-15/hr5-10 blocks/hr
Linea2x A100-80GB, 128GB RAM4x A100-80GB, 256GB RAM$10-20/hr3-5 blocks/hr
StarkNet4x A100-80GB (SHARP)8x H100-80GB (custom)$30-60/hr10+ blocks/hr (batched)

Prover as a Service (PaaS)

Many zkEVM projects offer shared provers:

code
Scroll: Prover credits — $0.0001/gas of proving
zkSync: Shared prover (sequencer covers proving cost)
Linea:  ConsenSys-managed prover
StarkNet: SHARP prover (shared across multiple dApps)

For most developers: Proving cost is included in L2 gas fees.
You don't need to run a prover unless you're operating a sequencer.

Prover Optimization (2026 State)

code
Current bottlenecks ranked:
1. MSM (Multi-Scalar Multiplication) — 60% of proving time
   → Optimized: Use H100 tensor cores, MSM ASICs emerging

2. FFT (Fast Fourier Transform) — 20% of proving time
   → Optimized: Cooley-Tukey, parallel FFT libs

3. Memory bandwidth — 15% of proving time
   → Optimized: HBM3e on H200/B200

4. Network (for multi-GPU) — 5% of proving time
   → Optimized: NVLink + InfiniBand

Expected improvements:
  2027: 2-3x faster proving (FPGA + software)
  2028: 5-10x faster proving (custom ASICs)

zkEVM vs Optimistic Rollups: 2026 Comparison

FactorZK Rollup (zkEVM)Optimistic Rollup
SecurityCryptographic (validity proof)Economic (fraud proof, 7-day wait)
Finality~10 min (proving)~7 days (challenge period)
CompatibilityType 1: perfect; Type 4: modifiedPerfect (same EVM)
Gas cost$0.05-1.00/tx$0.01-0.50/tx
Proving cost$3-15/block$0 (no proofs needed)
TVL secured~$15B~$25B (Arbitrum + Optimism)
Withdrawal time~10 min (prove + submit)~7 days (challenge window)
EVM equivalenceVaries (Type 1-4)Full (identical to L1 EVM)
Prover complexityHigh (need prover infra)None (just execution)

The Great Convergence

code
2026 trend: Optimistic rollups adopting ZK
- Arbitrum: Researching "zk-arbitrum" for fast finality
- Optimism: Exploring OP-Succinct (ZK for fault proofs)
- Base: Coinbase supporting ZK-prover research

Vision: Hybrid model
  - Use optimistic for normal operations (no prover cost)
  - Generate ZK proof in background to enable fast exits
  - After ZK proof: no more 7-day wait
  - Called "ZK fault proof" or "validity proof bridge"

Expected timeline:
  2026: Research + early implementation
  2027: Production ZK for optimistic rollups
  2028: All major L2s have ZK finality

The Future: Proof Recursion and Aggregation

Recursive Proofs

A recursive proof is a proof that verifies another proof — enabling infinite scaling:

code
Level 0: Block N proof (200 KB)
Level 1: Proof of Block N-1 + Block N (200 KB)
Level 2: Proof of Level 1 + Level 1 (200 KB)
...

Result: One proof can verify a thousand blocks!
Final proof size: still ~200 KB
Verification cost: still ~300K gas

Proof Aggregation

code
Aggregation: Combine many proofs into one

Instead of submitting a proof for every L2 block:
  1. Prove block 1
  2. Prove block 2
  2. Aggregate: proof(proof(block1) + proof(block2))
  ...
  n. Submit ONE aggregated proof for 1000 blocks

L1 cost savings:
  Without aggregation: 300K gas per block × 1000 = 300M gas
  With aggregation:    300K gas for all 1000 blocks = 300K gas
  Savings: 99.9% reduction in L1 settlement costs!

When Recursion Arrives

code
2026: Most zkEVMs have basic recursion
  - Scroll: Recursive proof for 2-4 blocks
  - zkSync: Using recursion for proof compression
  - StarkNet: SHARP already aggregates

2027-2028: Full aggregation
  - One proof per day (for all L2 blocks)
  - L1 settlement cost: ~$5/day regardless of L2 volume
  - Effectively zero-cost L1 security

Related Reads

Key Takeaways

  • zkEVMs enable ZK rollups to process Ethereum transactions off-chain at 10-100x lower cost while inheriting L1 security via cryptographic proofs, eliminating the 7-day challenge window of optimistic rollups.
  • Proving remains the bottleneck: generating a proof for a 10M-gas block takes 2-8 minutes on a prover cluster (vs 1 second execution), with hardware costs ranging from $0.10-0.50 per transaction in 2026 — but proving efficiency is rapidly improving (e.g., Scroll’s 200K gas/second, zkSync’s 3x speedup via Boojum).
  • Type 1 zkEVMs (e.g., Scroll) offer perfect EVM equivalence for maximum compatibility but are the hardest to prove, while Type 4 (e.g., StarkNet) prioritize proving speed (30 sec-2 min) at the cost of requiring contract rewrites or compilation from Solidity.
  • Prover hardware requirements are steep: recommended setups for Type 1 zkEVMs include 4x H100 GPUs, 512GB RAM, and 100 Gbps InfiniBand, with cloud costs of $15-60/hour — but most developers can rely on Prover-as-a-Service (e.g., Scroll’s $0.0001/gas credits).
  • Proof aggregation and recursion (e.g., one proof for 1,000 blocks) will slash L1 settlement costs by 99.9% by 2027-2028, reducing daily L1 security costs to ~$5 regardless of L2 volume.
  • Hybrid models are emerging: optimistic rollups (e.g., Arbitrum, Optimism) are adopting ZK proofs for fast finality, aiming to combine the low cost of optimistic execution with the cryptographic security of ZK validity proofs.

Frequently Asked Questions

What is EVM equivalence and why does it matter?

EVM equivalence means a ZK rollup can execute Ethereum smart contracts exactly as L1 does — same opcodes, same gas costs, same behavior. Type 1 zkEVMs (Scroll) achieve perfect equivalence. Type 2 (Linea, Polygon) have minor gas cost differences. Type 3/4 require contract modifications. Full equivalence matters because it means zero developer migration cost.

How long does it take to prove a zkEVM block?

From 30 seconds (StarkNet) to 15 minutes (Scroll Type 1). The prover time depends on: proof system (STARK faster than PLONK for large circuits), hardware (more GPUs = faster), and block complexity (more transactions = more constraints = slower). Prover time is the main bottleneck to zkEVM throughput.

Do I need to run a prover to use a zkEVM?

No — the sequencer handles proving. You just submit transactions and pay gas fees (which include proving costs). Running a prover is something only sequencers and infrastructure providers need to worry about.

Are zkEVMs more secure than optimistic rollups?

zkEVMs offer cryptographic finality — the proof guarantees correct execution. Optimistic rollups offer economic finality — there's a 7-day window for fraud proofs. Both are secure for most use cases, but zkEVMs have better capital efficiency (no 7-day bridge delay) and stronger guarantee properties.

Why are zkEVMs more expensive than optimistic rollups?

Because proving costs real hardware resources (GPUs, memory, time). Optimistic rollups don't prove — they just execute and wait for challenges. The proving cost is $3-15 per block (paid by the sequencer). This cost is passed to users as slightly higher L2 gas fees (usually $0.01-0.05 extra per transaction).

What happens if the prover goes offline?

The sequencer can't submit blocks to L1 without proofs. L2 operations continue (sequencer can still execute) but the bridge is stuck — no deposits or withdrawals. Most zkEVMs have redundant prover clusters and failover mechanisms. Prover downtime has happened (Scroll had ~4 hours of downtime in 2025) but is rare in production.

S
Synor

1 followers

Deep dives on GPUs, decentralized AI, crypto, and open-source ML — buying guides, benchmarks, and tax/compliance explainers.

Comments

Sign in to join the conversation

No comments yet. Be the first to share your thoughts!

More from Synor

Recommended for you