我们提供了一份指南,用于评估各种以太坊 Layer-2扩容解决方案,涉及多个因素。ZK roll up、optimistic rollup、侧链、支付渠道、plasma、validium:哪个更适合你?
随着越来越多的扩容解决方案的出现,以太坊Layer-2扩容方案的选择对于开发者来说已经变得棘手。棘手之处在于,每个解决方案都宣称是无信任、安全、经济和易于使用,但背后却不可避免地存在差别。我们建议开发者不要将这些宣称当作事实,而是进行全面的调查,以挖掘每个解决方案所做的权衡。
为了简化该任务,我们整理了一份问题清单,以帮助开发者评估不同的扩容解决方案,并采用最适合自己需求的方案。这些问题分为以下几类:
安全性
性能/经济性
易用性
其他
除了这些问题,我们还整理了一份对比表,为您与解决方案的提供商的对话提供一个起点。虽然我们尽最大努力保持对比的中立性和公平性,但要以表格的形式简明扼要地表达不同方法的细微差别,仍然是一项艰巨的任务。我们希望用上下文能弥补这个不足。
非常感谢 Georgios Konstantopoulos(Layer 2 独立研究员),John Adler,Ben Jones,JD Kanani,Patrick McCorry,Justin Drake(以太坊基金会)和 Brecht Devos(Loopring),感谢他们对该表的审查和更正。
安全性
在线假设(例如,瞭望塔watch-towers)
协议是否需要用户在线?换句话说:用户是否需要自己或通过受信任的代表(如:瞭望塔)来监控扩容解决方案所有链上(L1)的活动?
在某些情况下,可以将在线委托给受信任方,并提供与其服务的用户一致的激励措施。但是,值得注意的是,这种受信任代表在行为不当的情况下,所能损失的金额总是限于他们为成为受信任代表而投入的相应 "保证金"(即担保金)的大小。人们应该考虑是否有机会窃取比保证金中更多的价值,以及他们对这种风险的承受能力如何。
大规模退出假设
扩容解决方案的安全性假设是否包括所有用户能够在短时间内退出交易(提款),退回到L1层。
当出于安全原因,某扩容方案的所有用户需要在短时间内离开L2时,L2的大规模退出就会发生。如果他们选择留下,攻击者可能会进行一些操作,抽走仍留在L2中的资金。例如在Matic中,留给所有用户退出的窗口是1周。
由于网络拥塞和DoS攻击,这可能非常麻烦。例如,在给定时间范围内大规模退出,以太坊网络可能会发生高度拥堵,可能导致交易无法及时打包。即使是在不拥堵,攻击者仍可以尝试操纵 GAS 价格以致交易不能及时处理。这是需要考虑到的攻击手段。
托管
法定人数的 L2 验证者是否能使用户在不确定的时间内无法使用资金?他们可以占用用户资金吗?
如果希望项目保持不受审查,那么这点尤其重要。
热钱包密钥的漏洞
这种L2方案中的资金安全是否取决于操作者是否有能力保护密钥的安全(密钥必须保持在线以保持系统正常运行)。
众所周知,热钱包是很难保证安全的。
加密货币经济攻击漏洞
应对加密经济攻击的扩容方案是否脆弱,它是否依赖于博弈论假设?
涉及加密经济激励的攻击有很多种,包括破坏L2验证者(或其操作人员)、贿赂L1上的矿工、制造dark-DAO等。这些攻击媒介正在迅速发展,而且在一个依赖博弈论假设的系统中很难被消除。
这还包括技术上不属于盗窃,但实际上是等效的情况。例如,对Validium的双花攻击,攻击者不能窃取其他人的资金,但仍然可以进行双花。
密码原语
该扩容方案是依靠标准密码学还是利用新的密码学研究,如SNARKs或STARKs?
通常,一种密码学构造在世界上出现的时间越长,就越有机会被人破解。使用的原语越是先进和新颖,就要求实施和审计这些原语的团队具备更高的能力,且需要更多的审核。
绩效/经济
最大产量
在以太坊1.0的边界内,扩容方案的最大可能吞吐量是多少?在以太坊2.0中呢?
虽然今天扩容方案的吞吐量可能是令人满意的,但同时也要展望未来,并预测你的项目能否满足额外吞吐量的需求,以及你计划采用的扩容方案是否适应未来。
资本效率
扩容方案的资本效率如何?是否需要大量资本才能运行?
相对于其他扩容方案,资本效率较低的系统会让用户付出更高的成本,并且可能会因为缺乏即时流动性而导致运营中断。例如:支付通道的资本效率相对较低,因为运营商必须锁定其通道平均交易量的倍数,以确保其不会达到容量上限。
开立新帐户的成本
开始使用L2的新用户是否需要在L1链上提交交易?
在对比表中,我们指出了每个系统的最佳方案,但个别方案可能效率较低。例如,zkSync和Loopring都使用zkRollups,但Loopring要求用户在收到付款前进行L1交易来开户,而zkSync则不需要。
易用性
提款时间
提款到 L1 需要多长时间?
为了解决争端,某些解决方案中的取款可能需要等待一周或更长时间。为了减轻这种漫长的等待时间,是否有流动性提供者为用户提供流动性以换取风险溢价?如果存在这样的流动性提供者,它们的可靠性和成本如何?由于快速提款需要付出一定的代价,所以使用这种解决方案的真正代价是什么?
达到主观最终性( subjective finality)的时间
在协议的安全性假设下,交易多快能到达无法在L1上还原的状态?
通过主观最终性,我们的意思是说,即使L1智能合约仍不能依赖此状态,也可以说服外部观察者相信交易的不可逆性。例如,在 Optimistic Rollups中,您需要在以太坊上进行1项确认才能达到L1最终性,而达到完全最终性则需要大约1周的时间。
主观最终性的客户端可验证性
能否与轻客户端(浏览器/手机钱包)核实达到主观最终性的时间(请参见前面的问题)?
继续上面的示例, 在 Optimistic Rollups 中,进行 1 次确认就能达到 L1 最终性,但要确认交易是最终的,则必须下载整个 Rollup 状态并执行上周的所有交易,以确保没有 Optimistic Rollups 块是无效的。
即时交易确认
该方案能否提供完整的即时交易确认?还是担保下的即时确认?
"即时表最终性 "可以在大多数L2协议之上实现,即,交易似乎将在 UX(用户)上得到了立即确认。只有支付通道(状态通道)为这些确认提供完整的安全保证,而在其他协议中,这些交易仍可以在 L1 中确认之前一段的时间撤销(revert)。不过,撤销它们(不管是否成功)需要付出代价,它们都会因此失去其安全保证金(即抵押存款)。
这个功能取决于扩容方案的具体实现细节。
其他方面
智能合约
L2是否支持任意可编程的智能合约,还是只支持使用某些谓词实现的有限子集?
EVM字节码的可移植性
你可以几乎不做任何改动地移植现有以太坊合约的EVM字节码吗?
原生隐私支持
协议是否提供对隐私的原生支持?
如果没有默认的低成本隐私交易,隐私保护将是几乎无效的,这一点在各种平台的关于去匿名的多项研究中已经被证明了。
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。