撰文:Avail Team
编译:Modular 101
不同的数据可用性层之间有什么区别?在这篇文章中,我们将探讨各种方式的优势和劣势。
在最近几年中,由于对执行扩展(scaling execution)的关注增长,Layer2 开始得到关注到采用。与此同时,越来越多的参与者面临着由于有限的区块空间和高昂的成本带来的增长挑战。他们开始意识到,为了有效地扩大区块链的规模,一个可以扩展的数据可用性层是非常关键的。这也意味着他们需要一个既能节省成本又有更大区块空间的基础技术层,以支持各种不同类型的 rollups。
Avail 和其他几个团队正在从零开始构建可扩展的数据可用性解决方案,而其他团队,如 Ethereum,正试图增加现有区块链的数据可用性容量。不管采取什么方法,都存在一个事实 —— 开发人员今天选择的基础层将决定他们在未来几年的竞争优势。
Avail 是正在迅速发展的模块化生态的一个组成部分,它的目标是提高区块链的数据可用性。除了 Avail 外,还有其他的数据可用性(DA)解决方案,如 Celestia 和 EigenDA,它们也在为相同的目标努力。各种解决方案都在采用不同的策略和技术路径来实现区块链的可扩展性。作为其中的一个例子,Ethereum 目前正在采用一种名为 Proto-Danksharding 的技术,这也被称为 EIP-4844。这项技术是 Ethereum 向实现其长期目标 —— 完全的 Danksharding 技术 —— 迈出的一步。
这篇文章将评估每种方法的优势和劣势。我们将突出不同的设计选择,以方便大家全面了解。并帮助开发者找到最适合他们的 DA 层。
让我们先从概述开始,然后深入到每一个类别:
网络安全
当考虑基础层时,网络的安全性和韧性是首先引起关注的事项。以下是检查网络强度时的关键因素。
共识机制
在共识机制中,活跃性和安全性之间存在一个基本的困境。活跃性确保交易迅速处理并且网络保持运行,而安全性保证交易准确且安全。不同的区块链系统为其独特的用例作出不同的选择,以达到适当的平衡。
Avail 使用了 Polkadot SDK 的 BABE 和 GRANDPA 两种共识机制。BABE 主要用于生成区块。为了确保网络的活跃性,它与验证节点协调,确定哪个节点将成为新的区块生产者。GRANDPA 则主要负责区块的最终确认。当超过三分之二的验证者确认一个链包含特定的区块时,GRANDPA 允许确认前面所有的区块到这个特定区块的区块。通过结合这两种机制,Avail 形成了一种混合型的账本,这增强了其网络的弹性,使其能够在网络临时分区(temporary network partitions)或有大量节点故障的情况下仍然正常运行。
Avail 的设计选择与 Ethereum 中使用的 Casper 和 LMD GHOST 相似。LMD GHOST 是 Ethereum 的区块生产引擎,它依赖于 BABE 那样的概率性的终结性,而像 GRANDPA 那样的 Casper FFG 是一个提供终结性保证的终结机制。
Celestia 使用 Tendermint 的设计选择使他们能够在生成时确定区块。然而,这样的选择的权衡是当超过三分之一的运营商或验证者停机时,链存在可能会被停止的风险。同样重要的是需要注意到区块的终结性并不保证数据的可用性。Celestia 采用了一种基于欺诈证明(fraud-proof)的设计。在这种设计中,即使一个区块已经迅速地获得了终结性(也就是已被确认并且不会被更改),用户仍然需要等待直到他们确信相关的数据是可用的。
数据可用性委员会(Data Availability Committees,简称 DAC)是一组负责确保数据可访问或验证数据可用性的组织或实体。当他们确认数据是可用的时,会使用特定的加密签名来表示这一确认。这意味着,当超过大多数的委员会成员同意某数据是可用的时候,他们会采用一个特殊的数字签名来证明这一事实。
EigenDA 是这样一个 DAC,它不直接存储在 Ethereum 的主链上,因此被称为「链下」(off-chain)DAC。Ethereum 网络中的验证者有选择加入 EigenDA 的权利。当 DAC 成员确认某些数据的可用性时,他们会提供一种基于智能合约的证明或声明。这种证明表明他们已经验证了数据的真实性或完整性。除此之外,为了确保数据的顺序或结构性,DAC 成员还依赖于一个外部的、独立的服务来对数据进行排序或组织。
去中心化
当考虑到网络的安全性时,有两个关键因素需要考虑:总的质押金额和这些质押的分布。去中心化的程度,也就是质押金额如何均匀分布,直接影响了一个网络的安全性。潜在攻击的成本被用来评估网络的安全性。这是因为,如果质押数额在更大的验证者集合中均匀分布,那么试图攻击网络的破坏者就需要说服更多的节点来获得同样的质押数额。
Avail 从 Polkadot 继承了提名权益证明(NPoS),这使得它能够支持多达 1,000 个验证者。由于其采用顺序的 Phragmén 方法,一个多赢者的选举方法,NPoS 具有有效的奖励分配,可以减少质押中心化的风险。
Avail 在所有数据可用性的解决方案中是独特的,因为它有能力从其轻客户端的 P2P 网络中进行数据抽样,而不是像其他系统那样在网络出现问题或瓶颈时完全依赖于全节点来获取数据。这一特点让 Avail 与其他现有和即将推出的数据可用性解决方案产生区别。因为拥有这一特性,Avail 提供了一个高效且可靠的备份机制,即使在出现故障的情况下也能确保数据的可用性。这进一步增强了 Avail 数据可用性网络的稳定性和抗干扰能力。
Celestia 采用 Tendermint 作为其共识协议,验证者集合最多可达数百。
而 Ethereum 作为一个单一的区块链,以其超过 900,000 的验证者节点作为安全性的黄金标准,但网络的分布程度在这个数字中并没有得到充分体现。
相比之下,DAC 会通常只包括少数几个负责确认区块链数据可用性的节点。
重要的是要注意,重新质押的过程并不是依赖于从 Ethereum 获得的安全性,它的安全性主要取决于在该平台上重新进行的 Ether 质押的总量。这也就是说,重新质押本身对于提高该平台的安全性并没有直接的帮助,只是利用了锁定在 Ethereum 上的一部分已有的质押。
EigenDA 从其全节点聚合签名。然而,它通过智能合约进行验证的声明,在与数据可用性抽样相比,不能提供同等级别的数据可用性(DA)保证。EigenLayer 采用了重新质押的策略,它使用了那些已经在 Ethereum 上被锁定的资金或资产来进行质押,以支持其自身的网络。但这种做法受到了一些批评,因为它可能会重复使用某些验证者并导致共识机制的过载。
执行环境的额外消耗
过去十年,带有智能合约功能的单一区块链引入了突破性的创新。然而,即使是这个时代的尖端技术,如 Ethereum,其中数据可用性、执行和结算被合并为一体,也带来了显著的可扩展性限制。这些限制促使了 Layer2 技术的崛起,将执行转移到链下,并促进了如 EIP-4844(也被称为 Proto-danksharding 和 Danksharding)这样的改进提议的发展。
神圣的智能合约定义了状态,并充当着到 rollups 的桥梁。在这种方法中,Ethereum 作为验证 rollups 准确性的权威和标准。
Avail 将执行和结算从基础层分离,并允许 rollups 直接向 Avail 发布数据。该模块化方法的优势在于,那些基于 Avail 的 rollups 可以利用 Avail 的 P2P 轻客户端网络来轻松地验证其状态。此外,如果这个网络被用于传递执行证明,那么 rollups 就有能力自行进行升级,而不必依赖于智能合约或基础层来定义其状态。这为 rollups 提供了更大的灵活性和自主性。这种新方法为开发者提供了一个可以根据需求进行扩展的基础层,给予他们选择任何执行支持层(supported layer)进行结算的桥接选项。
Celestia 采用了与 Avail 类似的方法。唯一的区别是其轻客户端尚不能在全节点宕机时支持网络。
EigenDA 也没有一个固定的结算层。