# 评估以太坊 L2的扩展解决方案：一个对比框架

By [白开水](https://paragraph.com/@baikaishui) · 2022-05-20

---

我们提供了一个用于评估跨多个因素的各种替代以太坊第 2 层扩展解决方案的指南
--------------------------------------

### ZK rollup、optimistic rollup、侧链、支付渠道、plasma、validium：哪一个适合你？

随着越来越多的扩展解决方案已经出现，以太坊第2层扩展生态系统对于构建者来说变得难以驾驭。棘手之处在于每个解决方案都承诺不信任、安全、经济和易于使用的背后不可避免地缺乏细微差别。我们鼓励建设者避免将这些属性视为事实，而是进行全面的尽职调查，以深入挖掘每个解决方案正在做出的不可避免的权衡。

为了使这项任务更容易，我们汇总了一系列问题，以帮助构建者评估不同的扩展解决方案并采用最适合他们需求的解决方案。这些问题分为以下几类：

*   安全
    
*   性能/经济
    
*   可用性
    
*   其他
    

除了这些问题，我们还整理了一个比较表，为您提供与解决方案提供商对话的起点。虽然我们尽最大努力保持比较中立和公平，但以表格的形式简洁地表达不同方法的细微差别仍然是一项艰巨的任务。我们希望带有附加上下文的扩展问题列表能够弥补这一点。

_非常感谢 Georgios Konstantopoulos（独立 L2 研究员）、John Adler（Fuel）、Ben Jones（乐观）、JD Kanani（Matic）、Patrick McCorry（any.sender）、Justin Drake（以太坊基金会）和 Brecht Devos（Loopring）他们对该表的审查和改正。_

![2021–02–18 更新](https://storage.googleapis.com/papyrus_images/0b97a2408c2d785ec14d1839014ca308a9d3a09237aced5a6c34289919d5ffbf.png)

2021–02–18 更新

安全
==

活跃度假设（例如瞭望塔）
------------

该协议是否需要用户活跃度？换句话说：用户是否需要自己或通过受信任的代表（瞭望塔）监控扩展解决方案的所有链上（即 L1）活动？

在某些情况下，可以将活跃度委托给受信任的各方，其激励措施与他们所服务的用户一致（即绑定）。然而，值得注意的是，此类受托代表在不当行为的情况下可能损失的金额始终限于他们为成为受托代表而投入的相应“押金”（即保证金）的规模。人们应该考虑是否有机会窃取比存款更多的价值，以及他们对这种风险的接受程度。

大规模退出假设
-------

扩展解决方案的安全假设是否包括所有用户在短时间内成功执行退出交易（取款）到 L1 的能力？

当特定 L2 解决方案的所有用户出于安全原因需要在短时间内离开 L2 时，会发生 L2 中的大规模退出。如果他们选择留下，运营商可能会进行一些操作并耗尽仍然留在 L2 中的资金。例如，在 Matic 中，所有用户都可以退出的窗口是 1 周。

由于网络拥塞和 DoS 攻击，这可能是非常有问题的。例如，在给定大规模退出的时间窗口中，以太坊网络可能会高度拥塞，因此交易可能无法及时挖掘。即使在没有拥塞的情况下，攻击者也可以尝试操纵 gas 价格或[eclipse 节点](https://eprint.iacr.org/2018/236.pdf)以确保交易不会被及时挖掘。这是一个值得考虑的攻击向量。

保管
--

L2 验证者的法定人数能否让用户无限期地无法访问资金？他们能没收用户资金吗？

如果您希望您的项目保持抗审查性，这一点尤其重要。

热钱包关键漏洞的漏洞
----------

此 L2 解决方案中的资金安全是否取决于运营商保护必须保存在在线机器上以保持系统运行的密钥（即热钱包密钥）的能力？

[众所周知，热钱包很难保护](https://www.bitdegree.org/tutorials/cold-wallet/)

对加密经济攻击的脆弱性
-----------

加密经济攻击的解决方案有多脆弱，它是否依赖于博弈论假设？

涉及加密经济激励的攻击有很多种，包括[危害L2验证](https://www.imperva.com/learn/application-security/social-engineering-attack/)者（或其操作人员）[贿赂 L1 上的矿工](https://ethresear.ch/t/nearly-zero-cost-attack-scenario-on-optimistic-rollup/6336)、创建[暗DAO](https://slideslive.com/38911605/smart-contract-security-incentives-beyond-the-launch)等等。这些攻击向量正在迅速发展，并且很难在依赖于博弈论假设的系统中被证明消除。

这还包括技术上不是盗窃但实际上等效的场景。例如[针对 Validium 的双花攻击](https://twitter.com/the_matter_labs/status/1270093208727556108)攻击者无法通过设计窃取其他所有人的资金，但仍然可以双花自己的资金。

密码原语
----

该解决方案是否依赖于标准密码学或利用新的密码学研究，例如[SNARKs 或 STARKs](https://github.com/matter-labs/awesome-zero-knowledge-proofs)？

一般来说，密码结构在世界上出现的时间越长，有人破解它的机会就越长。使用的原语越先进和最近，实施和审核这些原语的团队就应该有更多的能力和审查。

性能/经济
=====

最大吞吐量
-----

在以太坊 1.0 的边界内，解决方案的最大可能吞吐量是多少？在以太坊 2.0 中呢？

虽然解决方案的吞吐量在今天可能令人满意，但展望未来并预测您的项目对额外吞吐量的需求以及您计划采用的解决方案是否经得起未来考验是有意义的。

资本效率
----

扩展解决方案的资本效率如何？是否需要锁定大量资金才能运营？

与其他解决方案相比，资本效率较低的系统对用户来说成本更高，并且可能由于缺乏即时流动性而导致运营中断。例如，支付渠道的资本效率相对较低，因为渠道运营商必须锁定其渠道平均数量的倍数，以确保其不会达到容量。

开设新账户的费用
--------

新用户开始使用 L2 帐户是否需要 L1 链上交易？

在比较图表中，我们指出了每个系统的最佳情况，但单独的实现可能效率较低。例如，zkSync 和 Loopring 都使用 zkRollups，但 Loopring 要求用户进行 L1 交易以开户才能收到付款，而 zkSync 则没有。

可用性
===

### 提款时间

提款到 L1 需要多长时间？

为了解决争议，某些解决方案中的提款可能需要一周或更长时间。为了缓解这种漫长的等待时间，是否有流动性提供者为用户提供流动性以换取风险溢价？如果存在这样的流动性提供者，它们的可靠性和成本有多高？既然快速取款是有代价的，那么使用这种解决方案的真实价格是多少？

### 主观终结的时间

在协议的安全假设下，事务能多快达到无法在 L1 上恢复的状态？

通过主观确定性，我们可以说服外部观察者相信交易的不可逆性，即使 L1 智能合约还不能依赖它。例如，在 Optimistic Rollups 中，您需要在以太坊上进行 1 次确认才能达到 L1 最终确定性，而完全确定性需要大约 1 周。

### 主观确定性的客户端可验证性

可以用轻客户端（浏览器/移动钱包）验证主观确定性的时间吗？（见上一个问题）

继续上面的乐观汇总示例，虽然您需要在以太坊上进行 1 次确认才能达到 L1 最终确定性，但要验证您的交易是最终的，您必须下载整个汇总状态并执行上周的所有交易以确保没有乐观汇总块是无效的。

### 即时交易确认

该解决方案能否提供完整或仅绑定的即时交易确认？

“即时明显的确定性”可以在大多数 L2 协议之上实现，即交易似乎会在 UX 中立即得到确认。只有支付通道（状态通道）为这些确认提供完整的安全保证，而在其他协议中，这些交易仍然可以在一段时间内被还原，然后在 L1 中得到确认。但是，恢复它们并不是免费的，并且这种解决方案的验证者将失去他们的保证金（即存款），无论他们是否成功这样做。而在其他协议中，这些交易仍然可以在 L1 确认之前恢复一段时间. 但是，恢复它们并不是免费的，并且这种解决方案的验证者将失去他们的保证金（即存款），无论他们是否成功这样做。

此功能取决于缩放解决方案的具体实现细节。

其他方面
----

### 智能合约

L2 是否支持任意可编程的智能合约或仅支持可以使用谓词实现的有限子集？

### EVM 字节码可移植性

你能在几乎不做任何改动的情况下移植现有以太坊合约的 EVM 字节码吗？

### 原生隐私支持

该协议是否提供对隐私的原生支持？

如果没有默认的低成本屏蔽交易，隐私保护将是[非常无效](https://twitter.com/VitalikButerin/status/1196468111995756544)的，正如在各种平台上对去匿名化的多项研究已经真实地证明了 ( [1](https://cryptolux.org/images/d/d9/Zcash.pdf) , [2](https://arxiv.org/pdf/2005.14051.pdf) )。

关于 ZK Rollups 的附注
=================

有两种使用 zkRollups 并在主网上运行的扩展解决方案：Loopring 和[zkSync](https://zksync.io/)。它们之间的主要区别在于底层证明系统的选择。Loopring 使用具有特定于应用程序的可信设置的 Groth16 SNARK，而 zkSync 使用 PLONK，这是一种具有通用可信设置的新证明系统。考虑到最近在这个证明系统设计领域的突破，我们相信 PLONK 将成为采用 zkRollups 的主要加速器，并将在下一篇文章中详细介绍。

\*\*\*

我们希望这篇文章对您探索扩展解决方案有所帮助，并让您对未来的发展感到兴奋。如果您有任何问题或想讨论上述任何一点，请随时通过电子邮件 [hello@matter-labs.io](mailto:hello@matter-labs.io)、[Twitter](https://twitter.com/the_matter_labs)和[Telegram](https://t.me/zksync)与我们联系。

Matter Labs 的使命是加速公共区块链的大规模采用。我们正在构建[zkSync](https://zksync.io/)，一个安全且快速的以太坊扩展平台。

![](https://storage.googleapis.com/papyrus_images/37c11cd9f8640b1a1a6e47d750ac8c2b81a37cb5b0ffb38c0eaa91f017c23d62.png)

---

*Originally published on [白开水](https://paragraph.com/@baikaishui/l2)*
