几个Layer 2比较
xiaoba Lv3

什么是Layer2?

通常,我们将区块链架构看作三层,分别为Layer 0、Layer 1和Layer 2。

Layer 0是区块链最底层架构,与TCP/IP协议中的传输层相对应。

Layer 1是区块链本身账本技术的层级架构,对应区块链分层架构中的数据层、网络层、共识层和激励层。Layer 1是区块链(公链)的链本身,又被称为“链上层”,其核心是要保证区块链的去中心化和安全性。

Layer 2对应区块链分层架构中的应用层和合约层。严格来说Layer 2并非区块链本身的层级架构,它不影响区块链本身,可以自我运行,最终关键数据传输给Layer 1,因此Layer 2又叫“链下层”。

image-20220101093350132

为什么要进行Layer扩容?

如今多数公链的用户越来越多,交易速度变慢、用户体验恶化。因此,提升公链的可扩展性,逐渐成为行业关注的重点。链上扩容方案,即Layer 1方案,主要通过提高区块链本身的交易容量来实现扩容。常见的Layer 1方案有增大区块容量(如BCH使用32M容量的大区块),隔离见证(BTC将数字签名与交易数据分开,改变原区块结构以实现扩容),分片技术(以太坊2.0的64个分片扩容)。

链上扩容的方式虽然比较直接,但很难一步到位,好不容易实现了扩容,更高性能需求的应用场景又出现了,需要不断地超越自己。因此,链上扩容方案在性能上会存在难以逾越的天花板。

image-20220101094209360

那么从Layer 2着手呢?很多公链都可以做Layer 2扩容,但是以太坊Layer 2是最常被人们提及的。究其原因,则是因为2017年加密猫和ICO的爆发,以及目前大部分DeFi项目、NFT应用都基于以太坊,运行成千上万的DAPP导致以太坊网络拥堵不堪、Gas费飙升。因此,在以太坊2.0的分片技术难以实现的情况下,Layer 2扩容就有了存在的必要性。

image-20220101094300063

Layer2扩容方案

Layer 2扩容诞生了很多方案,在以太坊发展早期,就连V神都曾认为侧链、Plasma技术是解决区块链扩容问题的最佳方案。但时间和实践都证明了,在DeFi大爆发的背景下,侧链、状态通道、Plasma等Layer 2扩容方案都无法满足市场的要求,Rollup成为了目前最有希望的方案。

image-20220101094417763

状态通道(State channels)

状态通道是最早被人们广泛讨论的扩展解决方案之一,它可以让参与者在链外进行多次交易,而只向基础层提交两次交易——分别在打开和关闭通道时提交,这使主网络摆脱了验证许多事务的负担。

虽然状态通道具有每秒处理数千笔交易的潜力,但它们也有明显的缺点,例如用户人数有限,资金利用率低,安全保证较差等。

侧链

侧链是与公链并排运行并与之通信的独立区块链。它使用另一个代币与公链代币相互锚定,从而创建了双向桥。侧链是完全独立的区块链,具有自己的共识机制和安全性保证。

优势在于,侧链具有自己的代币,能够支持智能合约,针对灵活性进行了优化,它可以提供大约10000 TPS的速度。缺点是它不是一个无信任的环境,用户需要将资金托管转移到侧链,侧链不那么成熟,去中心化也更差。

Plasma

Plasma是一种区块链副本框架,它可以有许多层,无限地拥有子链,因此Plasma可以形象地看作是一个树形结构。可以在这些子链区块中处理成千上万笔交易,并捆绑为一笔单一交易。

Plasma 的特别之处在于设计了一套欺诈证明机制,Plasma 将特定的底层数据发送给用户自己进行保管。与状态通道不同,Plasma还可以处理灵活数量的用户,资金的安全性和可找回性也很高。

缺点是Plasma有一个挑战期,用户从Plasma链中提取资金会被推迟几天。而且需要定期查看网络,以确保用户的资金安全。

Rollup

Plasma的树形结构将批量处理的交易结果汇总起来,发送给主链上链,但是没有交易过程,因此节省了链上区块大量的空间,实现了主链的扩容。

而Rollup将交易数据压缩并放在链上,既有交易过程,也有交易结果。其优势还有将数千个交易捆绑在单个Rollup区块中,极大提高了吞吐量。Rollup是目前最被主流开发者看好的扩容方案。

image-20220101094811531

现有Layer2项目盘点

Rollup 对于降低费用,提供更快的交易吞吐量和向用户开放参与很有用。目前有两种主要类型受到大家的认可:Optimistic Rollup 和 ZK Rollup。

Optimistic Rollup

Optimism 利用以太坊生态系统中的所有现有工具,并对其进行修改以实施他们的乐观协议和第 2 层解决方案,因此在以太坊上做的任何事情也可以在Optimistic Rollup上做。这是一种用于扩展通用智能合约的解决方案,并且是一种以合理的安全程度迁移DAPP的简便方法。

  • VM: 他们的 L2 VM 是 Optimism VM (OVM),它是对 Ethereum VM (EVM) 的修改,它用适合 L2 合约执行的新操作码替换了上下文相关的 EVM 操作码。VM 充当沙盒环境,保证确定性的智能合约执行和 L1 和 L2 之间的状态转换。
  • 客户端: Optimism 还修改了广泛使用的以太坊客户端 Geth,因此它可以用作 L2 链的客户端。此客户端修改消息,以便其他 L2 客户端理解它们,并且它包括为构建汇总而对事务进行排序和批处理所需的所有过程。
  • Rollup 构造: 对于他们的 rollup 构造,Optimism 使用 Geth 客户端作为单个序列器。在 Optimism 中,交易数据被压缩,然后发送到 L2 上的 Sequencer Entrypoint 合约。定序器负责“汇总”这些“批量”交易并将数据发布到以太坊上,提供数据可用性,以便即使定序器消失,也可以启动新的定序器以从中断的地方继续。任何人都可以向 L1 发送新交易,并且这些交易被添加到 L1 合约中,该合约对每个 L2 交易充当“仅附加日志”。
  • 验证: 对于排序器发布的每个交易,验证者负责下载该交易并将其应用于其本地状态。如果一切都匹配,他们什么都不做,但如果有不匹配,验证者需要在链上提交所有有效的先前交易,并重新执行任何已发布的状态根以表明已发布的状态根实际上是错误的。如果欺诈验证成功,则从 L1 中修剪错误的状态和批次。
  • 经济模型: 每个 epoc 的批次排序器需要被称为债券管理器的智能合约标记为抵押。要成为抵押排序器,需要在合约中质押固定数量的 ETH。 每次检测到音序器的欺诈行为时,该赌注就会被削减。 定序器可以在存入 7 天后收回此股权,从这一刻起定序器的批次可以被视为最终批次,因为不再可能进行验证和削减。如果欺诈被成功证明,提议者保证金的百分比 (X%) 将被销毁,剩余的 (1-X)% 将按 比例分配给为欺诈证明提供数据的每个用户。 这种经济模型可以防止排序器变得流氓,但没有解决验证者向链尝试发送大量不同批次的大量欺诈证明(强制进行大量 L1 计算)的潜在情况。

但缺点是Optimistic Rollups沿用了Plasma 的欺诈证明机制,意味有漫长的挑战期(约一周时间),这极大地降低了资金的利用效率。但随着DeFi生态的成熟,如果有大量的流动性提供者为用户在挑战期内提供资金,可有效解决资金利用抵消的问题。

Arbitrium
  • VM 和客户端: Arbitrium 实现了 Arbitrium 虚拟机。AVM 负责运行 L2 合约并保持其状态。VM 的状态被组织成一个 Merkle 树,并且执行是在这个 Merkle 树上生成的状态转换中完成的。Arbitrium 还实现了自己的自定义 L2 客户端。
  • Rollup 构建: Arbitrium 使用单个链上合约来编排其Rollup协议。在协议中的任何一点,VM 都有一些完全确认和最终的状态,即它的哈希值存储在链上。 L2 中的新交易会触发此 Merkle 树的状态更新,该树存储链中的每个状态。为了验证存储的状态,协议的参与者可以将 Arbitrium 中称为有争议的断言(DA),以从一些状态哈希开始进行证明, VM 能够执行指定数量的计算步骤,从而产生指定的新哈希状态(及其相应的合约执行、付款和事件发射)。DA 可能最终有效(即计算成功)或无效。如果 DA 有效,系统将进入一个新状态,在树中具有新的状态哈希,以及在 DA 中指定的相应副作用(付款和日志)。如果 DA 无效,则拒绝分支并且状态不变。每个状态最多可以有一个 DA 跟随它。如果一个 DA 没有跟随状态,那么任何人都可以创建一个跟随它的 DA,创建一个新的分支点。结果将是一棵可能的未来树。所以我们可以看到,虽然 Optimism 使用多个 L1 智能合约在 L2 提交状态和执行。

image-20220101100006972

经济模型: Staking 在 Arbitrium 的汇总中起着关键作用。任何人都可以将赌注押在树的其中一个状态上。通过抵押一个状态(图中的方块),您可以断言该状态最终会被协议确认。 换句话说,您断言您在从当前状态到您所放置的方块的路径上的每个 DA 处都采用了正确的分支。如果你错了,你的赌注将被削减。您可以向右移动您的赌注,选择向上或向下分支,但您不能向左移动,因为这相当于取消您之前做出的赌注承诺;或同时投注两个平行分支。 在错误分支上赌注的参与者的赌注在赌注在被接受的分支上的参与者之间分配。 协议的构建确保最终所有独立的历史(分支)将汇集到一个 DA,最终解决争议。

image-20220101100117688

  • 验证:一旦 DA 的质押期限已过,并且剩余的所有及时(放置在质押期限之前)质押都在该 DA 的同一分支上,系统可以确认该 DA 的结果。 DA 要么被接受,要么被拒绝,当前状态移动到 DA 右侧的适当方块。 如果 DA 被确认为有效,其副作用(例如付款)将在链上实现。这就是 VM 的状态向前移动的方式。该协议是完全去信任的,因为任何参与者都有权通过在认为正确的分支上抵押来验证 VM 的状态。
Metis
  • VM 和客户端: Metis 使用与 EVM 兼容的虚拟机 Metis VM (MVM)。MVM 在功能和特性方面与上述项目中的所有 VM 有很大不同。在 MVM 中, L2 的计算和存储是完全解耦的。 Metis 引入了去中心化自治公司 (DAC) 的概念。DAC 是系统中的独立实体,可以代表例如通过平台执行许多日常操作的大型企业)。DAC 是 Metis 运营的关键。当系统中实例化一个新的 DAC 时, 会专门为该 DAC 创建一个新的存储层。因此,考虑到链交互,DAC 拥有自己的存储空间。

Metis 的 L2 计算层(即区块挖掘、共识、跨层通信等),另一方面,由网络中的所有 DAC 共享,但它包含一个有趣的特性:所有计算进程作为单独的服务实现(遵循微服务方法) 允许计算层根据整个网络的需求和吞吐量进行扩展和缩减。 此外,MVM 引入了供应商的角色,他们可以注册并贡献计算能力,使第 2 层构建真正去中心化(这些供应商可以看作是来自 Optimism 平台的排序器)。提供者将根据产生的区块获得激励。最后,MVM 和 Metis 客户端中包含的一个真正强大的功能是其他 L2 平台所缺乏的,它不仅支持合约执行,还支持 与智能合约计算相关的去中心化存储。 因此,Metis 通过 MVM 中的 IPFS 解析器与 IPFS 网络集成,该解析器允许合约指向存储在 IPFS 中的不可变数据。例如,这可用于指向存储在 IPFS 网络中的机密数据。

image-20220101100859983

  • Rollup 构建: 在 Metis 中,L2 事务的排序和批处理不是由单个排序器完成,而是由一个池完成。 将随机选择一组排序器来汇总状态根并将交易提交到 L1。 在 L1,Metis 部署了一组合约来协调 L2 批次到 L1 的承诺。
  • 经济模型: 每个排序器需要质押一定数量的 Metis Token 才能获得资格。Metis 生态系统具有强大的真实经济联系,交易价值可能达到数十亿,这一事实需要使用动态债券阈值 (DBT),以便将恶意行为的风险和回报与所管理的真实经济价值联系起来由参与交易的 DAC。DBT 是使用分配给定序器的 DAC 的最大经济容量作为基础来计算的。DAC 的经济能力是根据其总余额计算的。 因此,如果特定排序器的抵押 Metis 代币 (MT) 数量低于分配给它的 DAC 的 DBT,它将无法为该 DAC 批量交易。 DAC 的排序被阻止,直到在排序器池中找到合格的排序器。DAC 余额的新存款或取款会触发其 DBT 的自动更新。因此,对 DAC 余额的新提款将减少排序器所需的 DBT,反之亦然。这确保了所需的排序抵押品始终遵循 DAC 的实际经济价值。
  • 验证: 出于验证目的,Metis 平台在其 MVM 中引入了 L2 Rangers 的概念。L2 Rangers 是特殊 DAC 的成员,负责对一系列区块进行采样,并根据随机 DAC 定期分配的事务来验证状态根。Rangers 不仅验证其他 DAC 的顺序转换,而且还验证自己的 DAC(他们自己监视)。Ranger 完成的每一次验证都会获得一些 Metis 代币 (MT) 的奖励。对链状态的成功挑战(即欺诈证明)会奖励验证者一部分“恶意”定序器债券。另一方面,失败的挑战将导致 Ranger 验证器失去绑定并最终无法访问 MVM_RANGERS。

这种排序器和验证器都需要抵押的验证方法,解决了我们在 Optimism 平台验证过程中发现的一个关键问题,即在生成虚假欺诈证明时缺乏验证者的权益。抵押排序器和验证器(即 L2 Rangers)的良好协调也 缩短了证明窗口以提高网络效率。 诸如 Optimism 提出的协议,交易在验证窗口过去之前不能被认为是最终的,并且验证者有足够的时间发送所有证明。 这是验证者没有被抵押的直接后果。 尽管是检测无效状态更新的诱因,但作为验证者的不当行为并没有受到很大的惩罚。因此,为了防止潜在的不当行为,最终窗口被增加到“让每个人都可以发言”。在 Metis 中,这是不需要的,因为验证者是有抵押的,他们一方的不当行为将导致资金损失。验证器和排序器具有“游戏皮肤”,这可以减少最终窗口,这就是 Metis 能够在数小时内验证交易而不是 Optimism 等其他协议需要的 7 天的原因。

image-20220101101042653

ZK Rollup

ZK Rollup采用零知识证明(zero-knowledge)来保证交易的安全性。零知识证明是指证明者能在不向验证者提供任何有用的信息的情况下,使验证者相信某个论断是正确的。

因此在ZK Rollup的方案中,验证方可快速低成本地证明交易安全性,能在保护隐私的同时简洁快速地验证数据的真实有效性。

但其缺点是计算量大,技术难度高且难以支持虚拟机。

image-20220101161135327


引用文章

Social Link

Blog:https://xiaobacaifu.github.io/

Twitter:https://twitter.com/xiaobacaifu

Telegram:https://t.me/xiaobacaifu

Discord:https://discord.com/invite/BvqdrCx6dU

捐赠地址:0x7a4e7EbE90643bCad55cdD86DcFE3e71BDC02152