以太坊Layer-2简介
Layer-2扩展技术将交易移出链上(与layer-1扩展技术相反,后者旨在提高基础链的交易吞吐量)。如果构建得当,Layer-2解决方案可利用区块链的诸多好处(安全性、不可变性、去中心化性等),而不会造成相同的代价(确认时间慢、波动性和高交易成本等),这种权衡和假设是值得的。
在以太坊上构建的layer-2扩展技术的驱动原理是使用欺诈证明,而非有效性证明。有效性证明(如zk-S[NT]ARKS)可用于防止链外发生不正确的状态转换。不幸的是,除了资源极为密集之外,有效性证明是垄断性的,其非竞争性生成,因此以有效性证明为中心的系统会趋向于被许可,因此不会去中心化。要了解“去中心化”意味着什么,请参阅前面关于可扩展性问题的文章。也许更重要的是,有效性证明只有在实现无缺陷的情况下,才有其良好的属性,否则它们的表现无法比欺诈证明更好!
另一方面,欺诈证明在本质上是乐观的:我们假设在挑战证明不正确之前,一切都是正确的。这些证明的生成,通常是简单和廉价的(特别是与生成有效性证明相比),因此任何人都可以参与。
过去几年,以太坊的两大主要扩展提案分别是子链(即Plasma)和状态通道(例如雷电网络等)。
Plasma
Plasma是子链设计的一个框架。Konstantopoulos将Plasma子链描述为“非托管侧链”。
该定义规定:1)该侧链不能窃取你的资金,2)该侧链不能阻止你申请资金。这是通过使用一个无需信任(或者说几乎是无需信任的)的双向锚定来实现的。
子链的一个更精确的定义是:“无需信任的侧链通过定期承诺,从其父链借用安全性。”
双向锚定一直是最大的挑战。前向锚定(父链→侧链)的实现是很简单的:其只需将资金锁定到父链上的合约当中。但是,由于侧链比父链更容易受到攻击/操作,因此,后向锚定(侧链→父链)是问题的根本原因。为解决这一问题,研究者们提出了几种方法(列出的方法非详尽):
1. 只支持单向锚定。这可以防止侧链上的任何人恶意窃取父链上的资金。这种设计目前正被建议用于以太坊2.0中的信标链,以太币(ETH)在父链(PoW以太坊链)上燃烧,同时在侧链(PoS信标链)上标记为等值的BETH,这是没有办法反转的(译者注:至少在几年内是这样)。
2. 使用联合锚定。在该方案中,一个或多个操作员通过多重签名方案控制后向锚定过程。换句话说,运营者决定何时可在父链上解锁资金。不幸的是,这种方案导致了侧链被有效地托管,联合侧链的所有意图和目的与中心化交易所是类似的;
3. Plasma(这篇文章的一半的主题)! Plasma允许几乎无需信任的双向锚定,特别是将资产从子链反向锚定回父链。它通过使用一个退出游戏来实现这一点,退出游戏隐式或显式地使用欺诈证明,依赖于必须在给定超时内发出的挑战(challenge)变化。请注意,与流行的观点相反,Plasma本身并不支持低延迟交易,其只通过乐观地承诺(commitment)将很多交易作为以太坊链上的单个哈希来增加吞吐量。实际上,子链交易的延迟可以被认为比没有任何类似通道功能的父链交易的延迟要高。
附加说明
与所有依赖欺诈证明而非有效性证明的layer-2方案一样,对于父链上的大多数区块生产者,会有一个多数为诚实的信任假设。大多数矿工(在一个PoW链)可以审查交易:在防欺诈的情况下,如果挑战被审查,那么资金就可能被偷。这就是为什么Plasma并不是完全无需信任的原因,实际上这是子链设计的一个基本附加说明。
Plasma的研究咋样了?
关于Plasma研究进展,可以追溯到2018年9月份,让我们看看Plasma在过去6个月的发展情况。
Plasma Cash(诞生于2018年3月)是Plasma的一个变体,它使用了一个不可替代的、类似通道的数据模型,而Plasma MVP(2018年1月)使用了一个可替代的UTXO数据模型(类似于比特币)。与支付通道网络不同,Plasma Cash允许用户加入网络,在不进行链上交易的情况下发送和接收币。不幸的是,与支付通道网络不同,这是通过要求在交易币时传递不断增长的币历史来实现的,并作为币所有权的证明。这段历史随着Plasma链区块的数量而线性增长。
Plasma Prime(诞生于2018年10月)是Plasma研究的下一个重要里程碑。其使用RSA累加器对Plasma Cash 币历史数据进行压缩,而RSA累加器最初被建议用于批处理比特币的UTXO。Konstantopoulos在这里优雅地写了一篇关于RSA累加器的深入解释文章,Bünz则给出了一次技术性讨论演讲。从高层次讲,累加器是一个固定大小的整数,它可以证明由唯一素数标识的集合元素的成员身份或非成员身份,并且我们可以在此基础上执行加法和除法操作。这有助于使以前Plasma Cash的线性币历史变成固定大小(无论其Plasma区块数有多少)!
Plasma Group,该组织于2019年1月份被公开,这是一家从事于Plasma基础研究和开发的新型非营利性组织。他们首先发布了Plasma Cashflow链的规范。这解决了在Plasma Cash中发现的币碎片问题,但其没有解决币历史的大小问题。最近,他们发布了一个使用predicates的通用Plasma设计。这种“plapp”设计的要点是,单个Plasma链可执行部署在以太坊父链上的合约状态转换。这意味着开发人员不再需要设置自己的Plasma网络(包括编写复杂的P2P客户端等)来利用Plasma的扩展优势,而是可以简单地将predicate合约部署到以太坊上。
Loom Network则运用了Plasma Cash技术和委托权益证明(DPoS )机制运行了一个PlasmaChain。这并没有提供任何新的研究成果,但确实显示了早期迭代Plasma是如何被用于小的实际应用的。
Omisego在Rinkeby上发布了一个名为Ari的Plasma MoreVP实现的alpha版本。Hoard使用这个网络在Hoard演示了一个名叫PlasmaDog的游戏。
未来的工作
MVP型Plasma子链的大规模退出问题,导致了该方向的研究陷入了困局。从高层次上讲,MVP型Plasma链依赖于用户完全验证Plasma链,并在操作员生成无效区块或操作员保扣留区块时退出。退出在父链(以太坊)上执行,当前设计的最佳退出方案在退出数量上是线性的。在对抗性条件下,以太坊上运行的所有Plasma MVP链的安全累积吞吐量天花板,即为以太坊链本身的退出吞吐量。由于这个问题,大部分Plasma研究转向了Plasma Cash及其衍生品。
而对于Plasma Cash变体而言,主要的减少渐进增长币历史的问题已经被解决。当然,使用RSA累加器(正如在Plasma Prime中一样),并非是没有缺点的:1)RSA累加器需要一个可信设置,可信设置的去中心化程度在加密货币领域中是一个争议点,2)使用RSA累加器的紧凑和高效可验证证明,仍然是当前研究的主题。
问:“你们通过10行代码实现了RSA累加器吗?” 开发者答:“好吧,是的,但实际上又没有”
另见(非详尽)
· Plasma Group (Twitter)(非盈利Plasma研发、Plasma Cashflow)
· Plasma实施者调用
· Learn Plasma(了解Plasma设计的资源)
· OmiseGO [Twitter] (Plasma MVP变体)
· Loom Network [Twitter] (Plasma Cash 变体)
· Georgios Konstantopoulos [Twitter]
· LeapDAO [Twitter] (Plasma Leap)
状态通道
所谓以太坊的“通道”,是指通道参与者一致同意进行的layer-2构造。这要求所有网络参与者对通道的任何更新进行数字签名。这些通道更新可通过链上发送来解决争议。考虑到各方可进行带外通信以协调签名,通道的延迟可能非常低,特别是与使用区块链相比。
虽然支付通道的概念(两个或多个缔约方之间的通道促进它们之间的货币支付)已经存在了一段时间,但状态通道的概念,最近在以太坊上得到了更积极的探索。状态通道允许潜在的任意状态转换在链外发生,而不仅仅是支付,这为在链外执行可扩展的低延迟计算提供了可能性,并且具有与链上交易类似的安全性。
注意事项
与Plasma一样,只有当基础链未被区块生产者(即以太坊的矿工)审查时,通道才可安全使用。
通道面临的唯一最大的未解决问题,就是其statefulness(有状态)的结果,只有最新的状态是有效的(对抗条件下的要求)。这导致通道只支持副本,而不支持备份。为了说明这两者之间的区别,请考虑以下几点:私钥和助记词短语可以备份到纸钱包中。这些备份可以被复制、测试,并且在未来无限期地进行工作(理想情况下)。另一方面,安全管理通道状态副本的要求,要更为复杂,并且在尝试使用备份时会发生有趣的事情。
最后,通道不同于链,它们是基于一组固定的参与者而运行的。这在一定程度上被通道网络所缓解,但路由和流动性问题使得它们目前无法作为解决方案(以及上述复制问题的复合)。始终在线的通道性质也仍未得到解决。
以太坊状态通道的研究咋样了?
尽管上面列出了所有关于状态通道的注意事项,但是通道相比链具有显著的优势,包括接近即时的最终性和较低的通信开销,这使得在很多情况下,使用通道进行通信会更便宜。
自状态通道的论文在2018年6月份被发布以来,Counterfactual团队(原名为L4)一直致力于围绕其通用状态通道架构构建开发者工具,该架构以反事实合约实例化为中心,其中合约的地址根据其初始化方式进行唯一定义,允许合约在链外使用,且只在链上创建(在同一地址),以防发生争议。
为了实现反事实的实例化,一个新的操作码 CREATE2被开发了出来,最近其通过北京时间3月1日发生的君士坦丁堡硬分叉被部署到了以太坊主网。操作码实现了描述的功能,而它的缺失是通用layer-2结构部署中的一个关键障碍。
Patrick McCorry一直在努力开发Pisa,这是一个监视塔框架,用于在用户下线时确保通道资金的安全,并且无法监视欺诈性通道关闭链。 Pisa监视塔是独一无二的,因为它们包含了一个证明,表示监视塔被承包观看一个通道,并允许它在发生不正当行为的情况下受到惩罚。然而,实施这一框架所需的资本锁定以及由此产生费用的经济学,仍然是研究者需要去积极探索的主题。
在这些研究成果的基础上,广泛的项目使用了简单的支付通道和特定于应用的状态通道(太多,无法全部列出!)
另见(非详尽)
Counterfactual [Twitter] (广义状态通道),Jeff Coleman [Twitter], Liam Horne [Twitter] SpankChain [Twitter](支付通道流媒体服务) , Ameen Soleimani [Twitter] FunFair [Twitter](***支付通道) Patrick McCorry [Twitter] (Pisa, watchtowers) 雷电网络(Raiden Network) [Twitter] (类似于闪电网络的支付通道网络) Connext [Twitter](支付通道网络)
结束语
仅在过去半年的时间,开发者们在以太坊上探索的layer-2扩展技术便取得了很多进展,我们可预计在随后的几个月和几年中,相关技术的研发速度会增快。然而,在我们将这些技术应用到实际的部署阶段之前,仍然存在着很多挑战。如果你有兴趣解决这些问题,可以联系上面列出的任何一个团队。
关于layer-2技术的发展,以太坊的研究是值得我们跟进的,原文作者也会每两个月进行更新,有兴趣的读者可关注一下原作者John Adler。
评论
查看更多