跳至内容
0%

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

发布于 2026年8月13日3 分钟阅读

ZK Rollup 完整 RaaS 指南

在过去近十年的大部分时间里,对于"是否应该在 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 相比如何?

两者都将交易数据发布到基础层,也都继承了基础层的安全性。它们的区别在于要求基础层相信什么。

Dimension
ZK rollups
Optimistic rollups

Proof model

Validity proof with every batch

Fraud proof, only if challenged

Withdrawal to L1

Once the proof is verified

After the dispute window, conventionally 7 days

Cost profile

Proof generation is the main overhead

Cheap to operate, cost sits in the challenge system

EVM compatibility

Varies by zkEVM, strong and improving

Near-complete, mature

Security assumption

Cryptographic

Economic, requires at least one honest challenger

乐观 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-serviceRaaS 与 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在基础层合约中,只有当一个有效证明在链上通过验证后,新的状态根才会被接受,因此运营方无法提交无效状态。批次数据的单独发布确保任何人都能独立重建该状态,并发现运营方是否隐瞒了数据。而抵御针对单笔交易的审查则是一项独立的保证,它依赖于一条通往基础层的强制纳入路径。

Background gradient

构建区块链应用

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