Rollup、侧链、状态通道等以太坊扩容方案有何异同?从安全性、经济性与易用性等角度分析。

原文标题:《各以太坊 Layer 2 扩容方案评估对比》
撰文:Alex Gluchowski

随着越来越多的扩容方案日渐成熟,以太坊二层网络扩容方案(文章简称 L2,以此对应的以太坊本身为 L1)也变得难以驾驭。

更棘手的是,每个解决方案都宣称他们的方案是去信任化、安全、更经济及易于使用的。

不应该把这些宣称简单的当做事实,而应进行全面的尽职调查,以探究每种解决方案正在做出的不可避免的权衡。

概述

为了简化问题,我们的评估将从以下四个方面着手,分别是:

  1. 安全性 (Security)
  2. 性能 (Performance)/ 经济性 (economics)
  3. 易用性 (Usability)
  4. 其他

希望可以帮助开发者评估不同的扩容解决方案,并采用最适合其需求的解决方案。

除了这些问题之外,我们还汇总了一张对照表(译者注:这张表示本文重点),可作为与解决方案提供商对话的起点。我们尽了最大努力保持对比的中立和客观,但是在表格里简洁地表达不同方法的细微差别仍然是一项艰巨的任务。我们希望用更多的上下文能够弥补这一问题。

非常感谢 Georgios Konstantopoulos (Layer 2 独立研究员),John Adler,Ben Jones,JD Kanani,Patrick McCorry,Justin Drake (以太坊基金会)和 Brecht Devos (Loopring 路印),感谢他们对该表的审查和更正。

全面评估以太坊热门二层扩容方案安全性、经济性与易用性

安全性

在线假设(例如:瞭望塔)

协议是否要求用户在线(liveness)?换句话说:是否需要用户自己或通过受信任的代表(如:瞭望塔)监控扩容解决方案在链上(即 L1 层)的所有活动?

在某些情况下,可以将在线委派给受信任的各方,并提供与其服务用户一致的激励措施(如:通过担保)。但是,需要注意,如果受信任的代表在行为不当,其损失的金额始终保证金的大小。

大家应该考虑受信任的代表是否有机会窃取比保证金更多的价值,以及能在多大程度上承受这种风险。

大量退出假设

扩容解决方案的安全性假设是否包括所有用户都能在短时间内成功退回到 L1 层(用户提款退出)?

如果出于安全原因,L2 扩容方案的所有用户需要在短时间内退出 L2 时,就出现这个情况。如果他们选择留下,则操作员可能会进行一些操作耗尽仍留在 L2 中的资金。例如,在 Matic 方案中,所有用户退出的窗口为 1 周。

由于网络拥塞和 DoS 攻击,这可能非常成问题。例如,在给定时间范围内大规模退出,以太坊网络可能高度拥堵,可能导致交易无法及时打包。即使是在不拥堵,攻击者仍可以尝试操纵 GAS 价格以致交易不能及时处理。这是值得考虑的攻击手段。

监管(Custody)

达到法定人数的 L2 验证者是否能使用户在不确定的时间内无法使用资金?他们可以占用用户资金吗?

如果希望在项目保持不受审查,那么这点尤其重要。

热钱包秘钥的弊端

L2 扩容方案的资金安全是否取决于操作员保护密钥(即热钱包密钥)的能力?

而密钥又必须时刻在线以保持系统正常运行的?

众所周知,热钱包很难获得真正的保护。

易受加密货币经济攻击

扩容方案应对加密经济攻击有多脆弱?是否基于博弈论假设?

有多种涉及加密经济诱因的攻击,包括:构陷 L2 验证者 [1](或其操作人员),贿赂 L1 上的矿工 [2],创建黑暗 DAO [3] 等。这些攻击手段正在迅速发展,而依赖于博弈论假设的扩容系统,难以证明可以根除这些攻击。

同样还包括从技术上讲不是盗窃但实际上是等效的场景。例如,对 Validium 的双花攻击 [4],攻击者无法通过设计窃取其他人的资金,但仍然可以双花。

密码原理

解决方案是否依赖于标准密码学还是利用了新颖的密码学研究,例如 SNARK 或 STARK?通常,越早创造的密码学原语,破解它的机会就越难。越是最先进的和最近的原语,则对 团队实现的能力要求更高,并且需要有更多审核。

性能 / 经济性

最大吞吐量

在以太坊 1.0 上扩容方案的最大可能吞吐量是多少?进来在以太坊 2.0 呢?

尽管今天解决方案的吞吐量可能令人满意,但是有理由展望未来,并预测额外吞吐量的需求,以及计划采用的解决方案是否能够适应未来。

资本利用效率

扩容解决方案的资本利用效率如何?是否需要大量资金才能运作?

对用户而言,资本利用效率较低的系统成本会更高,并且可能会由于缺乏即时流动性而导致运营中断。例如,支付通道的资金利用效率相对较低,因为通道运营商必须锁定其平均通道数量的倍数,以确保通道不会达到容量上限。

开立新帐户的成本

开始使用 L2 中的新用户,他们是否需要在 L1 链上提交交易?

在比较表中,我们指出了方案的最佳实现是否需要提交交易,但是方案的实现可能会有差异。例如,zkSync 和 Loopring 都使用 ZK Rollup,但是 Loopring 要求用户进行 L1 交易来开设帐户,然而 zkSync 却不会需要。

易用性

提款时间

提款到 L1 需要多长时间?为了解决争端,某些解决方案中的取款可能需要等待一周或更长时间。为了减轻这种漫长的等待时间,是否有流动性提供者为用户提供流动性以换取风险溢价?如果存在这样的流动性提供者,它们的可靠性和成本如何?由于快速提款需要付出一定的代价,所以使用这种解决方案的真正代价是什么?

达到主观确定性( subjective finality)的时间

在协议的安全性假设下,交易需要多久达到不能在 L1 上被还原的状态?

通过主观确定性( subjective finality),我们的意思是说,即使 L1 智能合约仍不能依赖此状态,也可以说服外部观察者相信交易的不可逆性。例如,在 Optimistic Rollups 中,需要在以太坊上进行 1 此确认后才能达到 L1 终结,而完全确定性则需要大约 1 周的时间。

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

轻客户端(浏览器 / 手机钱包)是否能核实达到主观确定性的时间(请参见前面的问题)?

继续上面的示例, 在 Optimistic Rollups 中,进行 1 次确认就能达到 L1 终结,但要确认交易是最终的,则必须下载整个 Rollup 状态并执行上周的所有交易,以确保所有的 Optimistic Rollups 块都是正确的。

即时交易确认

扩容方案可以提供完整的交易即时确认,还是担保下的即时确认?

大多数 L2 协议实现了「即时表观终结性」,即,交易似乎将在 UX (用户)上得到了立即确认。只有支付通道(状态通道)为这些确认提供完整的安全保证,而在其他协议中,这些交易仍可以在 L1 中确认之前一段的时间撤销(revert)。不过,撤销它们(不管是否成功)需要付出代价,它们都会因此失去其安全保证金(即抵押存款)。

交易即时确认也取决于扩容解决方案的具体实施细节。

其他方面

智能合约

L2 层是否支持任意可编程的智能合约,或者仅支持使用某些谓词实现的有限子集?

EVM 字节码可移植性

能否几乎不做任何改动就移植现有以太坊合约?

原生隐私支持

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

默认情况下,如果没有低成本的屏蔽式交易,隐私将得不到非常有效保护 [5],因为各种平台上进行的有关去匿名的多项研究都雄辩地证明了这一点(参考 1、2)。

附言:关于 ZK Rollup 的旁注

有两种有效使用 ZK Rollup 的扩容解决方案,您可以立即试用:Loopring (在主网上线了)和 zkSync (Matter Labs 的平台将于 6 月发布)。它们之间的主要区别是底层证明系统的选择不同。Loopring 使用具有特定于应用程序的可信设置的 Groth16 SNARK,而 zkSync 使用具有通用可信设置的较新的证明系统 PLONK。考虑到该证明系统在设计领域的最新突破,我们相信 PLONK 将成为 ZK Rollup 采用的主要加速器,并将在以后的文章中对此进行详细介绍。

来源链接:medium.com