BUPT3分享04——拆解数据可用性(Data Availability)

Hacker Dōjo Workshop:

资助金额:120 USDT

Bounty链接:拆解数据可用性 | Bounties | DoraHacks

创作者:北邮在读硕士 Syshems

本项目由Hacker Dōjo资助,文章转载请联系

Telegram: @DoraDojo0

WeChat: @HackerDojo0

E-mail: hackerdojo0@gmail.com

一、什么是数据可用性

数据可用性(Data Availability)是指要保证区块提议者发布的区块,区块中所包含的所有交易数据,对于其它网络参与者来说是可用的。它涵盖了数据的存储、传输、保护和访问等方面,使网络参与者能够准确地重建任何交易的历史记录,主要存在于「节点」和「Rollup」的两个不同语境来解释数据可用性。

以下是数据可用性的一些关键方面:

  1. 存储:数据应该以可靠且可持久的方式存储,以防止数据丢失或损坏。常见的存储方法包括数据库、云存储和备份系统。
  2. 传输:数据应该能够在不同系统和网络之间进行传输。这需要确保数据传输的稳定性和安全性,以避免数据丢失或被篡改。
  3. 保护:数据应该受到适当的保护,以防止未经授权的访问、数据泄露或数据损坏。这包括使用身份验证和访问控制机制来限制对数据的访问,并采用加密和备份策略来保护数据的完整性和可用性。
  4. 可恢复性:当数据发生故障或灾难时,应该有恢复机制来迅速恢复数据的可用性。这可能涉及定期备份数据,以及实施灾难恢复计划和业务连续性策略。

1、「节点」视角

  • 全节点:亲自下载和验证每个区块中的每笔交易,因此不需要诚实假设来确保状态被正确执行,有着很好的安全性保证。但运行全节点需要存储、计算能力和带宽的资源要求,除了矿工以外,普通用户或者应用没有动力去运行全节点。况且,如果某个节点仅仅需要在链上验证某些信息,运行全节点显然也是非必要的。
  • 轻节点:轻客户端是区别于全节点的一种说法,它们往往不与链进行直接交互,而依赖邻近的全节点作为中介,从全节点请求所需要的信息,例如下载区块头、或是验证账户余额。

既然轻客户端只从全节点那里下载区块头,而不是自己下载和验证每笔交易,那么恶意的全节点(区块生产者)可以构造一个包含无效交易的区块,并把它发送给轻客户端来欺骗它们。

上图中给出了两种情况:其一,恶意的区块生产者发布了数据缺失的区块,这时诚实的全节点发出警告,但随后该生产者又补充发布了剩余的数据;其二,诚实的区块生产者发布了完整的区块,但这时恶意的全节点发出了假警告。在这两种情况下,网络中的其他人在T3之后看到的区块数据都是完整的,但都有人在其中作恶。采用「欺诈证明」来确保轻客户端的数据可用性是存在漏洞的。

对于轻客户端节点的数据可用性问题,行业内已经达成共识——采用纠删码(erasure codes)来检查数据可用性,即轻客户端只需要随机下载一部分数据并验证,就能确保所有数据块是可用的,并在必要时重建所有数据。

2、「Rollup」视角

在 Vitalik 提出「以Rollup为中心的以太坊路线图」和以太坊的「Endgame」之后,以太坊的大方向发生了事实上的转变——「退居幕后」,作为 Rollup 的安全性保证和数据可用性层。

Layer2 的费用结构,除了固定花费外,与每批次交易笔数相关的变量主要在于 Layer2 的 Gas 花费以及链上数据可用性的支出。前者的影响微乎其微;而后者需要为每个字节恒定支付16 gas,整体占到 Rollup 成本的 80%-95% 之多。

(链上)数据可用性很贵,怎么办?

  • 协议角度——降低在链上存放数据的成本:以太坊正在考虑引入Proto-Danksharding和Danksharding来为Rollup提供「大区块」,即更大的数据可用性空间,并采用纠删码和KZG承诺解决随之而来的节点负担问题。
  • Rollup角度——数据放到链下:当前的链下数据可用性方案包括 Celestia 和 Polygon Avail、在Rollup 中作为用户可选的方案包括 StarkEx 、zkPorter 和 Arbitrum Nova 。

3、现阶段的 DA 方案

我们把当前的 DA 方案划分为链上和链下两部分。

  • 链上 DA :
    Pure Rollup 是指单纯把 DA 放到链上的方案,即需要为每个字节恒定支付 16 gas,这将占到 Rollup 成本的 80%-95% 之多。在引入Danksharding之后,链上DA的成本将得到大幅降低。
  • 链下 DA :
    每种方案在安全性和开销上有一定的递进关系。
    • Pure Validium是 指仅把 DA 放在链下,而不做任何保证,链下数据托管服务商随时有关机下线的风险。
    • EigenDA 属于通用化的 DA 解决方案,与 Celestia 和 Polygon Avail 同属一类。但 EigenDA 和其余两者的解决思路又有一些差异。
    • 特定于 Rollup 中的方案包括 StarkEx、zkPorter 和Arbitrum Nova,即由一小部分知名第三方组成 DAC 来保证 DA。

二、链下定制化解决方案 DAC

在最简单的 Validium 方案中,由中心化的数据运营商来负责确保数据可用性,用户需要信任运营商不会作恶。这样的好处是成本低,但实际上几乎没有安全保证。

StarkEx 在 2020 年进一步提出了由数据可用性委员会(DAC:Data availability committee)维护的 Validium 方案。DAC 的成员是知名且在法律管辖区内的个人或组织,信任假设是他们不会串通和作恶;Arbitrum 提出了AnyTrust,同样采用数据委员会来确保数据可用性,并基于 AnyTrust 构建了Arbitrum Nova;zkPorter 则提出由 Guardians(zkSync Token持有者)来维护数据可用性,他们需要质押 zkSync Token,如果发生了数据可用性故障,那么质押的资金将被罚没。

三者都提供了称为 Volition 的选项:用户按需自由选择链上或链下数据可用性,根据具体的使用场景,在安全性和成本之间自行取舍。

1、以 AnyTrust 为例

Arbitrum 生态 Arbitrum 生态中有 One 和 Nova 两条公链,前者是狭义上的 Arbitrum ,后者基于AnyTrust 技术,于2022年8月10日上线,适合高频交互、对成本更敏感的场景(如链游 GameFi、SocialFi )。两者的主要区别在于处理数据的存储位置,Nova 利用数据可用性委员会 (DAC) 实现显著的成本缩减。

AnyTrust 依赖于外部数据可用性委员会(DAC)来存储数据并按需提供。委员会有 N 名成员,AnyTrust 假设其中至少有两名是诚实的。这意味着如果 N-1 委员会成员承诺提供对某些数据的访问权限,则至少有一个承诺方必须诚实,确保数据可用,以便 Rollup 协议能够正常运行。

三、模块化区块链DA层——以 Celestia 为例。

Celestia 遵从了Cosmos的理念,专注于数据可用性的模块化公链,通过将执行、数据可用性、共识三者脱钩,提供了一个可插拔的数据可用性和共识层,为 Rollup 这类 L2 提供数据可用性服务。它允许一个独立的 DA 层,从而消除了 Layer 1 的成本负担并允许高效存储交易数据。

1、以 Celestia 的 Quantum Gravity Bridge 为例

以太坊主链上的 L2 Contract 像往常一样验证有效性证明或欺诈证明,区别在于 DA 由 Celestia 提供。Celestia 链上没有智能合约、不对数据进行计算,只确保数据可用。

L2 Operator 把交易数据发布到 Celestia 主链,由 Celestia 的验证人对 DA Attestation 的 Merkle Root 进行签名,并发送给以太坊主链上的 DA Bridge Contract 进行验证并存储。

这样实际上用 DA Attestation 的 Merkle Root 代替证明了所有的 DA,以太坊主链上的 DA Bridge Contract 只需要验证并存储这个 Merkle Root。对比将 DA 存储到链上而言,这样使得保证 DA 的开销得到了极大的降低,同时由 Celestia 链本身提供安全保证。

2、缺点

  • 由于 Celestia 本身仍然作为 Layer1,需要对 Data Blob 进行广播和共识,这样一来实际上对网络的全节点有着很高的要求(128 MB/s 下载和 12.5 MB/s 上传),而实现的吞吐量却未必高(1.4 MB/s)。
  • 安全性方面独立于以太坊,容易遭受51攻击

四、以太坊底层解决方案

链上底层方案 —— Danksharding

拆解坎昆升级( Danksharding 和 EIP4844 )

五、总结

  1. 在讨论完上述数据可用性问题之后,我们发现所有方案本质上是在三难困境的相互制约下做权衡取舍,而方案之间的区别在于权衡的「细粒度」不同。

  2. 从用户角度考虑,协议提供同时链上和链下数据可用性的选项是合理的。因为在不同的应用场景之下、或者不同的用户群体之间,用户对安全性和成本的敏感程度亦各不相同。

  3. 未来的3至5年内,区块链的架构必然会由单体化向模块化演变,各层呈现低耦合状态。未来可能出现Rollup-as-a-Service(RaaS)、Data Availability-as-a-Service(DAaaS)等许多模块化组件的提供商,实现区块链体系结构的可组合性乐高。模块化区块链是支撑下一个周期的重要叙事之一。

    其中,执行层的估值巨兽(即Rollup)已经「四分天下」,后来者寥寥;共识层(即各个Layer1)逐鹿中原,在Aptos和Sui等公链开始崭露头角后,公链竞争格局虽未尘埃落定,但其叙事已是新瓶装旧酒,难以寻找合理的投资机会。而数据可用性层的价值仍然有待被发掘。

参考: