ZK-Rollups Explained: zkSync, StarkNet, and Scroll

Crypto Basics
Cập nhật2026-08-21
274

A ZK-Rollup executes transactions off-chain in batches, then posts the resulting state data and a validity proof to Ethereum. ZKsync, Starknet, and Scroll all follow that basic idea, but they differ in execution environment, proof system, and approach to EVM compatibility.

The projects themselves now generally write their names as ZKsync and Starknet, while older material still uses zkSync and StarkNet. The renaming does not change how these networks are classified, but when reading technical documentation it is worth checking the publication date and which protocol version is being described.

How a ZK-Rollup moves from batch execution to a validity proof verified on Ethereum

How does a ZK-Rollup prove that transactions are valid?

A ZK-Rollup's prover turns the execution of a batch of transactions into a cryptographic proof. The verifier contract on Ethereum does not need to re-execute every transaction in the batch; it only checks the proof and the public inputs to decide whether the new state came from a state transition the protocol allows.

A typical flow looks like this:

  1. The sequencer receives transactions and assembles them into L2 blocks or batches.
  2. The execution environment computes the resulting changes to accounts, contract storage, and messages.
  3. The prover generates a proof from the execution trace, and proofs for multiple blocks can be aggregated.
  4. Batch data or state diffs are published to Ethereum so that other nodes can reconstruct the L2 state.
  5. The L1 verifier contract checks the proof and accepts the new state commitment once verification passes.

Proof generation can lag well behind the L2 confirmation a user sees. When an application shows "success," it usually means the transaction has been sequenced and executed, not necessarily that a proof has already been verified on Ethereum.

Why should validity proofs and data availability be assessed separately?

A validity proof answers the question "was the state computed according to the rules?" Data availability answers a different question: "can anyone else obtain enough data to rebuild the state?" These are two distinct problems.

A rollup publishes the data needed to recover state to Ethereum. A Validium can also use validity proofs, but keeps that data on an external network or with a committee. This can push L1 data costs down further, yet if the external data becomes unavailable, users may struggle to rebuild state or complete an exit.

So "it uses ZK proofs" is not, on its own, evidence that a chain has the full security properties of a rollup. You still need to look at that specific network's data publication model, upgrade permissions, and exit mechanism.

What are the differences between ZKsync, Starknet, and Scroll?

All three let Ethereum verify batched state, but they have chosen different execution and developer paths.

Comparing ZKsync, Starknet and Scroll on execution environment, proofs and developer compatibility

Comparison ZKsync Starknet Scroll
Core positioning Uses the ZK Stack to build rollups and a network of configurable chains A validity rollup built on STARK proofs and the Cairo execution environment A zkEVM rollup aimed at Ethereum-compatible applications
Execution environment The Era line includes EraVM, optimized for proving; current protocol documentation also describes an evolution toward EVM-oriented execution Natively uses Cairo and its account contract model rather than copying the EVM directly Focuses on proving EVM state transitions, so the developer experience stays close to Ethereum
L1 data In rollup mode it publishes compressed state diffs and related data to Ethereum Publishes compressed state diffs to Ethereum and can use blobs The sequencing layer posts batch data to Ethereum, and the settlement layer verifies proofs
Proving characteristics The prover verifies batch state transitions, and the protocol is moving toward the new ZKsync OS architecture Uses STARK-based proofs and reduces the L1 verification burden through aggregation Proving circuits constrain the results of EVM execution, verified by Ethereum contracts
Developer migration Solidity tooling works, but the specialized VM, system contracts, and compilation path still need testing Usually requires knowledge of Cairo, Starknet accounts, and its toolchain Migrating Solidity applications meets less friction, though precompiles and system differences still need testing

"Compatibility" here cannot be reduced to yes or no. Wallet RPC, Solidity compilation, bytecode, opcodes, gas metering, and debugging tools all sit at different layers. Even when a contract deploys successfully, any application that relies on low-level block fields, precompiles, or exact gas behavior needs to be re-verified.

Are ZK-Rollups always faster than Optimistic Rollups?

It depends which kind of speed you mean. Once an L1 has verified a ZK-Rollup's proof, no fault challenge period is needed to finalize that same state, which generally helps protocol-native exits. But proof generation, aggregation, and submission take time of their own.

The interaction speed users feel is mainly determined by how quickly the sequencer produces blocks and how the application handles confirmations. Both designs can offer fast L2 confirmations. If you are comparing final settlement, look at batch posting frequency, proving latency, and Ethereum confirmation rather than the animation in your wallet.

What are the main limitations of ZK-Rollups?

Limitation Practical impact
Proving complexity Provers need specialized hardware and software; a failure can delay proofs without necessarily rolling back already sequenced transactions
Circuit coverage Only logic constrained by the circuit or a provable execution environment gains validity guarantees
Upgrade permissions Administrators may update verifier contracts, bridges, or system configuration, changing the assumptions you started from
Sequencer centralization A single sequencer can still delay or censor transactions; proofs do not automatically solve transaction ordering
Ecosystem differences Wallets, oracles, bridges, and application depth may differ from Ethereum mainnet

On top of that, the "zero-knowledge" in ZK-Rollups is often misread as privacy. Scaling-oriented validity proofs work perfectly well without hiding addresses, amounts, or contract calls, and public block explorers can still display full transaction activity.

What should you check before using these three networks?

Start from the specific network an application supports rather than from proof-system terminology. Confirm the official RPC, chain ID, explorer, gas asset, and canonical bridge, then check whether the token you want is natively issued or a bridged version.

For contract-based applications, you should also test deployment, calls, event indexing, and oracles on the target execution environment. Asset holders should verify the different waiting stages: confirmation on L2, proof status, and the exit back to L1.

For a look at the other main verification approach, read Optimistic Rollups: Arbitrum and Optimism; for the full taxonomy, see A Complete Guide to Layer 2 Scaling Solutions. For how ZK proofs are applied to identity, privacy, and cross-chain use cases, see Frontier Web3 Sectors and Trends.

FAQ

Do ZK-Rollups hide transfer amounts and addresses?

Not automatically. A validity proof can be used purely to prove that the computation over public transactions is correct. Whether privacy exists depends on whether the protocol was specifically designed to hide state, encrypt data, and manage viewing rights.

Can a validity proof guarantee that a DeFi application has no vulnerabilities?

No. The proof guarantees that the L2 processed transactions according to its defined execution rules. If an application contract has permission, oracle, or economic design flaws, that flawed logic will simply be executed correctly.

Do all ZK-Rollups require a trusted setup?

Not necessarily. Different SNARK, STARK, and recursive proof systems generate parameters in different ways: some require a multi-party ceremony, others emphasize a transparent setup. Check the specific proof system rather than inferring from the letters "ZK."

Why does the L2 explorer show success while no matching proof appears on Ethereum?

The sequencer can execute and confirm a transaction first, with the prover only later aggregating multiple blocks into a proof submitted to L1. The two explorers are observing different stages, and the delay does not necessarily mean the transaction failed.

Mục lục

Đề xuất đọc

Xem thêm
How to Choose an L2 Network: Gas Fees and Ecosystem Comparison
Crypto Basics
What Is a Genesis Block? The Starting Point of a Blockchain
Crypto Basics
Base Chain: Inside Coinbase's Layer 2 Strategy
Crypto Basics