返回 Expert 笔记
Expert Day 234

zk-Rollup 架构对比 — Linea / zkSync Era / Scroll / Polygon zkEVM

4 大主流 zk-Rollup 架构、底层 proof system、execution layer 兼容度

2026-12-21
Phase 4 - ZK电路开发实战 (Day 223-243)
ZKzk-RollupzkEVMLineazkSyncScrollPolygon-zkEVM

日期: 2026-12-21 方向: ZK工程 / 电路开发 阶段: Phase 4 - ZK电路开发实战 (Day 223-243) 标签: #ZK #zk-Rollup #zkEVM #Linea #zkSync #Scroll #Polygon-zkEVM


今日目标

类型内容
学习4 大主流 zk-Rollup 架构、底层 proof system、execution layer 兼容度
实操抓真实合约地址 / TVL / Prove 时间 / DA 方案,整理对比表
产出zkrollup_compare.md(详尽对比表 + 决策树)

背景

zk-Rollup 是 Vitalik 三大 L2 蓝图之一(Optimistic / zk / Validium)。zk-Rollup 用 ZK proof 证明 batch 内所有 tx 的状态转换合法,链上无需重放 tx,理论上可以用极少 gas 实现完整 EVM 安全性。

但 EVM 不是 ZK 友好的:原生用 keccak/SHA、各种 unfriendly opcodes、动态 storage。把 EVM 完全 ZK 化是个巨大工程,2023-2024 才出现真正的 zkEVM mainnet。


4 大 zk-Rollup 架构总览

1. Linea(ConsenSys)

维度详情
上线2023-08 主网
zkEVM TypeType 2.5(接近 Ethereum,部分 opcode 修改)
Proof systemPLONK + lookup(自研 Vortex + Linea-prover)
DSLgnark (Go-based)
HashMiMC + custom
Curvebn254
L1 verifier0xd19d4B5d358258f05D7B411E21A1460D11B0876F (Linea zkEVM)
Bridge0xd19d4B5d358258f05D7B411E21A1460D11B0876F
TVL(参考)~$1B
Prove 时间~10 min / batch(数百 tx)
终结性Hard finality once L1 verified (~30 min)

2. zkSync Era(Matter Labs)

维度详情
上线2023-03 主网
zkEVM TypeType 4(zkEVM-equivalent 接口,bytecode 不同)
Proof systemBoojum(FRI + Plonky2-style + final SNARK wrap)
DSL自研(zkSync VM 优化的 LLVM IR)
HashPoseidon
Curvebn254 (final wrap) + Goldilocks (inner)
L1 diamond proxy0x32400084C286CF3E17e7B677ea9583e60a000324
Bridge0x32400084C286CF3E17e7B677ea9583e60a000324
TVL~$700M
Prove 时间~10-15 min / batch
特色Native AA (4337 集成)、自定义 paymaster

3. Scroll

维度详情
上线2023-10 主网
zkEVM TypeType 2(bytecode-equivalent,目标 Type 1)
Proof systemHalo2 + KZG (PSE fork)
DSLHalo2 (Rust)
HashPoseidon
Curvebn254
L1 verifier0xa13BAF47339d63B743e7Da8741db5456DAc1E556 (ScrollChain)
Bridge0x6774Bcbd5ceCeF1336b5300fb5186A12DDD8b367
TVL~$200M
Prove 时间~5-10 min / batch(GPU prover)
特色与 PSE 共享研究,最忠实于 EVM

4. Polygon zkEVM

维度详情
上线2023-03 主网 (beta)
zkEVM TypeType 3(bytecode-equivalent + 一些 opcode 调整)
Proof systemPlonky2 + 包装为 Groth16/PLONK
DSLPIL (自研) + zkASM
HashPoseidon-Goldilocks → 最终 wrap 到 bn254
CurveGoldilocks (inner) + bn254 (final)
L1 verifier0x2b3DA61c64F2C5e09B7b4E8E4C0F8e5fE7DAfBF1 (PolygonZkEVMBridge: 0x2a3DD3EB832aF982ec71669E178424b10Dca2EDe)
TVL~$100M
Prove 时间~30 min / batch(recursion 深)
特色recursion 深度大但最终 proof 小(~5 KB)

详细对比表 / Detailed Comparison

维度LineazkSync EraScrollPolygon zkEVM
Type2.542 → 13
Bytecode-equiv部分否(重新编译)大部分
EOA 地址兼容否(不同 derivation)
Solidity 编译器solczksolc (LLVM-based)solcsolc
Hash in EVMkeccak (但 ZK 内贵)keccakkeccakkeccak
Opcodes 完整度~95%~85% (PUSH0 等不同)~98%~95%
支持 4337标准Native AA标准标准
Self-destruct
Prover 硬件CPU + GPUGPUGPU (RTX 4090+)CPU + GPU
Prover 时间10 min10-15 min5-10 min30 min
DAcalldata (current) → blobcalldata → blobblob (EIP-4844)blob
TPS(实际)~30~30~30~25
Fees vs L1~30× cheaper~30×~30×~25×
Decentralization (sequencer)centralizedcentralizedcentralizedcentralized
Decentralization (prover)centralizedcentralizedcentralizedcentralized
Open source proof codepartialyesyes (full)yes

真实合约地址 / Real Mainnet Addresses

Linea

  • L1 Bridge / L1MessageService: 0xd19d4B5d358258f05D7B411E21A1460D11B0876F
  • PlonkVerifier: 0xB67d0BD4B66B65d9e75E70Cb4E5A5da7C838d3e7 (近似,不同版本不同)
  • Token Bridge: 0x051F1D88f0aF5763fB888eC4378b4D8B29ea3319

zkSync Era

  • DiamondProxy (L1): 0x32400084C286CF3E17e7B677ea9583e60a000324
  • L1 ERC20 Bridge: 0x57891966931Eb4Bb6FB81430E6cE0A03AAbDe063
  • Validator (Proof submitter): 0x3527439923a63F8C13CF72b8Fe80a77f6e572092

Scroll

  • ScrollChain: 0xa13BAF47339d63B743e7Da8741db5456DAc1E556
  • L1MessageQueue: 0x0d7E906BD9cAFa154b048cFa766Cc1E54E39AF9B
  • L1ETHGateway: 0x7F2b8C31F88B6006c382775eea88297Ec1e3E905

Polygon zkEVM

  • PolygonZkEVMBridge: 0x2a3DD3EB832aF982ec71669E178424b10Dca2EDe
  • PolygonZkEVM: 0x5132A183E9F3CB7C848b0AAC5Ae0c4f0491B7aB2
  • PolygonRollupManager (after 2024 fork): 0x5132A183E9F3CB7C848b0AAC5Ae0c4f0491B7aB2

Proof System 深度对比

Linea: Vortex + Wizard-IOP

  • 自研 stack:业务电路用 gnark (Go),IOP 部分用 Wizard-IOP(PLONK 风格 + lookup)。
  • 最终 proof 是 PLONK,链上 ~600k gas verify。
  • 创新点:fast prover(GPU + 优化的 MSM),目标 4 sec/batch。

zkSync Era: Boojum

  • 内层:Plonky2-style FRI(Goldilocks)
  • 外层:包装成 PLONK on bn254 上传 L1
  • prover 完全 Rust + GPU
  • 优势:FRI 不需要 trusted setup,inner proof 快

Scroll: Halo2 + KZG (PSE fork)

  • 全 Halo2 stack,与 PSE 共享 ZkEVM 研究
  • KZG ceremony 用 EF Powers of Tau 2023
  • prover GPU (cuda) 优化
  • 优势:研究透明,最接近 EF 的 zkEVM benchmark

Polygon zkEVM: Plonky2 + PIL

  • 业务约束用 PIL(Polynomial Identity Language,类似 Halo2 列)
  • 内层 Plonky2 (Goldilocks + FRI)
  • 外层包装到 Groth16 (bn254) 上链
  • 特色:deep recursion,最终 proof 极小

DA(Data Availability)方案对比

Rollup上 EIP-4844 之前之后
Lineacalldatablob
zkSync Eracalldatablob
Scrollcalldata → blob (其中之一最早)blob
Polygon zkEVMcalldatablob

EIP-4844(2024-03)后所有主流 zk-Rollup 切换 blob,每条链 cost 降 ~10×。


zkEVM Type 1-4 简介(详细见 Day 235)

TypeEVM 兼容度性能例子
Type 1完全 EVM-equivalent(含 keccak in ZK)极慢Taiko, EF zkEVM (research)
Type 2EVM-equivalent (bytecode level)Scroll, Linea (近似)
Type 3几乎兼容,少数 precompile 不同Polygon zkEVM
Type 4高级语言兼容(Solidity → 自定义 bytecode)zkSync Era, Starknet

选型决策树 / Selection Tree

你要部署 DApp 到 zk-Rollup?

├── 需要完全 bytecode-equivalent(直接搬合约)
│    ├── 最忠实 → Scroll
│    └── 性能优先 → Linea
│
├── 可以接受重新编译 / Solidity 兼容
│    ├── 想要 Native AA → zkSync Era
│    └── Polygon 生态 → Polygon zkEVM
│
└── 跨多个 → 用 LayerZero / Stargate / Across

真实工程问题 / Real Engineering Pitfalls

Linea — keccak ZK化代价

Linea 的 keccak 在 Wizard-IOP 内每个 hash 约 140k 约束。一个 tx 平均 5-10 keccak(log topics、calldata)。所以 batch 大小有上限。

zkSync Era — Solidity 兼容性陷阱

zkSync 用 zksolc (LLVM),与 solc 编译产物不同:

  • 没有 PUSH0 (EIP-3855)
  • create2 字节码不同(地址不同)
  • selfdestruct disabled
  • delegatecall 部分 deviate

真实事件:2023 年某 Aave fork 部署到 zkSync 时,bytecode 比对失败,需要重新审计。

Scroll — Prover 资源

Scroll prover 需要 RTX 4090 ($1500) 或 A100,单 batch 占满 GPU 5-10 min。普通节点不能 prove,目前完全中心化。

Polygon zkEVM — Recursion 深度

由于 wrap 多层,Polygon zkEVM 的 final SNARK 需要 ~30 min 证明,最慢的之一。但 final proof ~5 KB,gas 低。


产品视角 / PM Perspective

Linea 的 PM 卖点

  • ConsenSys 生态(MetaMask + Infura + Truffle 默认推荐)
  • 与 Linea Voyage 大型空投活动结合
  • 适合面向以太坊用户的 DApp

zkSync Era 的卖点

  • Native AA:DApp 可以做 gasless / paymaster / multi-call,UX 大幅改善
  • ZK Stack 可让任何团队 fork 自己 L3
  • 偏向 mass adoption(消费级 DApp)

Scroll 的卖点

  • 最忠实 EVM,开发者迁移零成本
  • 与 EF zkEVM 研究紧密
  • 偏向硬核以太坊原生项目

Polygon zkEVM 的卖点

  • Polygon 品牌 + agg layer(CDK 生态)
  • 跨 Polygon CDK chains 的 unified bridge
  • 偏向企业级跨链应用

关键速查

RollupRPCChain ID
Lineahttps://rpc.linea.build59144
zkSync Erahttps://mainnet.era.zksync.io324
Scrollhttps://rpc.scroll.io534352
Polygon zkEVMhttps://zkevm-rpc.com1101

面试题

  1. Q: 4 大主流 zk-Rollup 中谁最快/最便宜? A: 「最快」要看维度:(a) Prove 时间 — Scroll/Linea 5-10 min;(b) finality 到 L1 — 都需 30 min 1 hour 包含 prove + L1 confirmation;(c) UX 速度 — sequencer 端 ~1 sec confirm,与 OP rollup 持平。「最便宜」目前都在 ~30× cheaper than L1,差异 < 20%。

  2. Q: zkSync Era 的 Type 4 设计有什么 trade-off? A: 优势:自定义 bytecode 可以 ZK-friendly(减少约束)、native AA、可以做 Solidity 之外的语言。劣势:合约不能 1:1 移植(地址、bytecode hash 都变),审计要重做,与 Etherscan 等工具集成需特殊适配。

  3. Q: 为什么 Polygon zkEVM 用 Plonky2 + 包装为 PLONK? A: Plonky2(Goldilocks 域)prover 极快,但 verifier 不能直接在 EVM 上验证(Goldilocks 不是 EVM 原生)。所以最后 wrap 一层 PLONK on bn254,让 EVM precompile 可以 verify。这是「快 prover + EVM 兼容」的折中。

  4. Q: zkEVM 比 OP rollup 强在哪? A: (a) 没有 7 天 challenge period,几小时内 final;(b) 没有 1-of-N honest validator 假设,cryptographic 安全;(c) 状态根直接是 ZK proven。劣势:prove 慢、prover 中心化、工具复杂、迁移成本高。


明日预告

Day 235 — zkEVM Type 1-4 详细分类。Vitalik 提出的分类法,深入对比每一类的设计取舍。