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

2021-04-08 12:48:05 作者:金色财经

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) 开放和共享,或者可能仅由某个公司部署并专门用于支持该公司的应用。

Rollups

Rollups 是在 Layer 1 之外执行交易,但在 Layer 1 上发布交易数据的解决方案。由于交易数据位于 Layer 1 上面,这使得 Rollups 受到了 Layer 1 的保护。

Rollups 的关键特征是:继承了以太坊主链 (Layer 1) 的安全属性,同时在 Layer 1 之外执行交易。

Rollups 的三个简化特性如下:

在 Layer 1 之外执行交易;

在 Layer 1 上发布交易数据或证明;

部署在 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

通道 (Channels)

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

可用于:

大量的状态更新;

当预先知道参与者的数量时;

当参与者总是存在时。

参与者必须将一笔 ETH 存款锁定在一个多签合约中。多签合约是一种需要多个私钥签名 (从而使各方达成共识) 以执行交易的智能合约类型。

锁定存款就是基于这种方式的第一笔交易,以此来开通一个交易通道。之后,参与者就可以快速和自由地进行链下交易。当交互完成之后,一笔最终的链上交易会被提交,从而解锁之前被锁定的存款。

状态通道 (State channels)

状态通道的井字游戏:

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

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

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

目前有两种类型的通道:

状态通道 – 如上所述;

支付通道 – 经简化的状态通道,只处理支付。支付通道允许两个参与者之间进行链下转账,只要他们的转账净额不超过存入的代币数量。

优缺点

优点:

即时提款/主网结算 (前提是通道的参与双方合作的情况下);

可能实现极高的交易吞吐量;

每笔交易有着最低的成本,有利于小额支付。

缺点:

创建和结算通道的时间和成本 — 对于任意用户之间偶尔的一次性交易来说不太好;

需要定期查看通道网络,或将此责任委托给其他人,以确保用户资金的安全;

必须在开启通道时锁定资金;

不支持公开参与。

状态通道的用例

Connext

Kchannels

Perun

Raiden

Statechannels.org

Plasma

Plasma 链是一条独立的区块链,锚定到以太坊主链,并使用欺诈证明 (类似于 Optimistic Rollups) 来仲裁纠纷。

Plasma 的优缺点

优点:

高吞吐量,低交易成本;

适用于任意用户之间的交易 (如果两个用户都在 Plasma 链上,则每个用户对没有开销);

缺点:

不支持通用计算,只能支持基本的代币转移、兑换和其它一些交易类型;

需要定期查看该网络,或将此责任委托给其他人,以确保用户的资金安全;

依赖于一个或多个 Plasma 链运营者来存储数据并根据请求提供服务;

存在交易挑战期,提款会被推迟了几天。流动性提供者可以减轻这种情况,但存在相关的资本成本。

Plasma 用例

OMG Network

Polygon (前身为 Matic Network)

Gluon

Gazelle

LeapDAO

Validium

Validium 使用像 ZK-Rollops 这样的有效性证明,但数据并不存储在以太坊的以太坊 Layer 1 主链上,而是将 Layer 2 的交易数据存储在链下。这可能实现每条 Validum 链每秒处理 10k 笔交易,多条 Validum 链可以并行运行。

Validium 的优缺点

优点:

没有取款延迟 (链上/跨链交易没有延迟),从而提高资本效率;

不会像基于欺诈证明的系统那样容易受到某些经济攻击。

缺点:

对通用计算/智能合约的支持有限;专门的语言要求。

生成 ZK 证明需要较高的计算能力,对于低吞吐量的 Apps 来说,此方案是不划算的;

Validium 用例

Starkware

Matter Labs 的 zkPorter

Loopring

侧链

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

优缺点

优点:

较成熟的技术;

支持通用计算,兼容 EVM;

缺点:

不那么去中心化;

使用单独的共识机制,其安全性不受 Layer 1 保护 (因此从技术上来说,侧链不是 Layer 2);

一定数量的侧链验证者可以实现欺诈。

侧链的用例

Skale

POA Network

xDAI

混合解决方案

结合多个 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*

相关推荐

图文推荐