科普 | 以太坊 Layer 2 扩容方案及用例综述

来源 :ethereum.org
编辑:南风


Layer 2 是一系列链下扩展性解决方案的总称,这些解决方案旨在通过在以太坊 (Layer1) 链下处理交易来帮助应用实现扩展。当以太坊网络繁忙时,交易速度会受到影响,这可能会导致某些类型的 Dapps 的用户体验较差。随着网络越来越繁忙,Gas 价格也随着交易发送方 竞相出价 而上涨。这可能会导致使用以太坊变得非常昂贵。
 
本文假设你对一些基本知识有着很好的理解。实现 Layer 2 解决方案是先进的技术,该技术的战场考验还较少
 

为何需要 Layer 2?

  • 对于一些用例 (比如区块链游戏) 而言,当前的交易处理所需时间是行不通的;
  • 使用基于区块链的应用 (apps) 可能会非常昂贵;
  • 任何对可扩展性的改进都不应该以牺牲安全性和去中心化为代价 ––  Layer 2 构建于以太坊之上。
 

Layer 2 解决方案的类型

  • Rollups
    • ZK Rollups
    • Optimistic Rollups
  • 状态通道 (State channels)
  • Plasma
  • Validium
  • 侧链
  • 混合方案
 
大多数 Layer 2 解决方案都以某个服务器或服务器集群为中心,每个服务器都可以被称为一个节点,验证者,运营者,区块生产者,或者其它类似的术语。根据实现方式的不同,这些 Layer 2 节点可能由使用它们的企业或实体、或由第三方运营商、或由一大群个人 (类似于以太坊主网) 运行。
 
一般来说,交易会被提交给这些 Layer 2 节点来处理,而不是直接提交到 Layer 1 (主网);然后,Layer 2 实例会将交易分批成组地锚定到 Layer 1 上,之后这些交易就被 Layer 1 保护且无法再被更改。根据不同的 Layer 2 技术及其实现的不同,这方面的具体实现细节也有很大的不同。
 
某个特定的 Layer 2 实例可能对许多应用 (apps) 开放和共享,或者可能仅由某个公司部署并专门用于支持该公司的应用。


01

Rollups

Rollups 是在 Layer 1 之外执行交易,但在 Layer 1 上发布交易数据的解决方案。由于交易数据位于 Layer 1 上面,这使得 Rollups 受到了 Layer 1 的保护。
 
Rollups 的关键特征是:继承了以太坊主链 (Layer 1) 的安全属性,同时在 Layer 1 之外执行交易
 
Rollups 的三个简化特性如下:
 
  1. 在 Layer 1 之外执行交易;
  2. 在 Layer 1 上发布交易数据或证明;
  3. 部署在 Layer 1 上的某个 Rollup 智能合约,通过使用 Layer 1 上的交易数据能够确保 Layer 2 交易被正确地执行。
 
Rollups 要求运营者在 Rollup 智能合约中质押一笔保证金,这样就激励了运营者正确地验证和执行交易。
 
Rollups 可用于:
 
  • 为用户减少交易费;
  • 开放式参与;
  • 快速的交易吞吐量。
 
当前有两种具有不同安全模型的 Rollups:
 
  • ZK Rollups:在链下运行计算,并向主链提交有效性证明 (validity proof);
  • Optimistic Rollups:默认情况下假定交易是有效的,仅在遇到挑战 (challenge) 时,通过欺诈证明 (fraud proof) 运行计算。
 

1. ZK Rollups

 
ZK Rollups,全称 Zero Knowledge Rollups,会将数百笔交易在链下 (Layer 2) 进行捆绑打包,并生成一个称为SNARK(简洁的非交互式零知识证明)的加密证明。这就是所谓的有效性证明 (validity proof),该证明会被提交和发布在 Layer 1 上面
 
部署在 Layer 1 上的 ZK Rollup 合约会维护所有发生在 Layer 2 上的交易转移状态,该状态只能通过有效性证明才能进行更新。这意味着,ZK Rollups 只需要有效性证明,而不需要所有的交易数据。通过 ZK Rollup,验证区块将变得更快、更廉价,因为被打包的数据更少了
 
使用 ZK Rollup 时,当资金从 Layer 2 转移到 Layer 1 时不会出现延迟,因为 ZK Rollup 合约此前接受的有效性证明已经验证了这笔资金的有效性
 
我们还可以对使用 ZK Rollups 的侧链进行优化,以进一步减少交易大小。比如,账户 (account) 可以由索引 (index) 而非地址 (address) 来表示,这样就可以将交易大小从 32 字节减少到仅仅 4 字节;交易还可以作为 calldata 被写入以太坊,从而减少 Gas 使用量。
 

ZK Rollups 的优缺点

 
优点:
  • 当需要将资金转移至主链上时,不会出现延迟,因为有效性证明已经对资金进行了验证;
  • 不像 Optimistic Rullops 那样容易受到经济攻击的影响。
 
缺点:
  • 仅限于简单的转账,不兼容于 EVM (以太坊虚拟机);
  • 有效性证明的计算强度很大,因此对于一些链上交易活动较少的应用而言,不值得采用此技术;
 

ZK Rollups 的用例

  • Loopring
  • Starkware
  • Matter Labs 的 zkSync
  • Aztec 2.0
  • ZeroSwap
  • Sushiswap
  • dYdX
  • Immutable X
 

2. Optimistic Rollups

 
Optimistic Rollups 与以太坊主链平行运行。Optimistic Rollups 可以在可扩展性方面提供改进,因为默认情况下它们不进行任何计算。相反,在交易完成之后,它们会向主网提议新的状态,也即对交易进行“公证”。
 
使用 Optimistic Rollops,交易将作为 calldata (调用数据)被写入以太坊主链,通过降低 Gas 成本来进一步对交易进行优化。
 
由于链上计算是导致以太坊缓慢、昂贵的原因,Optimistic Rollups 能够根据交易类型提供 10-100 倍的可扩展性提升。随着 Eth2 升级将引入分片链,这一数字将会进一步增加。这是因为,当 Optimistic Rollup 链中的某笔交易存在争议时,将会有更多的数据可用。
 

当交易存在争议时

 
Optimistic Rollups 实际上并不会对交易进行计算,因此需要存在一种机制,以确保其中的交易是正当而非欺诈性的。这就是欺诈性证明 (fraud proofs) 发挥作用的地方。如果某人注意到了一笔欺诈性交易 (并提出欺诈证明)Optimistic Rollup 链将使用可用的状态数据来校验该欺诈证明并运行该笔交易的计算。这意味着,ZK-rollup 相比,Optimistic Rollup 可能有更长的交易确认等待时间,因为交易可能会被挑战

 
你在提交欺诈证明时计算所消耗的 Gas 甚至会被补偿,也即你会因为证明有欺诈行为而得到补偿。Optimism 团队的 Ben Jons 描述了现有的保证金系统:
 

Optimistic Rollups 的优缺点

 
优点
  • 你在以太坊 Layer 1 上能做的任何事情,都可以在 Optimistic Rollups 上进行,因为 Optimistic Rollups 兼容于 EVM 和 Solidity
  • 所有的交易数据都存储在 Layer 1 链上,意味着 Optimistic Rollups 是安全和去中心化的。
 
缺点
  • 由於潜在的欺诈性挑战,需要很长的交易确认等待时间
 

Optimistic Rollups 的用例

  • Optimism
  • Offchain Labs 的 Arbitrum Rollup
  • Fuel Network
  • Cartesi
  • Synthetix


02

通道 (Channels)


通道 (Channels) 允许参与者在链上只提交两笔交易的情况下进行 x 次链下交易。这能够实现极高的交易吞吐量。

 

可用于:
 
  • 大量的状态更新;
  • 预先知道参与者的数量时;
  • 当参与者总是存在时。
 
参与者必须将一笔 ETH 存款锁定在一个多签合约中。多签合约是一种需要多个私钥签名 (从而使各方达成共识) 以执行交易的智能合约类型。
 
锁定存款就是基于这种方式的第一笔交易,以此来开通一个交易通道。之后,参与者就可以快速和自由地进行链下交易。当交互完成之后,一笔最终的链上交易会被提交,从而解锁之前被锁定的存款。
 

状态通道 (State channels)

 
状态通道的井字游戏:
 
  1. 在以太坊主链上创建一个多签智能合约“法官”,该合约理解井字游戏规则,并可以识别 Alice 和 Bob 为游戏中的两个玩家。这份合约持有 1 ETH 的奖励。

  2. 然后,Alice 和 Bob 开始玩游戏,开启状态通道。每一步操作都会创建一笔包含“nonce”值的链下交易,这意味着之后我们总是可以知道这些操作发生的顺序。


  3. 当赢家产生时,Alice 和 Bob 通过向“法官”合约提交最终状态 (比如交易列表) 来关闭该通道,这样就付一交易费用。“法官”确保这一“最终状态”由 Alice 和 Bob 双方签署,并等待一段时间以确保没人会对这一结果的合法性发起挑战,然后将 1 ETH 的奖励发给 Alice。


目前有两种类型的通道:
 
  • 状态通道 – 如上所述;
  • 支付通道 – 经简化的状态通道,只处理支付。支付通道允许两个参与者之间进行链下转账,只要他们的转账净额不超过存入的代币数量。
 

优缺点

 
优点:
  • 即时提款/主网结算 (前提是通道的参与双方合作的情况下);
  • 可能实现极高的交易吞吐量;
  • 每笔交易有着最低的成本,有利于小额支付。
 
缺点:
  • 创建和结算通道的时间和成本 — 对于任意用户之间偶尔的一次性交易来说不太好;
  • 需要定期查看通道网络,或将此责任委托给其他人,以确保用户资金的安全;
  • 必须在开启通道时锁定资金;
  • 不支持公开参与。
 

状态通道的用例

  • Connext
  • Kchannels
  • Perun
  • Raiden
  • Statechannels.org


03

Plasma


Plasma 链是一条独立的区块链,锚定到以太坊主链,并使用欺诈证明 (类似于 Optimistic Rollups) 来仲裁纠纷。
 
Plasma 的优缺点
 
优点:
  • 高吞吐量,低交易成本;
  • 适用于任意用户之间的交易 (如果两个用户都在 Plasma 链上,则每个用户对没有开销);
 
缺点:
  • 不支持通用计算,只能支持基本的代币转移、兑换和其它一些交易类型;
  • 需要定期查看该网络,或将此责任委托给其他人,以确保用户的资金安全;
  • 依赖于一个或多个 Plasma 链运营者来存储数据并根据请求提供服务;
  • 存在交易挑战期,提款会被推迟了几天。流动性提供者可以减轻这种情况,但存在相关的资本成本。
 

Plasma 用例

  • OMG Network
  • Polygon (前身为 Matic Network)
  • Gluon
  • Gazelle
  • LeapDAO



04

Validium

 

Validium 使用像 ZK-Rollops 这样的有效性证明,但数据并不存储在以太坊的以太坊 Layer 1 主链上而是将 Layer 2 的交易数据存储在链下。这可能实现每条 Validum 链每秒处理 10k 笔交易,多条 Validum 链可以并行运行。
 
Validium 的优缺点
 
优点:
  • 没有取款延迟 (链上/跨链交易没有延迟),从而提高资本效率;
  • 不会像基于欺诈证明的系统那样容易受到某些经济攻击。
 
缺点:
  • 对通用计算/智能合约的支持有限;专门的语言要求。
  • 生成 ZK 证明需要较高的计算能力,对于低吞吐量的 Apps 来说,此方案是不划算的;
 

Validium 用例

  • Starkware
  • Matter Labs 的 zkPorter
  • Loopring

05

侧链


侧链 (sidechain) 是一条独立的区块链,它与主网并行且独立运行。侧链有自己的共识算法 (比如权威证明、DPoS委托权益证明、拜占庭容错等等)。侧链通过一个双向桥与主链相连。

 

优缺点
 
优点:
  • 较成熟的技术;
  • 支持通用计算,兼容 EVM;
 
缺点:
  • 不那么去中心化;
  • 使用单独的共识机制,其安全性不受 Layer 1 保护 (因此从技术上来说,侧链不是 Layer 2);
  • 一定数量的侧链验证者可以实现欺诈。
 

侧链的用例

  • Skale
  • POA Network
  • xDAI

06

混合解决方案


结合多个 Layer 2 技术的最佳部分,并提供可配置的折衷方案。
 

用例

  • Offchain Labs 的 Arbitrum SCSC
  • Celer Network

延伸阅读

  • Validium And The Layer 2 Two-By-Two — Issue No. 99

    https://www.buildblockchain.tech/newsletter/issues/no-99-validium-and-the-layer-2-two-by-two
  • Evaluating Ethereum layer 2 Scaling Solutions: A Comparison Framework

    https://medium.com/matter-labs/evaluating-ethereum-l2-scaling-solutions-a-comparison-framework-b6b2f410f955
  • Adding Hybrid PoS-Rollup Sidechain to Celer’s Coherent Layer-2 Platform on Ethereum

    https://medium.com/celer-network/adding-hybrid-pos-rollup-sidechain-to-celers-coherent-layer-2-platform-d1d3067fe593
  • Zero-Knowledge Blockchain Scalability

    https://ethworks.io/assets/download/zero-knowledge-blockchain-scaling-ethworks.pdf

 

状态通道

  • EthHub on state channels

    https://docs.ethhub.io/ethereum-roadmap/layer-2-scaling/state-channels/

  • Making Sense of Ethereum’s Layer 2 Scaling Solutions: State Channels, Plasma, and Truebit   – Josh Stark, Feb 12 2018
    https://medium.com/l4-media/making-sense-of-ethereums-layer-2-scaling-solutions-state-channels-plasma-and-truebit-22cb40dcc2f4
  • State Channels - an explanation Nov 6, 2015 - Jeff Coleman

    https://www.jeffcoleman.ca/state-channels/

  • Basics of State Channels - District0x

    https://education.district0x.io/general-topics/understanding-ethereum/basics-state-channels/

 

支付通道

  • EthHub on payment channels

    https://docs.ethhub.io/ethereum-roadmap/layer-2-scaling/payment-channels/

 

ZK Rollups

  • EthHub on zk-rollups

    https://docs.ethhub.io/ethereum-roadmap/layer-2-scaling/zk-rollups/

 

Optimistic rollups

  • EthHub on optimistic rollups

    https://docs.ethhub.io/ethereum-roadmap/layer-2-scaling/optimistic_rollups/

  • OVM Deep Dive

    https://medium.com/ethereum-optimism/ovm-deep-dive-a300d1085f52

 

侧链

  • EthHub on sidechains

    https://docs.ethhub.io/ethereum-roadmap/layer-2-scaling/sidechains/

  • Scaling Ethereum Dapps through Sidechains  - Feb 8, 2018 - Georgios Konstantopoulos
    https://medium.com/loom-network/dappchains-scaling-ethereum-dapps-through-sidechains-f99e51fff447



*本文首发于Unitimes App*

-END-

【发布文章仅为传播更有价值的信息,文章版权归原作者所有,其内容与观点不代表Unitimes立场。本微信平台出现的图片均在互联网收集而来,版权归版权所有人所有,若版权者认为其作品不宜供大家浏览或不应无偿使用,请添加微信unitimes2018联系我们,本平台将立即更正。】

来了就点个呗😘

本文分享自微信公众号 - Unitimes(Uni-times)。
如有侵权,请联系 [email protected] 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章