欧易数字货币交易所 更快、更好、更强

OP Stack的进阶之路:OP Succinct解锁ZK Rollup潜力

09,252024(UTC)LikeDislikeComment作者:YBBCapitalResearcherAc-Core

TL;DROPSuccinct提供的主要功能是将ZKP融入OPStack的模块化架构中以完成将OPStackRollup转换为完全验证的ZKRollup;

如果以太坊未来扩展的终局是将每个Rollup都转化为ZKRollup,OPSuccinct的目的是结合Rust和SP1实现OPStack的Type-1zkEVM(完全以太坊等效)的部署;

OPSuccinctProposer主要完成了并行生成证明和证明聚合与验证;

OPStack现有系统依赖于"7天防欺诈窗口",如产生争议会延期一周的交易验证,OPSuccinct利用ZK证明来缩短交易完成所需的时间,消除了对扩展防欺诈窗口的需求;

OPSuccinct可极大降低交易成本。

一、近期回顾:OPMainnet近况以及OPStack与OPLabs

图源:Blockscout1.1OPMainnet近期发展要点据2024年3月30日消息,OPLabs在OPSepoila测试网发布了“故障证明”,并于2024年6月11日正式在OPMainnet发布故障证明,以此将去中心化推进至第一阶段,其允许从OPMainnet提取ETH与ERC-20代币,在无需可信第三方情况下使用户能够质疑与删除无效提款(包括Base、Metal、Mode和Zora)。

为确保用户资产的安全和信任,Optimism采用故障证明来提高链上交易的准确性和有效性并防止作恶,其原理包括:

数据可用性:故障证明首先确保所有Layer-2上的数据都是可访问的,并且可以被Layer-1验证;

挑战期:在一定的挑战期内,任何人都可以对Layer-2上的数据提出异议。

如果有人发现Layer-2的数据与Layer-1的数据不一致,他们可以提出挑战。证明提交:如果存在异议,Layer-2运营商需要提交证明来反驳这些异议,证明其数据的正确性;最终确定性:如果在挑战期内没有有效的异议,或者Layer-2运营商成功反驳了异议,交易就会被最终确定并被认为是有效的。

1.2.OPStack与OPLabs的关联和区别OPLabs是开发Optimism解决方案的团队或组织,而OPStack是一个用于构建和扩展以太坊二层网络的技术框架。可以将OPLabs和OPStack之间的关系理解为开发者与其开发工具的关系。

OPLabs:

OPLabs是Optimism项目的核心贡献者,负责开发和维护Optimism二层解决方案。它是一个团队或组织,专注于构建和改进与以太坊扩展相关的技术工具,如OptimisticRollups。OPLabs的主要目标是通过二层扩展解决方案减轻以太坊主网的负载,降低交易成本并提高交易速度​。OPLabs还与其他项目(如SuccinctLabs)合作,进一步推进以太坊扩展技术,如OPSuccinct,专注于零知识证明的优化​。

OPLabs是开发和维护Optimism网络的主要团队或组织。他们的目标是构建一个扩展以太坊的高效解决方案,专注于降低交易费用并提高交易速度。他们不仅负责OptimisticRollups的开发,还积极推动与零知识证明相关的新技术,例如与SuccinctLabs合作的OPSuccinc。

OPStack:

OPStack是一个模块化的架构或技术堆栈,用于构建和扩展以太坊二层网络。它由多个可定制的组件组成,这些组件允许开发者根据具体需求构建自己的二层链(Layer2Chain)。它提供了一种标准化的方式,使开发者可以快速搭建符合特定条件的二层扩展网络。

OPStack则是OPLabs开发的一套模块化框架。这套框架提供了构建二层网络的基础架构,开发者可以利用OPStack快速搭建不同的扩展网络。由于OPStack的模块化设计,它允许用户灵活选择不同的验证机制(如OptimisticRollups或ZKRollups),从而满足不同项目的需求。

OPLabs可理解为OPStack的开发者,OPStack是OPLabs提供的技术工具,用于帮助开发者构建和扩展以太坊的二层网络。

在了解OPSuccinct前需补充了解每个OPstack的四个主要组件:1.op-geth:从用户那里获取交易,并用这些交易生成区块和执行区块;2.op-batcher:将用户的交易进行批处理,并提交到L1;3.op-node:从L1读取批处理数据,并在非排序器模式下驱动op-geth进行状态转换;4.op-proposer:定期向L1发布输出根,以捕获L2状态,从而便于处理提款。

二、SuccinctLabs与OPLabs携手将ZK元素注入OPStack

图源:Succinct博客2.1OPSuccinct架构组成结合上文1.2章节末尾内容“OPStack的四个主要组成部分”,OPSuccinct是OPStack的轻量级升级,允许链只使用经ZK验证的区块,而保持其他三个组件不变(op-geth、op-batcher和op-node),OPSuccinct主要由以下四个组成:

范围程序(RangeProgram):这是一个执行批次区块的程序,该程序由Rust编写,设计用于在zkVM中执行;

聚合程序(AggregationProgram.):聚合范围程序的证明,以降低链上验证成本,该程序也是用Rust编写的,设计用于在zkVM中执行;

OPSuccinctL2OutputOracle.:一个包含L2状态输出数组的Solidity智能合约,其中每个输出都是对L2链状态的提交。该合约已存在于Optimism的原始系统中,但经过修改将验证证明作为身份验证机制;

OPSuccinctProposer:观察L1上发布的交易批次,并控制范围程序和聚合程序的证明。

2.2OPSuccinct讲述了一个怎样的以太坊扩容叙事?zkEVMRollup因深厚的密码学专业知识阻碍非常难以构建,OPLabs团队构建模块化的OPStack时已考虑到支持各种有效性机制的证明,并开源开发了Kona(见扩展链接1)以通过Rust来实现OPStackRollup下的状态转换函数STF(交易状态转换的函数逻辑),并最终借助Kona和SP1程序来生成OPStack的零知识证明(ZKP),即理论上可将OPStack的所有链升级并可使用ZKP。

SP1(SuccinctProcessor1)的目标是使任何开发者都能无缝地使用标准Rust代码集成Type-1zkEVMrollup,并通过OPSuccinct完成仅在1小时内无缝将任何现有的OPStack链升级为Type-1zkEVMrollup,并提供应用所需的高性能。以此获得以下优势:

ZKP的快速确认:让证明延迟缩短至几十分钟,以“替换”长达7天的欺诈证明质疑期;

降本增效:每笔交易平均成本低至几分钱;

将OPStack切换至ZK:只需部署一个智能合约并启动一个轻量级的OPSuccinct提议服务(见下文)即可通过API调用生成证明(包括批处理器/排序器、op-node、索引器等内容);

Type-1zkEVM:所有与OPStackRollup兼容的工具和智能合约都适用OPSuccinctRollup;

提升可扩展性:采用可定制的OPSuccinctrollup,可添加新的预编译并修改Rollup逻辑。

据官方GitHub介绍其过程只需安装Rust、Foundry和Docker,即可将现有任何的OPStackrollup升级到Type-1zkEVMrollup,并且流程仅简化为两步:1.部署ZKL2OutputOracle.sol合约;2.启动OPSuccinct提议服务(流程见GitHub扩展链接2)。

将OPStackRollup升级为ZK证明,图源:Succinct博客2.3使用SP1Reth构建Type-1zkEVMSuccinct认为EVMRollup未来是用Rust语言来编写的可维护的zkEVM,目前OPRollup主要面临三个问题:过长的7天欺诈证明窗口、复杂的互操作性,以及在某些情况下依赖多组数据而非欺诈证明的机制。此外,创建zkEVM是一个需要较长周期的过程,因此开发了SP1来解决这些问题。

SP1是一个高性能100%开源且完全开源定制的zkVM,可验证任意的Rust(或LVM编译语言)程序的执行,据公开数据,OPSuccinctStack已在OPMainnet、OPSepolia和Base链上成功运行,并在以太坊交易中实现了0.01-0.02美元的证明成本(见扩展链接3)。并希望在未来将所有区块链基础设施(包括Rollup、桥接器、协处理器等)都通过Rust(或其他LLVM编译的语言)来编写并利用ZKP。

据Succinct博客和开源GitHub内容总结归纳,SP1与其他zkVM之间的性能差异主要由几个关键因素造成:

以预编译为中心的架构:SP1支持灵活的预编译系统,能够显著加速多种操作(如secp256k1和ed25519签名验证、sha256和keccak256哈希函数),使得许多程序的RISC-V周期数减少5-10倍。其设计目标是提供与ZK电路相媲美的性能,同时保持zkVM的灵活性和良好的开发者体验;

完全开源:SP1是100%开源的,允许团队如Argument和Scroll实施自定义预编译,显著减少周期计数并加快证明生成时间;

行业标准:自推出以来,zkVM内部预编译的理念已成为行业标准,融入RISC0、Valida、Nexus和Jolt等项目中。SP1是唯一的生产就绪型zkVM,广泛支持重要加密操作的预编译;

高效内存读写:SP1采用创新的内存证明方法,使用单一挑战实现多个证明的一致内存,避免了梅克尔化内存带来的开销;

基本效率优化:采用更低的炸毁因子和新一代查找参数(如基于对数导数的LogUp),以及Plonky3中的FRI变体,提高了跟踪区域的利用效率。

图源:Succinct博客,见扩展链接4附录说明三、OPSuccinct能否成为OPStack对抗ZKStack的杀手锏?

图源作者:@jtguibas如果以太坊的扩展方案短期看OP长期看ZK,在我们假设OPSuccinct能够成功的前提下它将被视为以太坊发展路线的一个重要里程碑。OPSuccinct为ETHRollups从乐观验证转换为零知识证明提供了可升级路径,这不仅降低了交易成本,更提高了交易速度,还保留了ZKrollups安全性和匿名性的属性,为将来应用层的爆发带来了新的可能性。

在公认的Layer2四大天王中,现阶段从项目生态发展看来OPStack已略优于ZKStack,未来马太效应可能会进一步显现,随着OPSuccinct的加入,一定程度上也虹吸了ZKStack的流量和潜力,如果OPSuccinct未来能得以实现,也可能会对传统的zkEVM的Rollup造成一定冲击。

但据现阶段公开表述的内容,我们从OPSuccinct的运行逻辑中不难发现,如何确保开发者在修改STF函数或添加新的预编译函数时及时发现未知漏洞所引发的系统性风险,这需要我们保持长期关注。

 

扩展链接:

(1)https://github.com/anton-rs/kona?ref=blog.succinct.xyz

(2)https://github.com/succinctlabs/op-succinct

(3)https://blog.succinct.xyz/sp1-reth/

(4)https://blog.succinct.xyz/introducing-sp1/