Layer2的终局游戏: OP Stack与ZKP的奇妙组合

操作栈 + 零知识证明 = L2终局游戏?

OP Stack + 零知识证明 = L2终局游戏?

大家好,我是你们的数字资产投资专家。今天我要给大家介绍一个有趣又专业的话题——Layer2的终局游戏!你没听错,就是那个关乎数字资产市场的重要技术领域。

在Layer2领域,最近可是异常火爆啊!前面有Arbitrum、Optimism、Base等基于optimistic rollup的项目,后面又有Scroll、zkSync、Starkenet、Polygon zkEVM、Taiko和Linea等基于Zero Knowledge Proof的项目。看起来,Layer2的竞争可谓百花齐放,但实际上,它们在工程原理上都是使用了链下计算和链上证明的思路。不论是optimistic的 fraud Proof还是ZKP的电路证明,它们在工程实践上的核心区别就在于链上证明的方式不同,其它原理其实大同小异。

然而,Optimism选择了一条特殊的路径,即模块化Layer2,在逻辑上将Layer2的各个组件解藕。当OP Stack实现了Layer2各个模块的结偶后,一个非常脑洞大开又合乎逻辑的思路打开了:ZKP on OP Stack,把OP Stack的challenger由Optimistic Proof改成Zero Knowledge Proof,让OpStack变成支持多种证明的通用Layer2架构!

“等等,ZKP是什么?”你可能会问。不要着急,我会给你解释得明明白白,而且还会加入一些幽默和夸张的元素,让你听得津津有味!

通俗地说,ZKP就是零知识证明的意思。它是一种在保护隐私的同时,向其他人证明某个事实的方法。你可以把它想象成一位才子佳人的约会过程。男士希望向女士证明他对她的了解,但又不想暴露太多个人信息。于是,他巧妙地通过一系列谜题、暗号和问题来证明他们之间有真实的关系,但并不泄露太多细节。女士欣然接受了这个有趣的证明过程,并慢慢相信了男士对她了解的深度。最终,他们建立了深厚的感情,而男士的隐私也得到了保护。

在Layer2的世界里,ZKP就是这位才子佳人。它能在不泄露任何个人信息的情况下,向系统证明自己是有效的。与此同时,它还可以确保交易的隐私和安全。因此,当OP Stack支持ZKP时,它就成为了Layer2领域的大杀器!

你可能会问,为什么Optimism要支持ZKP呢?其实,背后有几个原因。首先,OP Stack将Layer2的模块高度抽象化,引入ZKP只是引入了不同的错误证明方式,并不意味着要放弃乐观证明。使用OP Stack的开发者可以根据自己的需求灵活选择不同的证明方式。其次,基于乐观证明的Optimism和Arbitrum目前依然不支持错误证明,因此无法彻底证实它们的安全性。最后,乐观证明需要7天的最终确认时间,实在太慢了!而一旦ZKP的Layer2占据市场,30分钟的证明速度将成为巨大的优势,用户自然会选择更安全、更高效的ZKP Layer2。

因此,Optimism支持ZKP只是时间问题。大胆猜测,未来OP Stack可能会支持乐观证明和零知识证明两套错误证明系统。毕竟,OP Stack是一套通用的Layer2架构,不断迭代和创新是它的特色。为了让大家更好地理解为什么OP Stack可以实现不同证明系统的切换,下面我将详细介绍OP Stack的核心模块。

对于OP Stack的核心模块,我先给大家排个队,分别是op-node、op-geth、op-batcher、op-proposer、op-program、Cannon和op-challenger。这些模块都是独立的程序,通过http的标准接口进行沟通。这意味着,如果开发者想修改OP Stack的某些特性,只需要修改其中的特定模块,就可以定制出自己的Layer2。接下来,我将详细介绍每个模块的工作原理和OP Stack的整体架构。

首先,我们来说说op-node,它是OP Stack中最重要的模块之一。一方面,作为Sequencer,op-node负责对用户提交的交易进行排序,就像是以太坊中的Lighthouse或者Prysm一样;另一方面,作为rollup driver,op-node负责从L1的区块数据中生成Layer2的链。

Sequencer会收集并排序用户提交的交易,并生成一个batch,然后将batch提交到L1。为了降低Rollup网络的延迟,Sequencer还可以提前生成Layer2的block,通过P2P网络在Rollup网络中传播。需要注意的是,直接由L2生成的block被认为是unsafe的,需要等待batch提交到L1后才能视为safe。当然,正常情况下,L2直接生成的block和从L1推导出的block是相同的。以Binance等交易所为例,他们在等待一定数量的Layer2 blocks后才认为交易是确定的,而不必等待batch被提交到L1。这一点说明,基本没什么错误出现的机率。

接下来是op-geth模块。op-geth是OP Stack的执行客户端,对go-ethereum进行了适应OP Stack需求的微小修改。共识客户端op-node通过Engine API来驱动执行客户端op-geth,利用LianGuaiyload attribute计算出output信息,并产生L2 block。

还有op-batcher模块,也叫batch submitter。它主要有两个任务,一个是对L2 sequencer数据进行压缩,生成batch;另一个是将batch提交到L1,让verifier可以利用这些数据进行验证。batcher会将sequencer生成的数据压缩为batches,并提交到DA层。

最重要的模块之一就是op-proposer了,它负责将op-geth执行L2 block后产生的新状态承诺(以Output Merkle Root的形式)提交到L1。需要注意的是,Output Root不会立即生效,而需要等待争议期结束后才能视为Finalized。

以上是OP Stack已实现的模块,下面这些模块还在开发中,只有在发生欺诈行为时才会使用到。准备好了吗?我们要探索的是Fault Proof相关的模块。

首先是op-program模块,它是Program的参考实现。在op-node和op-geth的基础上开发,它作为无状态的中间件来验证L2状态转移的声明。

然后是Cannon模块,它是VM的一个实现,包括OnchainMIPS.sol和Offchainmipsevm这两个主要组件。OnchainMIPS.sol是一个模拟Linux内核最小子集的EVM实现,为Go程序提供支持。而Offchainmipsevm则是用Go语言模拟MIPS.sol的执行过程,简而言之,Cannon在链上就是在EVM用MIPS跑MINI Geth(ETH的Golang版本)。

最后是op-challenger模块,它负责处理与dispute game相关的流程。在挑战过程中,op-challenger会选定一个交易执行后的状态作为质疑对象,然后将交易分解为多个指令,在攻击和防御两种模式下交替执行。最终,通过二分法将争议锁定在单个指令的前后状态上,并由VM处理单个指令的状态验证。

通过上面的介绍,我们可以发现,Challenge模块与其他模块的耦合度很低,对基本交易流程的影响很小。只有在出现欺诈行为时才需要Challenge模块的介入。也就是说,在不发生欺诈的情况下,OP Stack还是乐观证明为主,但一旦发生欺诈,就可以使用ZKP来确保安全。

那么接下来,让我们来看看OP Stack+ZKP的终极组合!根据上面的介绍,我们很明显可以看出,Challenge模块与其他模块的耦合度很低,对基本交易流程的影响很小。因此,为了缩短当前Optimism七天的退出确认时间,并且为OP Stack提供更多模块化的选择,Optimism积极拥抱ZKP技术,希望为OP Stack带来能够证明Optimism fault proof program并且支持知名ISA的ZKP。

目前,有两个团队提出了方案。一个是O(1) Labs,他们计划使用Mina Protocol的Kimchi作为MIPS VM的proof system,将LianGuairalization改为bn128-KZG commitment scheme。另一个团队是RISC Zero,他们计划沿用Groth16后端的基于RISC-V ISA的zkVM,以适应Optimism,并在zkVM中实现L1-L2的derivation logic以证明交易序列是由Optimism sequencer生成的。

这两个方案各有优势。O(1) Labs方案的性能、延迟和复杂性相对较高,但它使用的是基于EVM的SNARK系统,需要进行trusted setup。而RISC Zero方案的性能更高,延迟更低,复杂性也较低,但它使用的是基于STARK的证明系统,无需trusted setup。对于OP Stack来说,这两个方案都是符合OP Stack的兼容性的,并且都有不错的安全性和性能表现。

不过,需要注意的是,目前还没有可靠的信息表明ZKP在OP Stack上的性能表现如何,毕竟它的开发启动较晚,且不是原生支持的。所以,我们还需要等待进一步的验证和测试。

总结一下,OP Stack以其优秀的代码实现、宽容的开源协议和模块化的架构设计,赢得了许多顶级团队的青睐。唯一被人诟病的点在于Optimistic Rollup的确定性时间过长,技术先进性不如ZK Rollup。借助第三方专业团队的力量,OP Stack开始了迈向ZKP未来的尝试。如果成功,它将成为通用的Layer2架构,开发者可以根据应用的需求和对安全性与实效性的要求来选择乐观证明或者零知识证明。可以预见的是,乐观证明的Layer2会更加廉价,而零知识证明的Layer2则会更加安全。

哇哦,今天的内容很丰富啊!我希望我能够以幽默和有趣的描述,让大家更好地理解Layer2的终局游戏。如果你还有什么问题或者想法,可以在评论区留言。和我一起探索数字资产的未来吧!


原文链接: Layer2的终局游戏

We will continue to update 算娘; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

观点

全球推动加密货币税务透明化的运动 — 你需要知道的事情

在欧洲和美国,有许多倡议要求数字资产市场的参与者报告交易并满足其他新条款

区块链

保护金融系统需要的不仅仅是一个比特币ETF

尽管来自BlackRock等公司的提议的现货比特币ETF在某些方面很新颖,但自持有比特币是无可替代的

区块链

比特币循环经济在萨尔瓦多挑战根深蒂固的思维模式

在他在萨尔瓦多的第三篇每周报告中,乔纳森·马丁会见了两位致力于改善金融包容性的比特币企业家

区块链

杰克逊霍尔:美联储政策即时决策地点

比特币的相对稳定性是否会激发更多的信心?

观点

比特币自由节:比特币丛林中的灵性聚会

这份令人启发的报告介绍了在哥斯达黎加举行的比特币自由节,展示了通过基层努力,在该地区比特币采用量的显著增加