1. 引言
OP Succinct:
- OP Stack + Succinct SP1 zkVM
- 主要功能:将ZKP集成到OP Stack的模块化架构中,将OP Stack Rollups转换为fully verified ZK Rollups
- 致力于使用Rust和SP1,在OP Stack内部署Type-1 zkEVM(fully Ethereum-equivalent)
- OP Succinct Proposer:
- 可并行生成proof
- 做proof aggregation和verification
- 由 ZKP 确保的快速最终性——证明延迟可以在几十分钟的数量级上,这比标准乐观rollup的 7 天欺诈证明窗口有了显着的改善。使用ZK proofs来缩短交易finality时长,消除对扩展欺诈证明窗口的需要。
- 现有OP Stack系统依赖于“7天欺诈证明窗口期”,若有争议,会导致交易延迟。
- 具有成本效益的证明, 平均每笔交易的成本低至十分之一美分。可大幅降低交易开销。
- 为rollup团队提供出色的开发体验,具有无限的自定义(在 Rust 中)和易于维护的特性。
- 开源代码实现见:https://github.com/succinctlabs/op-succinct(Rust+Go)
- 2024年10月,Conduit平台宣布支持OP Succinct Rollup部署。Conduit的Conduit Marketplace,旨在为Rollup团队提供一站式集成解决方案。
OP Stack的四大组件为:
- 1)op-geth:从L2用户那收集交易,并基于这些交易生成和执行区块。
- 2)op-batcher:打包L2用户交易并将其提交到L1
- 3)op-node:从L1读取batch数据,并驱动op-geth以non-sequencer模式来做state transition。
- 4)op-proposer:定期发布output roots到L1,捕捉L2状态并促进取款。
其中:
- op-geth和op-node是节点相关组件
- op-batcher和op-proposer是sequencer相关组件
- op-proposer对于固化state transition至关重要,会将L2的updated state的Merkle root写入到L1的L2OutputOracle合约。这些output proposer在获得授权之前必须经过7天的欺诈挑战期,以促进潜在的争议和挑战,从而提高网络的可靠性和问责制。
OP Succinct 是Succinct Labs 与 OP Labs 密切合作开发的。从第一天起,OP Labs 团队就将 OP Stack 构建为模块化,并支持各种有效性机制(而不仅仅是乐观故障证明)。
作为OP Stack开源计划的一部分,最近开发了Kona(https://github.com/anton-rs/kona(Rust)):
- OP Stack rollup状态转换函数 (STF) 的 Rust 实现。
借助 Kona 和 SP1,能够编写一个简单的 SP1 程序(少于 500 行代码),以生成 OP Stack 的 STF 的零知识证明 (ZKP)。
2. OP Succinct架构
OP Succinct中包含如下四大组件:
- 1)range program:处理batch blocks的program,以Rust编写并设计为在SP1 zkVM内运行。
- 2)aggregation program:聚合源自range program的proofs,以降低链上验证开销,也是以Rust编写并设计为在SP1 zkVM内运行。
- 3)OP Succinct L2 Output Oracle:为包含一组L2 state outputs的Solidity合约,其中每个L2 state output都是对L2链状态的commit。该合约存在于原始Optimism系统内,但需修改为使用proof verifications来作为认证机制。
- 4)OP Succinct Proposer:观察发布到L1的transaction batches,并管理range program和aggregation program的proof生成。
现有OP Stack rollup升级到Type-1 zkEVM rollup,仅需包含如下2步:
- 1)部署ZK L2OutputOracle.sol合约
- 2)启动OP Succinct proposal 服务
3. 结合 OP Stack、Rust 和 SP1 实现以太坊扩容
在 OP Succinct 之前,创建 ZK Rollup 非常困难,更不用说Type-1 zkEVM Rollup(即完全兼容 EVM)。如今,大多数 zkEVM 都不支持标准预编译(如 ecpairing),并且为了使状态根计算更兼容 ZK,它们会使用自定义数据结构。但对于 Rollup 团队来说,更糟糕的是,这些 zkEVM 需要专门的密码学专业知识,因此很难定制和维护。
OP Succinct 解决了所有这些问题。它结合了 OP Stack、开源 Rust 生态系统和 SP1,提供了兼具所有优点的 type-1 zkEVM:
- 快速终结
- 低廉的成本
- 和出色的开发人员体验。
以太坊扩容的最终目标是每个 rollup 都是 ZK rollup。在这个世界上,用户将不再需要等待 7 天才能从 rollup 中提取资金,他们将拥有跨生态系统的无缝互操作性,资本效率和可验证性将显著提高。有了 OP Succinct rollup,可以获得所有这些好处,并为 rollup 团队提供流畅的开发人员体验,允许自定义和维护。
其中SSZ 是指以太坊beacon chain所采用的序列化方法:Simple Serialize。
4. SP1 使 EVM rollup验证变得快速且经济高效
4.1 证明成本为每笔交易 0.5-1 美分(到今年年底将下降 5-10 倍)
计算了 OP Succinct 集成在三个 OP Stack 链上的证明成本。请查看以下结果:
Chain | Avg proving cost / tx | Avg proving cost / block | Avg # tx / block | Avg gas / block | Block Range |
---|---|---|---|---|---|
Base | 0.61 cents | 62 cents | 103.4 | 23.9M | 19,299,000 to 19,299,500 |
OP Mainnet | 1.34 cents | 21 cents | 15.6 | 5.7M | 124,900,000 to 124,900,500 |
OP Sepolia | 1.11 cents | 5.8 cents | 5.2 | 1.9M | 16,800,000 to 16,800,500 |
注意:
- Base 上每笔交易的平均证明成本更便宜,因为 Base 上每笔交易的 gas 消耗量是 OP Mainnet 和 OP Sepolia 每笔交易 gas 消耗量的 60%。
- 此外,每个区块的证明开销是固定的,该开销在 Base 上更大的交易集合中摊销(Base 的 TPS 为 50 TPS,而 OP Mainnet 的 TPS 为 8 TPS)。
- OP Mainnet 和 OP Sepolia 每笔交易的 gas 消耗量相似,但 OP Mainnet 每笔交易的成本更高,因为 BN 预编译经常出现,相对于它们产生的 ZK 证明成本而言,BN 预编译的价格较低。
可使用基准测试 CLI工具在任何 OP Stack 链(使用以太坊进行 DA)的任意区块范围内计算这些数字。通过对一系列区块(取自链本身)运行 SP1 STF 程序来计算证明成本,获取执行该程序的 RISC-V 循环计数,然后计算在商用 GPU 硬件上需要多少证明时间。据此,计算出每笔交易的摊销证明成本。
详细的基准测试结果可参看:
为了说明成本,Base 和 Optimism 的 30 天平均交易费分别为2 美分和 5.4 美分。通过使用 OP Succinct,用户只需为每笔交易额外支付半美分即可获得 ZK 的所有好处(其他链上成本,如在以太坊上发布 calldata/blobs 和验证证明,在常规 OP Stack rollup 和 OP Succinct rollup 之间保持不变)。SP1 的快速性能已经使完全 ZK 证明的 OP Stack rollup 的成本变得切实可行。但是,预计到2024年年底这些成本将下降 5-10 倍。
4.2 快速生成证明,实现快速终结
OP Succinct Rollups 具有快速的最终确定性,目前每 1 小时在链上提交一系列区块的证明(与 OP 主网相同,尽管 rollup 操作员可以将其配置得更低)。考虑到集群足够大且链上提交更频繁的证明生成延迟,OP Succinct Rollups 可以轻松在几分钟内完成最终确定。这允许用户在证明在链上结算后立即根据此最终状态根进行提款,而不必像传统 OP 堆栈 Rollups 那样等待 7 天。
OP Succinct 提议者服务架构: OP Succinct rollups 中的提议者服务会为一系列区块(而非单个区块)生成证明,以分摊从 L1 获取状态所需的计算开销。区块范围的证明是并行生成的,然后每小时聚合并作为单个 ZKP 提交到链上。
4.3 5-10 倍性能提升即将到来
性能指标仅显示成本和延迟的一个时间点视图。但是,重要的是要意识到 SP1 的性能每个月都在迅速提高。自2024年2月以来,使用 SP1 证明以太坊区块的成本已从平均每笔交易 1 美分降至 0.1 美分,降幅达 10 倍。
通过结合 SP1 性能改进以及对 OP Stack 和 Kona 程序的协议和软件优化,预计到2024年底 OP Succinct rollups 的性能将提高 5-10 倍。在性能路线图部分讨论了对 SP1 的优化,其中包括下一代递归系统、优化 2 阶段prover和更好地计算SP1的 STARK。
Succinct团队目前有很多关于优化 OP Stack 的协议和 Kona 程序本身的想法,以使程序在 SP1 中更容易证明(即更少的 RISC-V 周期),包括:
- 将随机数添加到 OP Stack 存款中,从而无需在 STF 中执行派生时遍历所有 L1 区块收据
- 在发布新一批交易时,为链上的所有 blob 承诺维护增量 Merkle 树
- 对 Kona 进行分析并从不必要的内存复制和冗余循环中删除 RISC-V 循环(最近的一些优化减少了 30% 的循环!)
参考资料
[1] YBB Capital 2024年9月25日博客 The Evolution of OP Stack: OP Succinct Unlocks ZK Rollup Potential
[2] xpara 2023年6月22日博客 OP-Stack: Most Simple Framework to Build Your Blockchain
[3] Optimism docs OP-Challenger Explainer
[4] Succinct团队2024年9月10日博客 Introducing OP Succinct: Full Validity Proving on the OP Stack