Rollup 的出现是为了解决 Layer 1 的扩展问题。事实证明,rollup 在扩展方面也需要一些帮助。特别是,rollup 可以通过访问更多的数据可用性来获得更高的吞吐能力。
当然,现在有广泛的解决方案,旨在为卷积提供可扩展的数据可用性,如 Ethereum、Celestia、EigenLayer 和 Avail. 下面是对它们在一些指标上的比较的简要和不完整的看法。
DA 层纵览
区块时间
区块时间衡量的是每个区块之间的时间长度。
Celestia、Ethereum 和 Avail
在这三个项目中,两个项目的区块时间都在 8 秒之内: 以太坊的区块时间为 12 秒,Celestia 为 15 秒,Avail 为 20 秒。它们之间的差异真的不大,也没有明显的影响。如果看一下它们需要多长时间才能达到最终结果,它们之间的真正区别就变得更加明显了。
EigenLayer
EigenLayer 是唯一一个不是区块链的项目——它是一组生活在 Ethereum 上的智能合约。任何需要转发到 rollup 合约的数据,如证明数据可用性的法定人数的签名,都依赖于以太坊的区块时间和最终性。如果 rollup 的一切都依赖于 EigenLayer,那么它就不会受到 Ethereum 区块时间的约束。
终结性和共识算法
终结时间是指一个区块产生并被视为终结的时间。所谓终结性,我们的意思是,如果被认为是终结性的交易被逆转,大量的质押将被烧毁。正如它所说,共识协议以不同的方式处理最终性。
以太坊
以太坊使用一个协议组合来实现共识,[GHOST 和 Casper](https://ethereum.org/en/developers/docs/consensus-mechanis/pos/gasper/#:~:text=Together these components form the,are syncing the canonical chain.). GHOST 是以太坊的区块生产引擎,依赖于概率终结性。为了提供更快的终结性,以太坊利用了一个终结性小工具:Casper.
Casper 提供了经济终结性的保证,因此交易可以更快地完成。但是,Ethereum 使用 Casper 每 64 – 95 个槽才最终确定区块,这意味着 Ethereum 区块的终结性大约是 12 – 15 分钟。反过来,这导致 rollup 在收到他们发布到以太坊的数据和承诺的最终结果之前要等待 12-15 分钟。
EigenLayer
由于 EigenLayer 是以太坊上的一组智能合约,它也继承了与以太坊相同的最终确定时间(12 – 15 分钟),用于任何需要被转发给 rollup 合约以证明数据可用性的数据。同样,如果 rollup 完全使用 EigenLayer,它可以更快终结完成,这取决于任何共识机制的使用,等等。
Celestia
Celestia 使用 Tendermint作为其共识协议,该协议具有单槽终结性。也就是说,一旦一个区块通过了 Celestia 的共识,它就被最终确定。这意味着最终结果基本上和区块时间一样快(15 秒)。
Avail
Avail 和 Ethereum 一样,使用组合协议来实现终结性,BABE 和 GRANDPA 1. BABE 是具有概率终结的区块生产机制,GRANDPA 是终结性小工具。虽然 GRANDPA 可以在一个槽中完成区块的生产,但它也可能在某一轮中完成多个区块的生产。在**的情况下,Avail 的终结时间是 20 秒,在最坏的情况下是多个区块。
数据可用性采样
在大多数区块链中,节点需要下载所有交易数据来验证数据的可用性。这造成的问题是,当区块大小得到增加时,节点需要验证的数据量同样增加。
数据可用性采样是一种技术,允许轻量级节点只下载区块数据的一小部分来验证数据可用性。这为轻量级节点提供了安全保障,以便它们可以验证无效的区块(仅 DA 和共识),并允许区块链在不同样增加节点要求的情况下扩展数据可用性。
Celestia 与 Avail
Celestia 和 Avail 在推出时都将支持数据可用性采样轻节点。这意味着它们将能够通过更多的轻节点安全地增加区块大小,同时保持对用户验证链的低要求。
以太坊
带有 EIP 4844的以太坊将不包括数据可用性采样。EIP 4844 引入了区块大小的增加,并设置了一些技术基础来实现 danksharding,如 blob 交易和 kate 承诺。为了验证实施 EIP 4844 的以太坊的数据可用性,用户仍然必须运行完整的节点并下载所有的数据。
EigenLayer
虽然目前 EigenLayer 没有围绕 DAS 的官方计划,但已经有暗示说 DAS 可能在未来成为 EigenLayer 轻型客户端的一个选项。有两种选择:
·来自定序器的 DAS: 来自定序器的 DAS 将增加定序器的开销,因为只有***能够为当前区块的所有轻客户提供样本请求——除非实施某种共识机制,使非***能够提供样本请求。
·来自 EigenLayer 的 DAS: EigenLayer 的 DAS 需要一个强大的 p2p 网络和额外的机制,如区块重建,才能有充分的安全性。
虽然 DAS 可能不会在启动时实施,但它看起来可能会在以后进入 EigenLayer. 在那之前,验证 EigenLayer 链的 DA 需要一个完整的节点。
轻型节点安全性
区块链依靠用户运行节点来抵御恶意攻击。
传统的轻客户端与全节点相比,安全假设较弱,因为它们只验证区块头。轻客户端无法检测到无效区块是否是由不诚实的大多数区块生产者生产的。具有数据可用性采样的轻节点在安全性方面得到了升级,因为它们可以验证是否产生了无效的区块——如果 DA 层只做共识和数据可用性。
Celestia 与 Avail
由于 Celestia 和 Avail 都将有数据可用性采样,它们的轻量级节点将有信任最小化的安全性。
以太坊 与 EigenLayer
拥有 EIP 4844 的以太坊不会有数据可用性采样,所以它的轻客户不会有信任最小化的安全。由于以太坊也有其智能合约环境,轻客户也需要验证执行(通过欺诈或有效性证明),以不依赖诚实的大多数假设。
对于 EigenLayer 来说,除非有 DAS,否则轻型客户,如果被支持的话,将依赖于诚实的大多数被恢复的节点。
编码证明方案
擦除编码是一个重要的机制,它使数据可用性采样成为可能。擦除编码通过产生额外的数据副本来扩展一个块。额外的数据创造了冗余,为采样过程提供了更强的安全保证。然而,节点可能试图不正确地对数据进行编码以破坏网络。为了抵御这种攻击,节点需要一种方法来验证编码的正确性——这就是证明的作用。
以太坊、EigenLayer 和 Avail
这三个项目都使用一种有效性证明方案来确保区块被正确编码。这个想法的工作原理类似于 zk rollup 使用的有效性证明。每次产生一个区块,验证者必须产生对数据的承诺,节点使用 kzg 证明来验证——明该区块被正确编码。
虽然,为 kzg 证明产生承诺需要区块生产者的更多计算开销。当区块很小的时候,生成承诺并没有多少开销。当区块变大时,为 kzg 证明产生的承诺会带来更多的负担。负责生成 kate 承诺的节点类型将可能需要更高的硬件要求。
Celestia
Celestia 是****的,因为它使用欺诈证明方案来检测错误的编码块。这个想法的工作原理类似于 optimistic rollup 使用的欺诈证明。Celestia 节点不需要检查一个区块是否被正确编码。他们默认认为它是正确的。这样做的好处是,区块生产者不需要做昂贵的工作来产生对擦除编码的承诺。
但是,轻量级节点确实需要等待一小段时间,然后才能假定一个区块是正确编码的,在他们看来是最终确定的。这个等待期是为了让光节点在一个区块被错误编码的情况下从全节点收到欺诈证明。如果一个节点被黯然失色,使其无法收到欺诈证明,它将认为无效的区块是有效的。然而,不被黯然失色是节点实际验证区块链的一个假设,不管欺诈证明如何。
欺诈证明和有效性证明编码方案的主要区别在于生成承诺的节点开销和光节点的延迟之间的权衡。在未来,如果有效性证明的权衡变得比欺诈证明更有吸引力,Celestia 可以转换他们的编码证明方案。
本站声明:网站内容来源于网络,如有侵权,请联系我们,我们将及时处理。
文章标题:多维度权衡四大数据可用性层:以太坊、Celestia、EigenLayer 和 Avail
文章链接:https://www.btchangqing.cn/499161.html
更新时间:2023年03月24日
本站大部分内容均收集于网络,若内容若侵犯到您的权益,请联系我们,我们将第一时间处理。