探讨一个常见的疑问:分片技术与侧链或等离子体技术之间究竟有何本质区别?尽管这三种架构都展现出一种辐射状的布局,其中包含一个作为共识核心的“主链”以及一系列承载实际用户交易的“子链”,子链上的哈希值会定期同步到主链上。理论上,无需中心节点的分片链是可行的,尽管目前尚未实现;本文将不深入探讨这一点,但基本原理是相似的。鉴于这种基本的相似性,为何会选择一种而非另一种技术呢?
区分等离子体与侧链相对简单。等离子体链是一种带有非拘束属性的侧链:一旦等离子体链出现错误,用户便可以检测并安全退出,防止攻击者造成持久损害。用户唯一的损失可能是在挑战期间等待,以及在(扩展性有限的)基础链上支付更高的交易费用。常规侧链则不具备这种安全性,因此其安全性较低。然而,设计等离子体链通常更为复杂,有人可能会辩称,对于许多低价值应用来说,增加的安全复杂性不值得。
至于等离子体与分片之间的差异,关键在于紧密耦合的概念。紧密耦合是分片技术的特点,但并非侧链或等离子体的特点。也就是说,主链(如以太坊2.0中的“信标链”)的有效性与子链的有效性紧密相连。这意味着将无效的主链块指定为依赖的子链块在定义上是不合理的,更重要的是,包括无效的子链块的主链块在定义上也是无效的。
在非分片区块链中,规范链(即所有人认可的“真实”历史链)根据定义是完全可用且有效的;例如,在比特币和以太坊的情况下,通常会说规范链是“最长有效链”(或更有趣的是,“最大有效和可用链”)。在分片式区块链中,按照定义,规范链是最重的有效和可用链,其有效性和可用性要求适用于主链和分片链。然而,分片系统面临的新挑战是,用户无法直接完全验证任何给定链的有效性和可用性,因为数据量太大。构建分片链的挑战在于,通过为用户提供一种最小化不信任和实用的间接验证手段,来确保链的完全可用性和有效性,从而仍能确定哪条链是规范的,从而克服这种限制。实际上,这包括委员会、SNARK/STARK、渔民计划以及欺诈和数据可用性证明等技术。
如果链结构不具有这种紧密耦合特性,则可以说它不是第一层分片方案,而是位于不可扩展的第一层链顶部的第二层系统。Plasma不是紧密耦合的系统:无效的Plasma块绝对可以将其头信息提交到以太坊主链中,因为以太坊基础层并不知道它代表无效的Plasma块,甚至不知道它是一个等离子体块,它所看到只是一个包含少量数据的事务。但单个等离子体链故障的后果仅限于该链本身。
分片技术努力确保系统每个部分的整体有效性和可用性,而等离子体则接受局部故障,尽量减少其后果。
然而,在分析用户如何执行“间接验证”过程以确定他们正在查看的链是否完全有效且可用时,无需下载并执行整个操作,这表明人们可以发现与Plasma的工作方式更多相似之处。例如,用于防止可用性问题的一种常用技术是渔民:如果节点认为给定的块不可用,它可以发布声明这一点的挑战,从而创建一个时间段,任何人都可以在该时间段内发布该数据。如果一个块在足够长的时间内没有受到挑战,则可以还原这些块以及将其引用为依赖项的所有块。这似乎从根本上类似于Plasma,在Plasma上,如果块不可用,用户可以向主链发布消息以退出其状态作为响应。两种技术最终都以相同的方式在压力下弯曲:如果分片系统中存在太多错误挑战,那么用户将无法跟踪是否已解决所有可用性挑战;如果等离子体系统中存在太多可用性挑战,则主链可能会因为链条的区块大小限制而饱和。在这两种情况下,似乎都有一个名义上具有O(C2)可扩展性(其中C是一个节点的计算能力),但可扩展性下降到O(C)如果发生袭击。然而,分片对此有更多的防御措施。
首先,现代分片设计使用随机抽样的委员会,因此,除非一个委员会占有整个验证者集很大比例(也许>1/3),否则无法对链进行控制。其次,有比渔民更好的处理数据可用性的策略:数据可用性证明。在使用数据可用性证明的方案中,如果某个块不可用,则客户端的数据可用性检查将失败,并且客户端将将该块视为不可用。如果该区块无效,那么即使是单个欺诈证明也会使他们相信整个区块的这一事实。一个O(1)大小的欺诈证明可以说服客户O(C)块,等等O(C)数据足以说服客户O(C2)数据(在最坏的情况下,客户端正在处理~N个姐妹将所有与同一个父母一起阻止,其中只有一个有效;在更可能的情况下,一个欺诈证明就足以证明整个无效链都无效。因此,与等离子链相比,分片系统在理论上更不容易受到拒绝服务攻击的淹没。
其次,分片链在面对大型和多数攻击者(包括1/3甚至1/2验证者集的名称)。审查员退出的主链上有51%的攻击总是可以成功攻击等离子链;分片链不能。这是因为数据可用性证明和欺诈证明发生在客户端内部,而不是在链内部,因此不能受到51%攻击的审查。第三,分片链提供的防御更容易推广。等离子体出口模型要求将状态分为多个独立的部分,每个部分都符合单个参与者的利益,而依赖数据可用性证明、欺诈证明、渔民和随机抽样的分片链在理论上是普遍的。
因此,在第二层提供的有效性和可用性保证之间确实存在很大差异,这是有限且更为复杂的,因为它们需要对激励进行明确的推理,并确定哪一方对哪个状态感兴趣,以及由哪一方提供的保证能够完全满足他们的第一层系统。
然而,等离子链也有其显著优势。首先,它们可以迭代,并且可以更快地实施新设计,因为每个等离子链可以独立部署,无需协调整个生态系统。其次,分片技术本质上比较脆弱,因为它试图保证一定数量的数据的绝对和总可用性以及有效性,并且必须在协议中设置这一数量。太少的数据会导致系统的可伸缩性比预期的更少,并且整个系统有崩溃的风险。可伸缩性的最大安全级别还取决于系统的用户数量,这是一个不可预测的变量。另一方面,等离子链允许不同的用户在这方面进行不同的权衡,并允许用户根据情况的变化灵活调整。
与所有数据都是公共的分片系统相比,单操作员等离子链还可以提供更多的隐私。即使在不需要隐私的情况下,它们也可能更有效,因为分片系统的总数据可用性要求需要大量额外的冗余级别,以确保安全。另一方面,在等离子体系统中,可以将每条数据的数据需求减至最少,以至于长远来看,每条单独的数据仅需复制几次,而不是原先的一千次,如分片系统中的情况。
因此,从长远来看,一个结合了分片基础层和位于其上的等离子体链的混合系统,似乎是最有可能满足不同用户群体需求的方法。遗憾的是,目前这两种可扩展性解决方案(以及状态通道!)尚未达到足够高的设计水平,它们在某些关键方面存在不可回避的差异(例如,分片系统中的客户端进行的数据可用性检查无法移至Plasma中的主链,因为这些检查仅在主观且根据私人信息完成的情况下才有效)。然而,这两种可扩展性解决方案都拥有光明的未来。
标签: 区块链