当前位置: > 快讯 > 正文

V神 :侧链VS Plasma VS分片区块链扩展方案优劣对比

特别感谢Jinglan Wang对文章的审阅及提供的反馈,我们经常会遇到一个问题:分片(sharding)、侧链以及Plasma有什么不同?这三种体系结构似乎都涉及了一个中心“主链”的星形拓扑结构,该中心“主链”充当系统的共识支柱,此外还有一组包含实际用户级事务(transaction)的“子”链。子链中的哈希通常周期性地发布到主链(理论上不带中心的分片链是可能的,但到目前为止还没有实现,本文不会关注它们,但参数是相似的)。考虑到这种基本的相似性,选择其中一种方案,而不选用其他方案的理由是什么呢?

侧链和Plasma的区分是简单的。Plasma链是具有非监护性质的侧链: 如果Plasma链中存在任何错误,则错误是可检测到的,用户可安全地退出Plasma链,并防止攻击者造成任何持久的伤害。用户所承受的唯一成本,是他们必须等待一个challenge周期,并在(不可扩展的)基础链上支付一些更高的交易费用。而常规的侧链则没有这种安全属性,因此它们的安全性较低。然而,设计Plasma链在很多情况下要困难得多,有人可能会说,对于很多低价值应用而言,增加复杂性而带来更好的安全性,其实是不值得的。

(图:Vitalik Buterin,来自Duncan Rawlinson)

那么,Plasma和分片之间,又是什么关系,两者孰优孰劣呢?关键的技术差异在于紧密耦合(tight coupling)的概念。紧密耦合是分片的一种属性,但不是侧链或Plasma的属性,这意味着主链(例如以太坊2.0中的信标链)的有效性与子链的有效性密不可分。也就是说,根据定义,将无效主链区块指定为附属项的子链区块是无效的,更重要的是,根据定义,包含无效子链区块的主链区块是无效的。

在非分片区块链中,规范链(即所有人都接受的代表“真实”历史的链)的定义,是完全可用和有效的;例如,在比特币和以太坊的情况下,人们通常说规范链是“最长有效链”(或者,换个更卖弄学问说法是,规范链是“最重的有效和可用链”)。在分片区块链中,最重有效和可用的规范链概念同样适用,其有效性和可用性要求同时适用于主链和分片链。然而,分片系统面临的新挑战是,由于数据太多,用户无法直接完全验证任何给定链的有效性和可用性。工程学分片链的挑战在于,通过给用户一个最大程度的不信任和实际的间接手段来验证哪些链是完全可用和有效的,从而使他们仍然能够确定哪条链是规范的。在实践中,这包括委员会、SNARKs/STARKs、fisherman方案、欺诈及数据可用性证明等技术。

如果一个链结构没有这种紧密耦合特性,那么可以说它不是layer-1分片方案,而是一个位于不可扩展的layer-1链之上的layer-2系统。Plasma不是一个紧密耦合的系统:一个无效的Plasma块绝对可以将其块头提交到主以太坊链中,因为以太坊基础层不知道它代表一个无效的Plasma块,甚至根本不知道它代表一个Plasma块;它看到的只是一个包含一小部分数据的事务。然而,单个Plasma链失效的后果,便局限于该Plasma链内。

但是,如果你试图分析用户如何执行“间接验证”程序的过程,以确定他们所查看的链是否完全有效且可用,且在不下载和执行整个过程的情况下,则我们可发现分片与Plasma工作方式更为相似的地方。例如,用来防止可用性问题的一种常见技术是fishermen:如果一个节点将一个区块的给定部分视为不可用,它可以发布一个声明此问题的challenge,从而创建一个时间段,任何人都可以在该时间段内发布该数据。如果一个区块在足够的时间内没有被质疑,则可还原将其作为依赖项进行引用的区块。这看起来与Plasma基本上类似,在Plasma中,如果区块不可用,用户可以将消息发布到主链以响应退出状态。这两种技术最终都会在压力下以同样的方式屈服:如果一个分片系统中有太多的错误challenge,那么用户就无法跟踪是否所有的可用性challenge都得到了解决;如果一个Plasma系统中有太多的可用性challenge,那么当出口填满该链的块大小限制时,主链可能会不堪重负。在这两种情况下,似乎系统具有O(C^2)的 可伸缩性(其中C是一个节点的计算能力),但在发生攻击时,可伸缩性降至O(C)。然而,分片对此具有更多的防御性。

首先,当前的分片设计使用了随机抽样的委员会机制,所以即使是一个委员会也不能轻易地做恶(足以产生一个虚假区块的程度),除非一个委员会拥有链整个验证器集的很大一部分(可能大于1/3)。

第二,有比fishermen更好的数据可用性处理策略:数据可用性证明。在使用数据可用性证明的方案中,如果区块不可用,则客户端的数据可用性检查将失败,客户端会认为该区块不可用。如果该区块是无效的,那么即使是一个欺诈证明也会使得他们相信整个区块的这一事实。一个O(1)大小的欺诈证明,可以使客户端相信O(C)大小的区块是无效的,因此O(C) 数据足以使客户端相信O(C^2)数据是无效的(在最坏的情况下,客户端与N哥姊妹区块交互,所有姊妹区块的母块只有一个是有效的;在更可能的情况下,一个单一的欺诈证明就足以证明整个无效链的无效性。)因此,理论上说,分片系统比Plasma链更不容易被DoS(拒绝服务)攻击所击倒。

第二,分片链在面对大型攻击者及多数攻击时提供了更强的保障(超过1/3甚至1/2的验证者集)。 Plasma链总是可被审查退出的主链成功地实施51%攻击,而分片链则不能。这是因为数据可用性证明和欺诈证明发生在客户端内部,而不是链内部,因此分片链不能被51%攻击审查。第三,分片链提供的防御更易于概括。Plasma的exit模型要求状态被分离成独立的部分,每个部分都符合任何单个参与者的利益,而依赖数据可用性证明、欺诈证明、fishermen以及随机抽样的分片链,在理论上是广泛适用的。

然而,Plasma链也有很大的优势。首先,它们是可以进行迭代的,并且可以更快地实现新的设计,因为每个 Plasma链可以单独地进行部署,而不需要协调生态系统的其余部分。第二,分片本身就更脆弱,因为它试图保证某些数量数据的全部可用性和有效性,而这个数量必须在协议中设置。如果这个数量太少,则不利于系统的可扩展性,太多,则整个系统都有崩溃的风险。可扩展性的最大级别安全还取决于系统的用户数,这是一个不可预测的变量。另一方面,Plasma链允许不同的用户在这方面进行不同的权衡,并允许用户更灵活地适应环境变化。

单运营商Plasma链,也可提供比所有数据公开的分片系统更多的隐私性。即使在不需要隐私的地方,它们也可能更有效,因为分片系统的总数据可用性要求需要大量额外的冗余作为安全边际。另一方面,在Plasma系统中,对每一数据块的数据要求可以最小化,从长远来看,每一数据块可能只需要复制几次,而不是像在分片系统中那样复制一千次。

因此,从长远来看,分片链+Plasma链的混合系统,以提供进一步的可扩展性,似乎是最可行的方法,这种混合模型更能够服务于不同群体的用户需求,而不仅仅依赖于一种或另一种策略。不幸的是,Plasma和分片无法折叠成相同的设计,这两者在某些关键方面有着不可弥补的不同。但这两种可扩展性解决方案(以及状态通道!)都拥有一个光明的未来。

在以太坊中,什么是Plasma(等离子体)?

侧链的进阶版,与侧链不同,它基于Fraud Proof(欺诈性证明)的退出机制,它缺败州将链下的交易伏蔽结果证明返回到主链,利用主链的安全性保护了用户资产和权益。Plasma(等离子体枯燃)是最初由Joseph Poon(约瑟夫·潘)和Vitalik Buterin(V神)提出的一个layer2扩展解决方案。它是一个在以太坊上构建可扩展应用的框架。优点:l相对安全:即使链下环境崩塌,也能从主链上提取交易结果l操作快、交易费用低:因为与主链的交互较少缺点:l不具备主链的数据可用性:给Layer 1返回的仅有交易结果的证明、没有详细的交易信息,主链无法还原交易l退出期长:用户需要从主链上提取资金,需要等待挑战期过去。l拓展困难:技术框架限定了子链的数据结构代表项目:lLoom Network:第一个Plasma产品级实现lOMG:金融支付企业 SYNQA 旗下子公司lMatic:获得Coinbase Ventures投资链乔教育在线旗下学硕创新区块链技术工作站是中国教育部学校规划建设发展中心开展的“智慧学习工场2020-学硕创新工作站 ”唯一获准的“区块链技术专业”试点工作站。专业站立足为学生提供多样化成长路径,推进专业学位研究生产学研结合培养模式改革,构建应用型、复合型人才培养体系。

墨客moac公链允许异步调用智能合约,这是否可以看作因为可以随意开发子链,就可以无视前一区块的共识

区块链网络由主链和分片(shards)链组成,分片链上交易处于自己独立的空间中,可以独立处理交易。其核心思路是并非每个节点都需要处理所有的交易。分片之前整个网络的处理取决于单个节点的处理。分片后,只有同一片内的处理是同步的、一致的,不同分片之间则可以是异步的。这种属于底层解决方案,因为它是在区块链本身的基本协议中实施的。分片链的共识依赖于主链;已存在的主链,实现时会修改其底层协议,需要硬分叉。侧链,State Channels(状态通道)状态通道是一种技术,其核心思想是,允许执行off chain (“脱链”)交易,只需要将其通道开启和关闭时状态的记录在区块链上。同时,在一个状态通道内发生的事情仍然保持着非常高的安全性和最终性;如果出现任何问题,仍然可以选择回溯到主链上。比如:A要给B转1000笔小额的BTC,其工作方式大概是:首先在A和B之间打开一个付款通道, 并把通道的开放记录在区块链上。通过这个支付通道, 可以在任何时间、数天、数周或十年内保持开放状态,然后进行1000次的交易。只需在A和B想要关闭通键让道的时候,把这个通道上产生的交易的最终状态写在区块链上。这种技术已经存在好几年了,去年侧链技术通过闪电网络在比特币上实施。子链说到子链,首先绕不开的一个话题就是墨客MOAC链,MOAC——即Mother Of All Chain的缩写,中文翻译成“众链之母”,或是“改卜女娲链”。这是一个主网已经上线了的第三代公链,它率先突破异步合约调用、合约分片处理和全领域跨链等当前业界难题,对合约的处理速度远远优于当前譬如以太坊等智能合约平台。子链的出现,是一个革命性的变革,如果你考虑墨客MOAC的生态,它就好像一个开发用的GitHub,那么子链,可以变成一个个功能库,让子链之间可以互相分享。而各种提供服务的子链,因为服务的不同,必须有角色细分。比如提供ipfs的子链,重点在存储;提供zksnarks的子链,重点在运算速度。那么怎么可能用同样配置的scs来做不同的子链支持基础呢?怎么可以用同样的共识算法,同样的区块速度等等,来做不同的事情呢?所以你需要专业人士做专业的事情,核亮穗那么子链,就是可以根据你不同的需求来定义与创建。当然,子链和侧链的区别也很大,一方面侧链是为小微转账设计的,不可能提供墨客链这种功能库,互相调用的功能,另一方面,侧链可以直接打垮,子链你无法直接攻击,必须攻击母链。双花肯定不会出现,因为母链这里解决全局一致性,主要就是底层vnode的规模受到币价的挖矿利润限制,但是scs的规模,可以在应用推动下,无限扩展。墨客MOAC就是解决了V神和BM的争论中,维持了去中心化的安全性,又提升了可扩展性能力。实事上,墨客是以太坊的补充(complement),是兼容以太坊的。在V神和BM的争论中,V神批评EOS过于中心化是正确的,而BM批评以太坊缺乏扩展能力也是正确的。V神寻求用分片来解决问题,也是正确选择。墨客,其实就是落实了V神几年想做而没有做到的事情(当然还有更多的创新),并且证明了可以不需要牺牲去中心化而解决扩展性问题。希望以太坊的各派力量,尤其是ConsenSys,来和墨客合作。

发表评论

  • 人参与,条评论

热门阅读

最新文章

取消
扫码支持 支付码