1、SP1 Reth是使用 SP1 构建的高性能 type-1 zkEVM
2、它一个开源概念验证,展示了如何使用 SP1 以少于 2000 行可维护的 Rust 代码构建高性能的zkEVM。SP1 Reth 是一个早期的 POC,但通过利用 SP1 的开源、可定制的预编译系统,已经实现了令人难以置信的性能(平均以太坊交易的证明成本约为 0.01-0.02 美元),并且未来还会进行实质性的改进。
1、目前的问题
Optimistic Rollups 面临许多挑战:7 天的提现时间、复杂的互操作性,以及(在某些情况下)在生产中依赖多重签名而不是欺诈证明机制。
创建 zkEVM 需要一支擅长手动滚动自定义 ZK 堆栈的专业团队进行长期且昂贵的开发。
这个复杂的过程就是我们构建 SP1 的原因:一个 100% 开源、可定制的 zkVM,其性能可与定制电路相媲美。借助 SP1,任何 rollup 团队都可以用 Rust 构建一个 zkEVM,该 zkEVM 可重用现有开源库和节点软件中的组件,其性能足以满足实际使用。
2、SP1 Reth的优势
SP1 Reth概念验证利用了开源以太坊生态系统中现有的组件(Reth、Revm、Alloy、Zeth),代码量少于 2000 行,并生成了完整以太坊区块执行的 ZKP(已通过 SP1 验证)。与使用自定义电路构建的 zkEVM 相比,这种方法具有显著的优势。
由于代码重用,SP1 Reth 的可维护性和安全性大大提高,与定制电路相比,审计面更小。使用普通代码允许任何开发人员在添加新的预编译或进行其他更改时轻松自定义 zkEVM。最后,SP1 Reth 的开发时间比定制电路快 100 倍,并且不需要专业知识。
1、利用预编译实现 SOTA 性能
以前的通用 zkVM 需要大型集群来证明 zkEVM 程序,每个块的计算成本约为 10-20 美元。SP1 Reth 利用 SP1 的预编译系统将成本降低了一个数量级,使得用 Rust 编写的 zkEVM 的证明生成终于变得切实可行。
SP1 的 100% 开源和可定制预编译系统是SP1 Reth 性能与定制电路相媲美的关键原因。关键见解是验证以太坊区块执行的大部分时间都花在重复、昂贵的加密操作上,例如哈希函数或签名验证。借助 SP1 的多表、以预编译为中心的架构,这些操作的“预编译”成本与电路中支付的成本非常相似。由于总体成本由这些预编译操作主导,因此 zkVM 的开销最终无关紧要:80-20 原则在起作用。
2、SP1 Reth 在典型的以太坊交易中实现了 0.01-0.02 美元的证明成本
我们在一系列以太坊区块上对 SP1 Reth 的性能进行了基准测试,结果显示证明成本方面取得了最佳成果:典型以太坊区块中每笔交易的平均证明成本为 0.01-0.02 美元。Rollups 已经为 L2 交易的调用数据向以太坊支付了 0.10-0.25 美元,这使得 ZKP 交易执行的 0.02 美元成本与 DA 成本相比微不足道,并且对于当今大多数 L2 来说非常实用。
SP1 Reth 是一个简单的 POC,只是 SP1 功能的预览。我们对此感到兴奋,因为它实现了几个数量级的改进。
1、预编译 BigInt:以太坊使用 256 位算法,导致大量 zkVM 周期花在 BigInt 操作上。在 SP1 中添加 BigInt 预编译非常简单,可以减少此性能瓶颈。
2、优化的 Serde/Deserde:目前,许多 zkVM 周期都花在序列化和反序列化输入的内存操作上。应该可以利用更高效的零拷贝 Serde/Deserde 库来减少周期数并显著提高性能。
3、简洁证明网络上的专用硬件:简洁证明网络将为最佳硬件团队提供一个竞争性的市场,通过利用定制硬件在证明生成成本上展开竞争,从而使成本再降低 10-100 倍。