介绍 OP Succinct:在 OP Stack 上实现完全有效性证明

  • Succinct
  • 更新于 2024-09-18 23:10
  • 阅读 553

将 SP1(一个通用的 zkVM) 与 OP Stack (一个经过实战考验的 Rollup 框架)相结合,创建一个快速、经济且高度可定制的 zkEVM Rollup

Introducing OP Succinct: Full Validity Proving on the OP Stack

只需 1 小时即可使用 SP1 将任何 OP Stack 链升级为使用 ZKP

今天,我们很高兴展示如何将 SP1(一个通用的 zkVM) 与 OP Stack (一个经过实战考验的 Rollup 框架)相结合,创建一个快速、经济且高度可定制的 zkEVM Rollup。

历史上,zkEVM Rollup 一直难以构建,需要深厚的密码学专业知识,使得定制和维护变得复杂且耗时。过去一年中,零知识证明取得了巨大进展,像 SP1 这样的 zkVM 引领了这一潮流。SP1 使任何开发者都能无缝地使用标准 Rust 代码集成 ZKP,同时提供实际应用所需的快速性能。

在过去的几个月里,我们与 OP Labs 团队紧密合作,将流行的、经过实战考验的 Rollup 框架 OP Stack 与快速的 zkVM SP1 结合,创建了 OP Succinct:一种无缝的方式,可以在仅 1 小时内将任何现有的 OP Stack 链升级为使用 ZKP。 使用 OP Succinct,你将获得:

  • 由 ZKP 保障的快速终结性——证明延迟可以达到几十分钟,这是对标准乐观 Rollup 的 7 天欺诈证明窗口的显著改进
  • 成本效益高的证明,每笔交易平均成本低至几分钱
  • 优秀的开发者体验,Rollup 团队可以无限制地定制(使用 Rust)并且易于维护

如果你想要一个由 SP1 驱动的类型 1 zkEVM Rollup(作为新的 Rollup 或现有 Rollup 的简单转换)。请联系我们

Succinct 和 Optimism 正在创造 Rollup 的未来

与 Optimism 的紧密合作

OP Succinct 是在与 OP Labs 的紧密合作下构建的。从第一天起,OP Labs 团队就构建了模块化的 OP Stack,并有支持各种有效性机制(不仅仅是乐观故障证明)的路径。

作为其开源计划的一部分,他们最近开发了 Kona:一个 OP Stack Rollup 状态转换函数(STF)的 Rust 实现。借助 Kona 和 SP1,我们能够编写一个简单的 SP1 程序(不到 500 行代码),生成 OP Stack 的 STF 的零知识证明(ZKP)。

OP Succinct 提供的功能

通过将这个 ZKP 融入 OP Stack 的模块化架构中,轻松将 OP Stack Rollup 转换为完全验证的 ZK Rollup,具有令人难以置信的功能:

  • 轻松切换到 ZK:OP Succinct Rollup 只需部署一个智能合约并启动一个轻量级的 OP Succinct 提议服务,通过 API 调用生成证明。你的 OP Stack 链的其余部分保持完全相同,包括批处理器/排序器、op-node、索引器等
  • 快速终结性:今天的 OP Succinct Rollup 在有足够大的集群时,证明延迟在几分钟内,这是对乐观 Rollup 的 7 天欺诈证明窗口的显著改进
  • 低证明成本,未来将提高 5-10 倍:今天,每笔交易的平均证明成本在 0.5-1 美分之间,得益于 SP1 在 zkEVM Rollup 用例中的市场领先性能。作为参考,Base 和 Optimism 的 30 天平均交易费用分别为 2 美分和 5.4 美分 。预计到年底,通过对 SP1 和 Kona 的进一步优化,证明成本将下降 5-10 倍
  • EVM 等效(类型 1):OP Succinct Rollup 是 EVM 等效的,包括完全的字节码兼容性,并使用与以太坊相同的基于 keccak 的默克尔帕特里夏树(MPT)状态根。所有与 OP Stack Rollup 兼容的工具和智能合约都适用于 OP Succinct Rollup
  • 可定制和可维护:定制或升级 OP Succinct Rollup 非常简单:开发者可以通过编写 Rust 代码并修改现有的 STF 来添加新的预编译和修改 Rollup 逻辑。OP Succinct 允许团队拥有 ZK Rollup 而不影响开发者体验
  • 安全:OP Succinct Rollup 重用了大部分经过实战考验的 OP Stack 组件,并在创建 OP STF 的 ZKP 时引入了非常少的代码行。通过复用开源依赖项,如 Kona、Revm 等,这些依赖项在许多上下文中使用,OP Succinct Rollup 使安全性变得简单

SP1 使 EVM Rollup 的证明快速且成本效益高

对于 OP Sepolia 和 Base,我们运行了我们的 OP Succinct 堆栈(包括链上生成和验证证明),以展示使用 SP1 提供完全有效性证明的可行性。查看这里更新的智能合约。

证明成本在每笔交易 0.5-1 美分之间(并将在年底前下降 5-10 倍)

我们计算了在三个 OP Stack 链上集成 OP Succinct 的证明成本。查看以下结果:

每笔交易的平均证明成本 每个区块的平均证明成本 每个区块的平均交易数 每个区块的平均 gas 区块范围
Base 0.61 美分 62 美分 103.4 23.9M 19,299,000 到 19,299,500
OP Mainnet 1.34 美分 21 美分 15.6 5.7M 124,900,000 到 124,900,500
OP Sepolia 1.11 美分 5.8 美分 5.2 1.9M 16,800,000 到 16,800,500

注意:Base 上的每笔交易的平均证明成本较低,因为 Base 上的每笔交易的 gas 使用量是 OP Mainnet 和 OP Sepolia 的 60%。此外,每个区块有一个固定的证明开销,这个开销在 Base 上的较大交易集上摊销(Base 在这个区块范围内的 TPS 为 50,而 OP Mainnet 为 8)。OP Mainnet 和 OP Sepolia 的每笔交易的 gas 使用量相似,但 OP Mainnet 的每笔交易成本较高,因为频繁存在 BN 预编译,这些预编译相对于它们产生的 ZK 证明成本来说定价过低。

你可以使用我们的基准 CLI 工具来计算任何 OP Stack 链(使用以太坊作为 DA)的任意区块范围的这些数字。我们通过运行 SP1 STF 程序来计算证明成本,获取执行程序的 RISC-V 周期数,然后计算在普通 GPU 硬件上需要多少证明时间。从中,我们计算出每笔交易的摊销证明成本。你可以在这里查看完整的结果细分。

为了将成本情境化,Base 和 Optimism 的 30 天平均交易费用分别为 2 美分和 5.4 美分。通过使用 OP Succinct,用户只需每笔交易额外支付半美分即可获得 ZK 的所有好处(其他链上成本如发布 calldata/blob 和在以太坊上验证证明在常规 OP Stack rollup 和 OP Succinct rollup 之间保持不变)。目前,SP1 的快速性能使得完全 ZK 证明的 OP Stack rollup 的成本变得实际。但我们还估计,到年底这些成本将下降 5-10 倍——在下面的部分中阅读更多内容。

快速证明生成允许快速最终确定

OP Succinct rollup 具有快速最终确定性,目前每小时在链上提交一个区块范围的证明(与 OP 主网相同,尽管可由 rollup 操作员配置为更低)。考虑到具有足够大集群的证明生成延迟和更频繁的链上提交,OP Succinct rollup 可以轻松实现分钟级别的最终确定性。这允许用户在证明在链上结算后立即对该最终状态根进行提款,而不是像传统的 OP stack rollup 那样等待 7 天。

OP Succinct 提议服务架构:OP Succinct rollup 中的提议服务生成一系列区块的证明(而不是单个区块),以摊销与从 L1 派生状态相关的 计算开销区块范围的证明是并行生成的,然后每小时聚合并作为单个 ZKP 提交到链上。

5-10 倍性能提升即将到来

性能指标仅呈现成本和延迟的时间点视图。然而,重要的是要意识到 SP1 的性能每个月都在迅速提高。自 2 月以来,使用 SP1 证明以太坊区块的成本已从平均每笔交易 1 美分下降到 0.1 美分。

通过 SP1 性能改进和 OP Stack 和 Kona 程序的协议和软件优化的结合,我们预计到年底 OP Succinct rollup 的性能将提升 5-10 倍。我们在性能路线图部分中讨论了对 SP1 的优化,包括下一代递归系统、优化我们的 2 阶段证明器和更好的 STARKs 算术化。

我们有许多优化 OP Stack 协议和 Kona 程序本身的想法,以使程序在 SP1 中更容易证明(即更少的 RISC-V 周期),包括:

  • 向 OP Stack 存款添加 nonce,在 STF 中执行派生时无需遍历所有 L1 区块收据
  • 在发布新批次交易时,在链上维护所有 blob 承诺的增量默克尔树
  • 分析 Kona 并从不必要的内存复制和冗余循环中删除 RISC-V 周期(最近的一些优化减少了 30% 的周期!)

通过两个简单步骤将你的 OP Stack rollup 升级为使用 ZK 证明

OP Stack 的模块化设计使得将 OP Stack rollup 转换为 OP Succinct rollup 变得简单。转换只需要两个步骤:

  1. 部署 ZK L2OutputOracle.sol 合约:部署一个负责验证 STF 证明并跟踪最新验证状态根的智能合约。
  2. 启动 OP Succinct 提议服务:运行一个命令,启动一个轻量级提议服务,该服务跟随你的链的最新状态(使用你的 L1 + L2 的 RPC)并以配置的节奏从 Succinct Prover Network 请求证明。

你可以在这里找到更详细的说明,如果你打算在生产(或测试)中使用此功能,请联系我们

OP Stack 基础架构的缺乏变化是一个游戏规则改变者。我们能够重用几乎所有的堆栈组件,如排序器、批处理器、op-node、op-geth 等。因为这种集成利用了 OP Stack 的模块化,并且故意保持最小的表面积(以及非常少的代码行!),它可以整齐地集成到现有的部署中,包括那些与 rollup-as-a-service 团队合作的部署。

结合 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 团队提供了一个允许定制和维护的流畅开发者体验。

通过 OP Succinct rollup,我们可以拥有一切。

今天就使用 OP Succinct

考虑部署 OP Succinct rollup 或将现有 rollup 转换为 OP Succinct rollup?请通过这里联系我们。如果你符合以下任何一种情况,我们很乐意与你交流:

  • 探索新 rollup 选项的团队:如果你的团队正在探索部署 rollup 并希望了解更多关于 OP Succinct rollup 的信息。
  • RaaS 团队:如果你是 RaaS 团队,并希望将 OP Succinct rollup 作为你平台的一部分(部署应该非常容易)!现有 rollup 团队:如果你的团队目前有一个 rollup,并希望将其从乐观 rollup 迁移到 ZK rollup,或一般性地探索迁移到 OP Succinct rollup。

代码:我们的代码是完全开源的,采用 MIT 许可证:查看 OP Succinct 代码SP1 代码

贡献到 SP1: 如果你有兴趣为 SP1 本身做出贡献,请查看 Github 仓库中的开放问题列表!

致谢

OP Succinct 利用了以太坊和 Optimism 生态系统中大量高质量的开源工作,最重要的是 OP Stack 和 Kona。如果没有 OP Labs 团队的出色工作,我们无法构建这一切,他们从第一天起就有远见地将代码设计为模块化和开源的。我们还要特别感谢 OP 团队中的 ClabbyRefcell,他们创建了 Kona,并在我们构建此集成时与我们密切合作。他们耐心地回答了我们所有的问题,并上游合并了我们的一些 PR。我们要特别感谢 Mark Tyneway、来自 Revm 的 Dragan 以及所有帮助我们进行此次合作的 Reth 团队成员。

最后,我们要感谢 Zach Obront,他在过去几个月里与我们密切合作,并与 Succinct 团队的其他成员一起领导了此次集成。

我是 AI 翻译官,为大家转译优秀英文文章,如有翻译不通的地方,在这里修改,还请包涵~

点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
Succinct
Succinct
Building towards a proof-based future.