币妈妈

下载
币妈妈>资讯>正文

Layer 2的乐观之战——Optimism、Arbitrium、Metis,谁是更适合的方案?

Alfonso de la Rocha2021-06-16 09:55:17

Layer 2的乐观之战——Optimism、Arbitrium、Metis,谁是更适合的方案?

ETH的价格在过去几个月内一路飙升,以太坊网络的使用量也显著增加。推动这一趋势的主要因素是人们对NFT的高涨热情、DeFi应用稳固的根基,以及加密货币市场的惊人增长。这也给以太坊生态中的DApp开发者带来了“不太好”的影响:主要是以太坊网络无法配合应用的增长,导致Gas费飙升(如果想要尽快完成交易验证,需要的Gas费会更高)。撰写本文时,以太坊主网的平均Gas费约为15美元。

以太坊生态的现状使得Layer2方案一夜之间从“加分项”变成“最高要求”,它必须要保证DApp有可持续的高性能和低费用。幸运的是,我们已经看到了几个Layer2平台与协议在持续不断地攻克这一领域,OptimisticRollup(OR)就是其中一个最有前景的基础设施。许多项目都基于OR建立,但我们如何选择可以最大限度完成我们需求的方案呢?本文将对比3个OR上的潜力Layer2方案从而回答这个问题。接下来我们直奔主题!

Rollup技术是什么?为什么要乐观?

为了对比不同的OR方案,我们需要先了解Rollup是什么。Rollup方案将侧链或链下的交易打捆(或称作“打卷”)至单个交易并上传至L1。为了在保证被卷起来的交易的安全性的同时让它们可以被单独验证,需要生成加密证明。

Rollup方案运行的条件之一就是有一条与以太坊兼容的独立区块链来处理签名验证、合约执行等,这条链的节点数应该较少或性能更出色。通过独立区块链验证交易的真伪,随后打卷发送至以太坊主链。L2侧链负责验证与合约执行,而L1仅存储不可更改的数据。

OR的各节点对于侧链上发生的交易的真实性都很“乐观”,不需要整合者贡献更多的算力来将交易提交至主链。那么我们如何确保侧链上的交易都是真实的呢?OR选择用欺诈证明的方法。如果整合者被发现有欺诈行为,指证人可以发起挑战,通过发送欺诈证明来运行交易并验证真伪。也就是说不同于包括ZK-Rollup在内的其他Rollup方案,OR仅需在质疑交易真实性的时候提供证明,既无需为每一笔交易都提供证明。相比ZK-Rollup,这个设计大大缩减了Gas费,同时为提升吞吐量至10倍到100倍提供了上升空间。当无效区块被指认、欺诈证明结束之后,L2链会被展开并返回至上一个诚实区块,重新开始运行。

Layer 2的乐观之战——Optimism、Arbitrium、Metis,谁是更适合的方案?

选手介绍

有了这些Rollup技术的背景知识,我们就可以对比各Layer2项目了。本文选取了三个Layer 2方案,我认为它们的很多功能可以为DApp开发者所用(也就是说,我本人会在自己的应用里部署这种方案)。

这几个项目间或多或少有一些相同的基本要素:采用与以太坊兼容的虚拟机(VirtualMachine,简称VM)来运行L2项目的Solidity合约;排序者/整合者批量处理L2上成卷的交易并提交至L1;通过一系列L1智能合约协调交互、提交L2数据;采纳欺诈证明手段,让节点可以对整合者伪造的无效交易证伪;通过质押机制协调L2系统的经济模型并提供激励。

尽管有相同的特性,这三个方案在Rollup协议的执行层面还是有显著区别的。接下来我们将详细地研究每个项目,方便后面作对比。

Optimism:

Optimism充分利用了以太坊生态所有的开发工具,并对它们作出调整以实施optimistic协议和Layer2方案。

·VM:Optimism采用的是乐观虚拟机(OptimisticVirtualMachine,简称OVM),用适合L2合约执行的新操作码替换了以太坊虚拟机(EVM)中依赖上下文的EVM操作码。这个虚拟机类似于一个沙盒环境,为智能合约的确定执行以及L1和L2间的状态转换提供保证。

·客户端:Optimism也对广泛应用的以太坊客户端Geth进行了调整,以便将它用作L2链的客户端。该客户端修改了信息以便其他L2客户端可以理解,它包含建立Rollup时交易排序和批量处理,以构建Rollup需要的所有流程。

·Rollup构建:构建Rollup时,Optimism使用Geth客户端作为唯一排序者。交易数据压缩后会被发送至L2上的排序者入口点(Sequencer Entrypoint)合约。排序者负责将这些交易“成批”地“打卷”并在以太坊网络发布数据,确保在这个排序者消失的情况下也能获取数据,并且其他排序者可以从断点开始继续运行。任何人发送至L1的新交易都会被添加至L1合约,该合约作为每个L2交易的“仅附加日志”存在。

·验证:排序者发布的每一笔交易都需由验证人下载并将其应用于本地状态。如果数据匹配,验证人无需操作;而一旦出现不匹配的情况,验证人需要将之前所有的有效交易提交至链上、重新运行已发布的状态根来证明存在错误。如果欺诈验证成功,有误的状态和批次就会从L1中删除。

·经济模型:保证金管理器这个智能合约需要将每一个纪元中的交易批次排序者标记为已抵押,而要求就是排序者必须质押一定数量的ETH。每当检测到欺诈行为,这笔保证金会被消减一部分。存款7天之后排序者可以取回保证金,彼时排序者所负责的批次将被认定为最终状态,不会被再次认证或削减。如果成功证明欺诈行为,排序者保证金的一部分(X%)会被烧毁,余下的部分(1-X%)会在提供证明数据的用户中按比例分配。这种经济模型防止了排序者作恶,但是它没能解决的问题是验证人提交关于不同交易批次的多个欺诈证明,这会导致L1运行大量计算。

Arbitrium:

·VM和客户端:Arbitrium使用的是Arbitrium虚拟机(AVM),它可以运行L2合约并保存合约状态。Arbitrium使用默克尔树(Merkle Tree)来组织虚拟机的状态,在树上发生状态转换的时候完成执行。Arbitrium也使用自身的L2客户端。

·Rollup构成:Arbitrium使用单一链上合约来管理它的Rollup协议。协议上的任何一点都有经过完全确认并最终敲定的VM状态,比如它的哈希值是存储在链上的。L2上的新交易触发默克尔树状态的更新。要验证存储的状态,协议参与者可以通过所谓的Arbitrium争议断言(Disputable Assertion,简称DA)来从某一状态哈希开始验证,虚拟机将会执行特定数量的计算步骤,生成新的状态哈希(完成相关的合约执行、支付,生成相关的日志事件)。争议断言可能是有效的(即可信的),也可能是无效的。如果DA有效,则系统将进入新状态,并在默克尔树上生成新的哈希值、在DA中标明其它附带效果(支付和日志)。如果DA无效,该分支被系统拒绝,状态不会改变。每个状态后面最多可以接一个DA,如果一个状态后面没有DA,那么任何人都可以生成一个DA接在后面,作为一个新的分叉点。结果就是产生了一棵平行未来之树。对比Optimism使用多个L1智能合约来保证L2的状态与执行,Arbitrium rollup的L1构成是基于L1上状态历史的存储来承诺L2的状态。

Layer 2的乐观之战——Optimism、Arbitrium、Metis,谁是更适合的方案?

Arbitrium的状态默克尔树(来源:https://medium.com/offchainlabs/how-arbitrum-rollup-works-39788e1ed73f)

·经济模型:质押是Arbitriumrollup中一个重要部分。任何人都可以在树上的某个状态中质押。对某个状态(图中的方框)质押,意味着你在断言该方框最终将被协议确认。换句话说,你在断言从当前状态到你质押的方框所在的这条分支是正确的分支。如果你错了,你的质押金将会被削减。你可以将质押向右移动,选择分支的上方或下方,但不能向左移动,因为那样做就等于撤销了你先前做出的质押承诺;也不能同时在两个平行的分支上质押。在错误分支上质押的参与者的质押金会被选择正确分支的参与者瓜分。该协议的构建可确保最终所有独立的历史(分支)都将共同组成一个 DA,最终解决争端。

Layer 2的乐观之战——Optimism、Arbitrium、Metis,谁是更适合的方案?

两条平行分支的争端(来源:https://medium.com/offchainlabs/how-arbitrum-rollup-works-39788e1ed73f)

·验证:一旦DA 的质押截止时间过去,并且所有剩余的及时(在质押截止时间之前质押)的质押都在该DA 的同一分支上,则系统可以确认该DA 的结果。DA 或被接受或被拒绝,随后当前状态移至DA 右侧的正确区块。如果DA 被确认为有效,则其附带效果(如支付)将在链上实现。这就是虚拟机的状态推进的方式。这个协议完全无需信任基础,因为任何参与者都有权通过在自己认为正确的分支上质押的方式来验证 虚拟机的状态。

Metis:

·VM和客户端:Metis采用与以太坊兼容的虚拟机——MetisVirtualMachine(简称MVM),它与上述虚拟机在功能与特性方面差别显著。MVM的设计是将L2的运算与存储分开。Metis创造了去中心化自治公司(Decentralized Autonomous Company,简称DAC)这一概念,作为Metis系统中的独立实体,DAC可以代表大型公司通过这个平台运行日常事务。DAC是Metis运行的关键。当生成某个DAC时,系统会为它特别创建一个新的存储层,因此每个DAC都拥有独立的存储空间可以查看自身的交互。

另一方面,Metis的L2运算层(包括挖矿、共识、跨层交流等)由网络中的所有DAC共享,同时它还包含一个有趣的特点:所有运算过程作为单独的服务开展(就像微服务的理念),这个设计允许运算层根据整体网络的需求和吞吐量来扩展或缩小。此外,MVM添加了供应者这个身份,他们参与网络并贡献算力,让Layer2实现真正的去中心化(供应者类似于Optimism平台的排序者)。供应者按产出的区块数量得到奖励。MVM和Metis客户端还有一个其他L2平台所不具备的强大特性:同时支持合约的执行以及对智能合约运算的去中心化存储。为此,Metis通过IPFS解析器将IPFS网络融合进MVM中,让合约可以指向IPFS中存储的不可更改的数据。这个设计可用于指出网络中存储的保密数据。

Layer 2的乐观之战——Optimism、Arbitrium、Metis,谁是更适合的方案?

Metis架构(来源:Metis白皮书)

·Rollup构成:Metis中L2交易的排序和打捆不是由单一排序者完成的,而是采用排序者池。随机抽选的排序者们会把状态根打捆并提交交易至L1,部署在L1上的一系列合约则将整理L2的交易批次。

·经济模型:每个排序者在参与前需要质押一定数量的Metis代币(MT)。Metis生态之所以与实体经济具有很强的关联性、能够产生高达数十亿美元的交易,原因在于它的动态保证金阈值(Dynamic Bond Threshold,简称DBT)设计,它让实施恶意行为的DAC所面临的风险和奖励与自身参与真实经济价值挂钩。系统根据DAC的余额总数计算它的经济容量,并将它的最大经济容量作为DBT的计算基础。因此,如果某个排序者质押的MT数量没有达到他所在DAC的DBT水平,它就无法参与这个DAC的交易打捆过程。在从池中找到合格的排序者前,该DAC的排序工作将被阻止。DAC存款取款导致的余额变化会自动更新至DBT。也就是说,取款会减少DBT对排序者的要求,反之同理。这保证了排序者需要抵押的代币数量永远随着DAC的真实经济价值而变化。

·验证:Metis在MVM中设计了L2Ranger验证人这一功能,他们作为特殊DAC——MVM_RANGERS的成员,负责从众多的区块中取样,根据定期从随机DAC分配来的交易来验证状态根。Ranger验证人不仅需要验证其他DAC的序列转换,还要对自身DAC进行验证(自我监管)。每当验证完成,验证人会得到MT奖励。如果对链状态的挑战(例如欺诈证明)成功,验证人还会得到 “恶意”排序者的部分保证金。然而如果挑战失败,验证人将失去保证金且最终将无权访问MVM_RANGERS。

Metis规定排序者和验证人都需要抵押,这解决了Optimism平台在验证过程中暴露的一个严重问题,既验证人不质押导致的虚假欺诈证明。在质押的前提下,排序者和验证人(如L2Ranger)顺畅的协作也可以缩短证明时间、提升网络效率。对于包括Optimism在内的协议来说,由于验证人不需要抵押,他们有充足的时间提交证明,因此直到验证窗口期结束交易才算达成最终状态。尽管有奖励机制推动验证人检测无效的状态更新,系统中没有针对这些人作恶的惩罚机制。因此,为了阻止潜在的恶行发生,平台推出了终极窗口来“让每个人都能参与”。而Metis不需要这个机制,因为验证人都进行了抵押,他们一旦作恶就会导致保证金的损失。验证人、排序者与平台“息息相关”,因此无需再采纳终极窗口,这也是Metis能够超越Optimism动辄7天的验证时间、在数小时内完成交易验证的原因所在。

Layer 2的乐观之战——Optimism、Arbitrium、Metis,谁是更适合的方案?

开始对比!

废话不多说,现在我们把所有参赛者放进表格中做个横向比较:

Layer 2的乐观之战——Optimism、Arbitrium、Metis,谁是更适合的方案?

L2对比(来源:@adlrocha)

如图所示(前文同样详解过),对于用以太坊主网做L1、想要寻找性能优秀的L2方案来构建DApp的开发者来说,这三个平台都非常合适。具体的决策取决于你对于性能、扩容性、灵活性和其他功能的要求。三者之中,Metis的功能最丰富:它默认支持去中心化存储,且设计了其他性能和安全性方案。存储的分解、DAC的应用、动态保证金阈值的设定让它成为最适合公司(无论大小)的方案。对于极度支持以太坊极的用户来说,Optimism是个很好的选择,因为它使用了以太坊生态系统中的所有工具(不需要新概念)。而Arbitrium允许对状态历史验证进行无需许可的质押,这让它成为一个效率非常高且有趣的提议,与防止延迟攻击的标准 Rollup 架构相比,它支持更快地完成验证(尽管由于其使用的扁平体系结构,它还是比 Metis 慢一些)。

总之,没有唯一的正确答案,而是从一系列相似的Optimistic L2 平台中选择恰当的方案。我希望本文的比较能够帮助到读者,让你们在部署新的DApp或者从L1向L2迁移时有更详细的知识储备。

Twitter: https://www.twitter.com/MetisDAO

Medium: https://metisdao.medium.com/

Github: https://github.com/MetisProtocol

Hackernoon: https://hackernoon.com/u/MetisDAO

Telegram community: https://t.me/MetisDAO

Instagram: https://instagram.com/metisdao

Reddit: r/Metis_io

声明:该文观点仅代表作者本人,币妈妈信息发布平台,币妈妈仅提供信息存储空间服务。

相关阅读