全面分析OPStack:疯狂多链宇宙
时间:2023-08-04 来源:区块链网络 作者:金色财经
作者:Ac-Core,YBBCapital研究员;翻译:区块链网络xiaozou ETH的主要叙事方向已经从L1转向L2,如果我们还将其解读为“一键发行代币”的ERC-20叙事,那么不妨将格局放大一点,设想一个“一键发行链”的疯狂未来!Arbitrum基于这样一个事实,即没有旁人能够做到这一点!Arbitrum凭借其无与伦比的生态系统和高额TVL一直引领着L2的竞争格局,但这种暂时性的胜利能长久持续吗?与另一层L3解决方案ArbitrumOrbit不同,OPStack是一个“superchain”(超级链),可以一键创建L2。本文将用三个部分对OPStack、OP中的ZK元素以及Rollup的安全问题进行全面分析。 1、OPStack开启“Superchain世界” 下一轮牛市的叙事将从何开启?是始于高性能的L1,网络层L3,ZK系统中的L2,还是OPStackSuperchain?这是一个非常有趣并发人深省的问题。EtherKiller这一称号始终是所有公链不可逾越的目标,但其中隐藏着许多superkernel,OPStack就是一个。 (1)OPStack是什么? OPStack可以被理解为一组开源软件组件,允许任何人使用OptimisitcRollup在以太坊上构建自己的L2区块链。OPStack由四个主要组件构成: 主网:OP主网是一个低成本且快速的以太网L2网络,与以太坊虚拟机EVM兼容。 合约:即实现OPStack核心逻辑和功能的智能合约。OP合约包括状态转换系统(STS);欺诈证明(FP);状态承诺链(SCC);以及规范交易链(CTC)。 服务:提供数据可用性、同步性以及L1和L2之间通信的服务。 工具:用于促进基于OPStack的区块链的开发、测试、部署、监控和调试的工具。 (2)一流的开放性 OPStack将被构建为一个可分叉的、模块化的、可扩展的区块链基础设施。为了实现这一愿景,所有类型的L2都需要整合为一个单一的superchain,将彼此分离的L2整合成一个可互操作的组合系统,L2的发布将像今天在以太坊上部署智能合约一样简单。它可以让“一键发行代币”叙事转变为“一键发行链”叙事。从本质上讲,Hyperchain是一个横向可扩展的区块链网络,可共享以太的安全性,以及通信层和开发工具。 OPStack将是hyperchain以及无数相互连接、通信的区块链背后的统一模块化开发堆栈。OPStack由OptimismCollective开发和维护,支持用于新聚合网络部署的共享开源系统。同时,它也是一组标准化的开源模块。这听起来像是完全基于以太坊安全性的Cosmos,但现在OPStack已经成为CosmosKiller,而ETH和ATOM的互补性广为人知。接下来,让我们具体来看OPStack的定义: 模块是任何开发人员都可以插入到OPStack中的数据位。Superchain的“标准化”意味着对模块的标准有一个共识,并且每个人都可以实施该标准。它也是完全开源的,也就是说任何人都可以免费开发迭代和发送请求。开发人员可以在链的不同执行层、共识层、结算层和数据可用性层之间切换模块。 就像dYdX选择离开以太坊转向Cosmos应用链一样,根本原因是他们希望在他们的链的共识层中有更高度的模块化,我认为这是一个很好的开始,可以让更多的独立dapp选择独立开发的公链,最著名的就是Luna,虽然出于某些原因它最终失败了。值得庆幸的是,OPStack通过以更简单的方式设计分叉代码解决了这个问题,它允许开发人员轻松地提取区块链的不同组件,并通过插入不同的模块进行修改。 (3)OPStack设计原理 高效性:你可以使用OPStack构建任何东西,只需要一键点击就可以发布区块链; 简单性:利用可重用代码和现成的开发工具来增强安全性并降低维护的复杂性,从而减轻整体障碍; 可扩展性:OptimismCollective将完全开源OPStack主要代码。 在架构上,OPStack从下到上可分为六层,分别为:DA(数据可用性)层、排序层、派生层、执行层、结算层、治理层。OPStack的每一层都是一个模块化的API,可以随意组合和解耦。其中最关键的是DA层、执行层和结算层,它们构成了OPStack的主要工作流。 DA层:数据可用性层是OPStack的原始数据源,可以使用单个或多个数据可用性模块来获取输入数据,目前最主要的DA层是以太坊,但未来会有更多链。 执行层:OPStack中的状态结构,为EVM或使用其他VM提供了可能性,增加了对以太上发起的L2交易的支持,同时在将交易发布到以太的综合成本中增加了每笔交易的额外L1数据成本。 结算层:该层汇集了OPStack上的L2交易数据,在L2确认信息后将信息发送到目标链,以完成结算。未来,它还有望访问ZK和其他有效性证明机制,以弥合不同链之间的差距,甚至连接OP系统L2和ZK系统L2之间的silos孤岛。 从最近OP发现的几个带有ZK元素的项目来看,我们尽可以大胆想象,比如某Optimisticrollup想要转型为ZKrollup,没问题!只需将其欺诈证明模块替换为结算层的有效性证明模块。如果一个链想要使用Celestia作为其数据可用性层,没问题!把以太坊换成Celestia。如果你想用一种不同类型的虚拟机替换执行层中的EVM,不幸的是,这只是OPStack的一种技术可能性。在这种mega-chain的情景下,一个热门趋势诞生了——“Polygon:我想成为ZKL2的Cosmos!Optimism:我想成为OPL2的Cosmos!Cosmos:那我又是谁?” (4)OPStack Law 以太坊无限的区块空间是迈向大规模采用的关键一步,但与此同时也带来了碎片化问题,无需许可的部署带来了新的挑战。今天,每个新的OPStack链都在自己的轨道航行,没有任何直接方式可以共享标准和改进。用户和建设者也面临着巨大的挑战:基于安全性、质量和中立性单独评估众多不同的链。为了实现superchain,OPStack需要从一个独立的、去中心化的区块空间转变为一个统一的链集体,在一个开放的、去中心化的区块空间上共同工作。LawofChains规定了Optimistic治理和Superchain的指导原则。Optimistic治理从管理单个链转变为管理多个链的共同标准,从而定义成为superchain一部分所需的属性,同时优先保护在superchain上进行交易的用户。从根本上说,LawofChains是一种社会契约(而非法律契约),因此积极的社区讨论至关重要。”LawofChains将使Superchain能够保证以下属性: 确保区块空间保持同质性、中立性和开放性:对链定律的承诺就是对保护链用户、开发人员和其他利益相关者的承诺。作为superchain的一部分,任何规模的链都可以得到Optimstic治理的支持,可信地展示其区块空间的同质性、中立性和开放性。 得益于持续的改进:共享升级意味着hyperlink总是可以访问最好的技术,而不必担心需要自己维护。 提供更完善、更可及的基础设施:由于hyperchain中的所有链都可靠地致力于一个标准,因此它们可以协力确保索引和排序等关键服务的可用性和可负担性。 (5)OPStack能回馈OP吗? OP代币到底有什么用处,如果按照Base链的方式,他们会把一部分收入回馈给OptimismCollective,那么“treasury”的收入来源就会依靠自己的“价值”,依靠创造更多的叙事最终反馈给币价,使得OP在二级市场的表现逻辑类似于ATOM,但这种情况可能是目前最理想的情况,OptimismCollective最终将受益于更多链的反馈,以Basechain为例。这种感觉让我们想起UNI,两者都有强大的程序,但代币本身除了投票和治理之外没有任何价值用途。与L2目前面临的中心化排序器问题不同,即使L2代币仅用于某种形式的领导者选择(而非共识投票),排序权的价值仍然属于Rullop代币。 同时,OP团队在7月25日发布了LawofChain提案,所有采用OPStack的链发起共享治理模型和排序器,希望规范“利润反馈”模型,为整个OP系统带来更多的收入(如上文OPStack定律所述),相当于Cosmos的共享安全模型。 (6)OPStack和ZKStack的区别 OPStack:多链单选 从上文很容易看出,OPStack采用了类似于Cosmos的多链模型,但只有一个选项,因为OPStack追求的是每条链都需要验证其他链的交易,否则就需要在L1上等待几天后才能有结果,所以一个单一的共享排序器,中心化MEV分配,以及来自法律和治理的保护,是唯一能让Optimisticrollup在不同链之间无缝互操作的东西。Optimisticrollup是实现不同链之间无缝互操作的唯一方法。 ZK堆栈:多链多选 与OPStack不同,ZKStack也可以链接多个线程,但却可以有多个选项,可以选择自己的排序器,以自己的方式进行MEV,并受数学和代码的保护(注意:OPStack受到法币和治理的保护)。这是因为如果ZK使用指定的共享线程或非常小的线程集,那么它们可以仅基于数学就相互信任,让零知识证明毫无价值。 2、OPStack的ZK元素 OPStack是一个完全开放的架构,这使得在生态系统中有zkvm、zkmips、zkwasm、zkevm成为可能,但与“正统ZK”相比,OPStack也有一些不同的ZK元素。我们不禁想到,在不久的将来,OProllup和ZKrollup之间可能会有一个美好的联系。 (1)为OP实现零知识证明(ZKP) 根据最新的发展状况,Mina团队计划使用他们自己的plonk系统+kzg承诺+折叠算法nova在OPStack上实现zkmipsvm。虽然这只是最近才出现的一个提案,还有很多不成熟的地方,但却非常值得探索。该项目团队的任务是通过零指数证明实现L2、L1与OP链之间的安全、低延迟跨链通信。这是一个有良好支持的指令集架构(ISA)的零知识证明(ZKP),它证明了Optimism容错程序的行为,为能够证明基于OPStack的任何区块链系统奠定了基础。 完成这项任务意味着零知识证明(ZKP)系统的实现,该系统可以使用由golang编译器支持的指令集架构(ISA)(例如MIPS、RISC-V或WASM)证明OP防错程序。此外,证明系统必须证明标准配置的OPStack链的两个区块之间的状态转换,从而证明它在实践中是可行的。除了证明ISA的标准执行跟踪之外,对防错过程的支持还引入了其他需求。 具体来说,FaultProof(错误性证明)程序引入了预映射Oracle的概念,它使用一个特殊的系统调用将外部数据加载到程序中。每个错误性证明VM负责实现一种机制,通过这种机制,某些数据的哈希值被储存在内存中的特定位置并由系统调用执行,然后该哈希值的原像将被加载到内存中以供程序使用。预映射Oracle也用于引导程序的初始输入。 (2)去中心化排序器尝试 EspressoSystems于2023年7月21日在推特上正式宣布,为OPStack的leader选举建立去中心化排序验证的提案已被接受,成为OPStack和Superchain的贡献力量。该项目的主要协议之一HotShot是一个高速共识协议,可用于再抵押,使以太坊验证者能够参与协议,旨在达到与以太坊验证者集相同的规模。该项目还开发了EspressoSequencer,它集成了全功能的zk-rollup,尤其是PolygonzkEVM分支。 什么是leader选举? Leader选举是指在分布式系统中使用负责创建下一个规范状态转换的不同leader的能力。在区块链中,leader选举允许不同的区块生产者在不同的时间生成区块,而leader选举算法可以是竞争性的,也可以是非竞争性的。 在工作量证明的情况下,竞争性leader选举算法是指有许多潜在单位同时竞争成为leader的算法。非竞争性leader选举算法是指在给定的时间点只有一个已知leader的算法,而就EtherGasper的情况而言,非竞争性的leader选举算法则意味着在给定的时间点只有一个已知单位,并且没有其他方法可以让另一个潜在单位在那个时候成为leader。 在将提议者网络与建设者网络分离的情况下(即,区块建设者网络只负责选择交易顺序,提议者网络只负责签署区块)。它将在给定时刻将负责生成区块的单个实体转换为许多可能的实体,并允许它们在当时竞争建设者网络中最有利可图的潜在区块。 我们很难理解不同op-stack链之间的leader选举机制的各种次级效应。目前,领导人选举作为一种机制是最受欢迎的,因为它允许更加去中心化的排序。请注意,它也不能保证排序器是绝对去中心化的,因此在考虑去中心化排序器问题时应格外谨慎。 3、Rollup真的安全吗? (1)以太坊网络工作原理 以太坊网络的原理是每个节点存储并执行用户提交给它的每一笔交易,这种高级别的安全方法也导致整个网络非常昂贵,因此需要扩展整个网络的容量,采用Rollup解决方案。简单地说,Rollup=L1中的一组合约+L2中自己的网络节点,即链上智能合约+ 链下聚合器,它依赖于以太坊进行结算、达成共识以及获取数据可用性,并且只负责Rollup自身的执行。 链上智能合约,表明其信任模型是以太坊上的智能合约,借用以太坊的安全性。 链下聚合器意味着它将执行和聚合链下交易,压缩大批量交易并最终将其置于以太坊主网上,实现更快速低成本的目标。 L2网络节点有许多组件,其中排序器组件是最重要的。它负责接收L2上的交易请求,确定其执行顺序,并对交易序列进行批处理,以便将其交付给L1上的Rollup项目合同。重要的是要注意,以以太坊中所有的L2rollup的排序器目前都是中心化的,如下图所示。 (2)中心化排序器问题 L2全节点可以通过两种方式获取交易序列:直接从排序器获取,或者通过读取排序器发送给L1的交易包(Batch)获取,但后者具有更强的不可修改性。由于交易执行改变了区块链账本的状态,为了确保一致性,除了获取交易序列外,L2全节点还必须与排序器同步账本状态。因此,排序器的任务不仅是将交易包发送给L1的Rollup合约,还要将交易执行后的状态更新结果Stateroot/Statediff发送给L1。一般来说,排序器的任务是处理交易并将交易排序添加到区块链中的区块,它负责对交易进行批处理并将交易发布到L1智能合约。 对于L2的全节点,只要获取L1上Rollup的交易序列和初始Stateroot,就可以恢复L2的区块链账本,并计算出最新的Stateroot。相反,由L2自身的全节点计算出的Stateroot与排序器向L1发布的Stateroot不一致,则意味着排序器存在欺诈行为。因此,与L2自身网络相比,L1更加去中心化、无需信任,也更加安全。 (3)OPStack 那么问题来了,L2是否能够伪造一些不存在的或错误的交易,例如将代币资产从L2转移到排序器的runner地址,然后将这些代币资产转移到L1以窃取用户资产?答案是:如果一个人想这样做,这是完全可能的。所以面对排序器可能存在的欺诈风险,不同类型的rollup采用了不同的应对方式。 让我们以OptimisticRollup为例,它允许L2全节点提供欺诈证明,证明在L1中排序器发布的数据是错误的。但对于没有欺诈证明的Optimism来说,如果一个人真的想通过排序器窃取L2用户资产,那么他只需要让排序器runner伪造交易订单,并将L2中其他人的资产转移到他自己的地址,然后最后再通过rollup的桥接合约将被盗的代币转移到L1就可以了。 为了解决这个有可能发生的问题,目前的解决方案是依靠社区成员和社交媒体达成所谓的“共识”,并依靠OP作为官方信用背书。因此,总结一下就是,OPRollup的安全性至少要依赖于拥有一个诚实的L2节点,该节点可以发布欺诈证明,以确保OPStack是多链单选的,如上文“OPStack与ZKStack的区别”部分内容所述。 (4)ZKStack 让我们来探索一下ZKStack,在ZKRollup网络中,存在一个Prover节点,它专门为排序器发布交易包,以及生成有效性证明。这些有效性证明在L1上有专门的验证合约。一旦交易包及其相应的Stateroot/Statediff证明被验证者合约验证,交易就完成了。它与OPStack的不同之处在于,ZKRollup除了依靠L2全节点之外,还利用有效性证明来解决排序器欺诈问题。ZKRollup的官方桥也只允许执行经有效性证明验证的提款交易,这显然比Optimism要可靠得多,即ZKStack是多链多选的,正如上面“OPStack和ZKStack的区别”部分内容所述。 理论上,ZKRollup的安全性由L1上的验证者合约保证,或者由L1节点完成交易的最终确认。相比OPRollup的安全性,至少依赖于一个诚实的L2节点可以发布欺诈证明,两者都继承了L1(ETH)的安全性,但从最严格的角度来说可能并非如此,但这是目前最优的解决方案,并且相比其他公链来说,以太坊经历了这么多年的发展,安全性无疑是最值得信赖的。与其他公链相比,以太坊无疑是最值得信赖和安全的链。 就像区块链三角一样,在“产品”的整体用户体验中,似乎存在一个安全、简单和效率的三角,而ZKStack比OPStack更相信依靠数学和代码可以提高整体安全性,从而大大增加了整体复杂性。所以关于ZK也有一些陈词滥调: 延迟问题:ZKRollup还需要解决L2节点向L1发布数据的延迟问题。就像是需要为快递运输准备箱子,因此每次排序器或prover将数据发送到L1时,都会产生固定成本。为了降低成本,排序器和prover将尽量减少频繁地在L1上发布数据的次数,而是等待大量数据同时出现,然后将它们打包一起发布。 速度问题:ZKRollup面临着生成有效性证明速度缓慢的挑战。虽然排序器可以在1秒内执行数千笔交易,但为这些交易生成有效性证明却可能需要数小时。为了解决这个问题,主流的ZKRollup网络采用了一种创新的方法:将证明生成任务分解为多个小任务,由不同的证明者节点并行处理,这大大提高了证明生成速度。 成本问题:为了降低整体成本,许多ZKRollup解决方案采用了“聚合多个证明并一次发送到L1”的策略。这意味着证明者不会在生成证明后立即将其发送到L1,而是等待多个证明生成后,将它们聚合起来一起发送到L1上的验证者合约。通过这种聚合,一个证明可以包含并验证由多个证明生成的计算步骤,从而进一步降低总体数据成本。 交易量问题:如果没有足够的交易被启动,排序器就可能会延迟发布数据到L1。例如,在市场不活跃期间,一些Rollup网络可能每半小时才向L1发送一批交易。然而,在一些其他Rollup方案中可以有效地解决这个问题,例如Starknet,它通过减少Statediff发布频率来降低数据成本。 关于什么才是更适合的去中心化排序器解决方案这一问题,模块化可能是最佳解决方案,因为模块化意味着更大的可定制性,目前可用的主要去中心化工具有以下五种: 单排序器&POA Basedrollup DVTx 排序器 共享排序器 引导一个新的排序器集 我们相信,不仅在未来,上述许多问题都可以通过技术得到进一步解决。例如,为了减少有效性证明的生成时间,Optimism承诺在不久的将来发布欺诈证明系统,还有以太坊的Danksharding计划也将显著降低rollup的数据成本,去中心化排序器问题也将被克服,它们将合力为上述问题提供有效的解决方案。 4、叙事将如何发展? Hyperchain和超级扩展一直都是大家关注的扩展方向,虽然目前这些项目还处于发展的早期阶段,但它们都为以太坊带来了更强大的叙事。现在我们可以看到,OPStack得到了更多的采用,许多明星公链都加入了OPStack,如Coinbase、opBNB、Zora、Worldcoin等许多公链都为OPStack做了很好的品牌代言。包括最近在6月26日晚上,zkSync宣布推出ZKStack,这是一个用于构建自定义ZKrollup的模块化开源框架,也被许多人认为是zkSync团队用来应对头号OPStack的杀手级应用程序。一边是有先发优势的OPStack,一边是有数学优势的ZKStack,总之,L2的价值可以累入rollup代币,L2的扩展之战才刚刚开始,关于这场没有硝烟的战争你是怎么看的? 查看更多 |