什么是 ZK rollup?关于零知识证明与 rollups-as-a-service(RaaS)的完整指南
作者 Uttam Singh

在过去近十年的大部分时间里,对于"是否应该在 ZK rollup 上构建"这个问题,诚实的答案是"还不到时候"。生成一个有效性证明需要几分钟,且要花费真金白银,通过证明系统运行普通的 EVM 字节码更像是一个研究项目,而非一个可部署的目标。
情况变化很快。据以太坊基金会的 zkEVM 安全路线图显示,在大约一年的时间里,Ethereum 区块的证明延迟从 16 分钟降到了 16 秒,证明成本降低了 45 倍。ZK rollup 用证明取代了信任。剩下要决定的不再是这项技术是否可行,而是运行一条自己的链是否值得由此带来的运维负担。
什么是 ZK rollup?
零知识 rollup 是一种扩容方案,在主链之外执行交易,然后将一个证明结果状态正确的密码学有效性证明发布回基础层。基础层不会重新执行这些交易,它只验证证明。
可以把它想象成交一份数学试卷,阅卷人检查的是一份简短的证明凭据,而不是重新做一遍每道题。这份凭据很小,检查起来很快,而错误的答案无法生成有效的凭据。这种不对称正是整个机制的核心。验证一个证明的成本远低于执行其背后的交易,因此在相同的基础层容量下,rollup 能够推送更高的吞吐量。
"零知识"这个名字容易让人误解。它描述的是证明系统,而非链的隐私属性。ZK rollup 上的交易默认是公开的,和 Ethereum 上一样。证明所确立的是状态转换有效,验证者无需重新执行即可确认,这是一种简洁性(succinctness)属性,而非保密性属性。真正的隐私需要额外的专门工作,通常是加密或在其之上构建专门的隐私层。
因此,应把 ZK rollup 当作一个扩容和最终性方面的决策。如果你需要保密性,那是一个独立的设计问题,仍需自行解决。
ZK rollup 如何运作?
四个组件依次完成这项工作,彼此衔接。
- 排序器(sequencer) 接收用户提交的交易,对其排序并打包成批次。这正是用户获得快速确认的原因,远在任何数据到达基础层之前。
- 证明器(prover) 接收批次并生成有效性证明,通常是 SNARK 或 STARK,用以证明基于之前的状态执行这些交易会得到新的状态。
- 验证合约(verifier contract) 部署在基础层上。它检查证明,如果证明成立,就接受新的状态根作为规范状态。
- 数据可用性层 存储足够的交易数据,使任何人都能独立重建 rollup 的状态,并验证运营方没有隐瞒任何信息。
状态本身通过 Merkle 树 追踪,一个单一的根哈希锚定了每个账户余额和合约槽。每个被接受的批次都会推进这个根,因此基础层持有的只是一个小的承诺,而非完整的 rollup 状态。
最后这一项,即数据可用性,是经济模型变化最大的地方。过去 rollup 需要为发布批次数据支付基础层 calldata 的费用,这既昂贵,数据又会永久留在链上。Ethereum 的 Dencun 升级在 2024 年 3 月引入了 blob,这是一条独立定价、专为此用途设计的独立数据通道。blob 数据大约 18 天后就会被清理,而不是永久保留,这是刻意为之的设计。rollup 数据不需要无限期保存,只需要在足够长的时间内可供任何人下载并重建链的状态即可。PeerDAS 是随 2025 年 12 月 Fusaka 一同上线的数据可用性抽样升级,它使运行更大的 blob 数量成为安全之举。而容量的提升本身则来自只改变 blob 参数的小型后续分叉。
数据可用性已不再是曾经那种占主导的成本项。对于当下评估 rollup 成本的团队而言,证明生成和排序器运营才是真正重要的成本项,任何仍基于旧 calldata 假设建立的成本模型都会有数量级的误差。
ZK rollup 对开发者意味着什么?
费用下降的原因在于,发布和验证一个批次的成本被摊薄到批次内的每一笔交易上。吞吐量提升也是同样的道理,因为基础层的容量约束的是证明验证,而非交易执行。
提款无需经过挑战期。乐观 rollup 默认批次有效,除非有人对其提出异议,因此它会将提款保留一段争议期,通常为七天。而有效性证明在被验证的那一刻就已经确立了正确性,因此无需等待。对于任何涉及跨层转移资产的场景,这一差异是用户真正能感受到的。
可验证性来自数据可用性要求。由于批次数据是公开发布的,任何人都可以独立重建 rollup 的状态,因此运营方既无法提交虚假状态,也无法隐瞒用于验证的数据。但这并不能提供抗审查性。排序器仍然可以悄悄拒绝纳入你的交易,无论发布了多少数据,都无法揭示一笔从未被排序的交易。这种保护来自强制纳入(forced-inclusion)路径,即用户可以直接向基础层合约提交交易,rollup 有义务将其纳入。在评估一条链时,请确认这一应急出口确实存在,且在没有运营方配合的情况下也能生效。
综合来看,对于结算速度和单笔交易成本是产品特性而非实现细节的应用来说,ZK rollup 是一个合理的默认选择。支付、交易所和游戏能立刻感受到这种差异。而低频应用大概率感受不到。
ZK rollup 如何支持智能合约集成?
证明任意智能合约的执行远比证明简单转账要难得多,这也是为什么最早的 ZK rollup 只支持支付和兑换。证明 EVM 字节码意味着要把每一个操作码都表达为证明系统内的约束条件,而 EVM 在设计之初并未考虑到这一点。
zkEVM 就是应对方案,不同实现在与 Ethereum 的贴合程度上各不相同。一些方案直接证明 Ethereum 的执行层,这样兼容性最大化,但代价是证明性能受影响。另一些方案会调整字节码或状态树以降低证明成本,这意味着部分合约和工具需要相应调整才能正常运作。评估任何 zkEVM 时,应对照你实际的依赖关系,而非其宣称的兼容性标签。
曾经使这一切成为一个研究难题的性能差距已基本弥合。据以太坊基金会披露,证明器目前在目标硬件上能在 10 秒内处理 99% 的 Ethereum 区块,这是一个按区块计的证明指标,而非上文引用的端到端延迟数字。其当前的重心已从速度转向安全性。已发布的路线图将 128 位可证明安全性和小于 300 KiB 的证明体积设定为 2026 年底的目标,同时还包括对递归架构的形式化验证。
证明速度已不再是阻碍你走向生产级 zkEVM 的因素。不妨转而问问某个团队的安全性证明进展到了哪一步。
ZK rollup 与乐观 rollup 相比如何?
两者都将交易数据发布到基础层,也都继承了基础层的安全性。它们的区别在于要求基础层相信什么。
乐观 rollup 运行成本更低,在 EVM 兼容性方面也起步更早,这也是为什么按活跃度排名靠前的通用型 L2 目前仍以乐观 rollup 为主。ZK rollup 则要为证明付出成本,以换取更快的结算速度和一种密码学而非经济学意义上的信任模型。
在通用型工作负载上,双方已不再有明显的优劣之分。当快速、最小化信任的结算值得为证明成本买单时,选择 ZK;当原始运营成本和最大程度的 EVM 兼容性更重要时,选择乐观 rollup。
什么是 rollups-as-a-service(RaaS)?
过去要启动一条 rollup,意味着要自己搭建排序器、证明器、桥接合约和数据可用性方案,然后让这四者持续无休止地运行下去。那是一个链团队该做的事,而不是一项功能。
Rollups-as-a-service 把这一整套堆栈变成了由服务商为你运行的东西。你选择一个框架、设定好参数,服务商则在底层运营排序器、证明器、桥和节点基础设施。你所保留的是链本身,包括它的手续费代币、Gas 策略、交易排序规则,以及任何一条共享链永远不会代你强制执行的合规逻辑。
早期 RaaS 宣传中经不起时间检验的部分,是暗示这是一件五分钟就能完成、之后可以撒手不管的事。它确实比从零开始构建快得多,也免除了值守运维的负担。但它并不能免除架构层面的决策。你仍然需要选择结算到哪个基础层、你的数据可用性权衡是什么、排序器去中心化将如何演进,以及底层堆栈的升级如何在不破坏你链的前提下传递到你的链上。
应把 RaaS 视为外包了运维,而非外包了设计。关于该模式本身的详细讨论,参见 rollups-as-a-service 和 RaaS 与 appchain。
什么时候适合启动自己的 ZK rollup?
在几种特定情形下,一条专属 rollup 所带来的复杂性是值得的。
- 可预测的高交易量。 一旦你持续为大量区块空间付费,专属容量的定价就开始优于在共享容量中竞争。
- 共享链无法满足的合规要求。 白名单参与者、交易级别的策略,或司法管辖限制,只有在你自己控制的链上才能强制执行,别无他处。
- 依赖专属区块空间的产品体验。 如果你的确认时间不能因为无关的铸造活动导致网络拥堵而降低,那么共享区块空间就是一种负担。
如果交易量还只是推测性的,那么这就是一个错误的选择。托管服务商能吸收运维负担,但你仍然要承担桥的安全性、排序器的存活性,以及一个你必须持续跟进的升级节奏。这样的运维负担,值得为真实需求而承担,而不是为预测的需求承担。在做出承诺之前,值得先读一读 rollup 的商业模式,因为一条链必须赚回它的运营成本。
大多数团队更适合的做法是,先通过标准的 RPC 访问 在一条成熟的链上上线产品,等使用模式足以支撑这一决策时再重新考虑。推迟这个决定的代价非常小。而拆除一条本不该启动的链,代价却很大。
联系我们的 Rollups 团队,了解如何启动属于你自己的链
关于零知识 rollup 的常见问题
什么是 ZK rollup?
ZK rollup 是一种 Layer 2 扩容方案,以批次的形式在链下执行交易,然后向基础层发布一个密码学有效性证明,证明所得到的状态是正确的。基础层验证该证明,而不是重新执行这些交易,从而在继承基础层安全性的同时降低成本、提高吞吐量。
ZK rollup 如何运作?
排序器把交易打包成批次,证明器生成诸如 SNARK 或 STARK 之类的有效性证明,基础层上的验证合约在接受新的状态根之前检查该证明。交易数据会被发布,使任何人都能独立重建 rollup 的状态。目前 Ethereum 上的 rollup 通过 blob 而非 calldata 发布这些数据。
ZK rollup 具有隐私性吗?
不,默认情况下没有。"零知识"描述的是证明系统,它让验证者无需重新执行即可确认某个状态转换是有效的。ZK rollup 上的交易是公开可见的,和 Ethereum 上一样。要实现保密性,需要在其之上专门构建额外的隐私层。
ZK rollup 与乐观 rollup 有何不同?
ZK rollup 会证明每一个批次都是有效的,因此提款一旦证明通过验证就能结算。乐观 rollup 默认批次有效,除非受到挑战,这也是为什么提款要等待一个争议期,通常为七天。ZK rollup 依赖密码学保证;乐观 rollup 依赖经济激励和至少一位诚实的挑战者。
有哪些领先的 ZK rollup 项目?
ZKsync Era、Starknet、Scroll 和 Linea 是大多数团队会评估的通用型 ZK rollup,其中 Scroll 和 Linea 都以接近 EVM 等价性为目标。Starknet 目前在 L2Beat 上被评为 Stage 1,不过随着更严格规则的实施,预计会被降级为 Stage 0;Scroll、ZKsync Era 和 Linea 均为 Stage 0。Polygon zkEVM 的 Mainnet Beta 排序器已于 2026 年 7 月 1 日下线,Polygon 已将重心转向 Polygon PoS 和 Agglayer。
智能合约能在 ZK rollup 上运行吗?
可以,通过证明 EVM 执行的 zkEVM 实现来完成。兼容性因实现而异。一些 zkEVM 直接证明 Ethereum 的执行层以实现最大兼容性,而另一些则修改字节码或状态结构以降低证明成本,这可能需要对合约或工具做出调整。应对照你实际的依赖关系来检查兼容性,而不是依据笼统的宣称。
Rollups-as-a-service(RaaS)指的是什么?
Rollups-as-a-service 是指由服务商为你所配置和拥有的 rollup 运营排序器、证明器、桥和节点基础设施。它免除了运行一条链所带来的运维负担,但不会免除架构层面的决策,包括基础层的选择、数据可用性方面的权衡、排序器去中心化,以及堆栈升级如何传递到你的链上。
ZK rollup 的安全性来自哪里?
ZK rollup 的安全性继承自基础层。资金held在基础层合约中,只有当一个有效证明在链上通过验证后,新的状态根才会被接受,因此运营方无法提交无效状态。批次数据的单独发布确保任何人都能独立重建该状态,并发现运营方是否隐瞒了数据。而抵御针对单笔交易的审查则是一项独立的保证,它依赖于一条通往基础层的强制纳入路径。
相关概览
Rollups2026年8月11日
ZK-rollup 项目:完整指南
几年前排在 ZK-rollup 榜单前列的大多数项目已经消失。而它们当初押注的证明技术,如今却处于历史最佳状态。
2025年9月18日
rollups 的商业模式(rollup 经济学 2.0)
人人都在谈论 rollups 是 Ethereum 的未来,但对企业而言,推出自己的 rollup 在经济账上是否划算?
Rollups2025年4月18日
什么是 Superchain?深入解析 OP Stack Rollups
了解 Optimism Superchain 的运作方式,以及 OP Stack 如何通过 L2 Rollups 扩展 Ethereum。

构建区块链应用
Alchemy 将最强大的 Web3 开发者产品和工具与资源、社区及专业支持结合在一起。