本文探讨了数据可用性(DA)层在区块链未来发展中的作用,分析了将数据可用性从主链分离的必要性,以及模块化区块链的趋势。文章深入研究了独立数据可用性层的实现方式,并评估了现有项目如Celestia和Polygon Avail,以及以太坊EIP提案的影响,最后还分析了DA层的经济模型和市场潜力。
作者:火币区块链应用研究院研究员 Barry Jiang
摘要
随着区块链生态系统的发展,使用以太坊的成本一直居高不下。扩展解决方案 Rollup 需要将压缩的交易数据上传到以太坊主网以实现数据可用性(DA),这会产生链上存储成本,该成本仍然高于理想水平。为了满足对 Rollup 数据可用性的需求并降低成本,已经有人尝试构建独立的 DA 网络。
DA 网络确保 Rollup 的交易数据与其网络中的数据一致,并在以太坊验证者及其自身完整节点的监督下进行。它还确认该数据通过轻节点抽样验证在其网络中发布,并使用数据可用性证明来说服以太坊 DA 网络已存储和发布数据。
虽然 DA 层在短期内会遇到来自 EIP-4488 和 EIP-4844 的竞争,但由于其强大的可扩展性,从长远来看,它的采用和产生相对稳定的现金流的能力似乎是可行的。
从更广阔的角度来看,数据可用性层是区块链模块化过程中的最新一步,它形成了一个相互分离的“共识-执行-数据可用性”结构。由于区块链的三难困境,在确保高度去中心化和安全性的同时提高可扩展性的最佳方法是减少主网的任务并访问额外的执行层,然后是单独的 DA 层。
这具有通过分工使整体性能大于部分之和的优点。随着时间的推移,模块化区块链可能更好地满足性能和成本方面的期望,进而引导其他公链拥抱模块化。
1 什么是数据可用性?
1.1 数据可用性的定义和含义
随着区块链生态系统(尤其是以太坊)在过去两年中变得更加发达,扩展已成为交易量不断增加的网络的关键优先事项。一种扩展方法是链下扩展,这意味着在其他条件相同的情况下,计算在链下完成,只有状态根和其他必要的链下信息同步到链上。由于大量的计算发生在链下,它减少了以太坊主网络的工作量,并实现了同时处理更多交易的目标。最流行的解决方案 Rollup 是最有前途的链下扩展解决方案,它涉及将压缩的交易数据上传到主网,以确保其状态可以受到以太坊网络的保护并提高安全性。
随着 Rollup 规模的增长,需要上传的数据量也随之增加。一方面,这增加了以太坊的负担,另一方面,也提高了 Rollup 的成本。为了降低 Rollup 的成本和以太坊的压力,一个新的想法是创建一个单独的网络,专门以更低的成本存储 Rollup 的交易数据。确保交易数据发布到该网络,同时授予以太坊轻松访问权限,引出了本文的主题:数据可用性问题。
数据可用性是指区块链网络中对交易数据的需求,以便节点可以查看和下载。它要求在一定时间段内生成的所有交易数据都位于并由整个网络见证。另一方面,这意味着没有已经执行但未发布的交易数据。数据可用性问题适用于节点如何监控新区块的生成,以确保该区块中的所有数据都已发布到网络,并且区块生成器没有隐藏或歪曲信息。
数据可用性最初不是问题,因为数据在区块链网络中自然可用。只有在扩展超过某个阈值后,数据可用性才成为不可避免的兴趣话题。只有确保可以访问和下载所有交易数据,以太坊才能跟踪和重建 Rollup 上的状态,只有这样才可以将 Rollup 的交易数据存储在单独的数据网络中,从而降低 Rollup 的存储成本并进一步促进扩展。
此外,数据可用性与 Rollup 的安全性密不可分。如果发生数据遗漏和记录不规范的情况,从以太坊的角度来看,Rollup 的状态将无法辨别。在这种情况下,鉴于 Rollup 可能无法完全继承以太坊的安全设置,尽管 Layer 2 性能良好,用户也会对 Layer 2 保持警惕。
1.2 数据可用性和存储之间的区别
数据可用性涉及数据的存储和检索,但这个问题与存储不同;两者有不同的关注领域。存储需要保持数据随时可用,以便在更长的时间内检索,在此期间数据是有意义的。数据可用性需要确保主区块链网络生成的最新交易数据已发布到网络(可能是其自身之外的其他网络)并且易于访问。
此处的存储是指存储区块链本身和链上应用程序生成的数据,不包括其他数据,例如存储来自其他地方的图像、文档等。只有当这两个任务由不同的网络分别承担时,存储和数据可用性之间的区别和联系才值得讨论。如果一个主网络要完成计算、存储和数据可用性验证的所有任务,那么这个话题将是多余的。
通用存储不适合 DA 网络,因为存储的对象通常是大文件,而获得每个以太坊区块间隔中所有 Rollup 的数据可用性所需的数据量通常甚至小于 2MB。DA 网络可以设计具有非常精细的数据抽样验证和检索过程,但存储网络不能以这种方式设计,否则处理大量数据将是不可行的。
以太坊是一个状态机,交易驱动状态变化。换句话说,无数的交易塑造了当前的状态。每当一个状态被改变和确认时,新的状态本质上包含了先前的交易,这些交易被认为已经完成了它们的历史使命。只有在追溯需要时才需要访问其数据。
数据可用性是存储的先决条件。只有在网络中完全发布并经过验证的交易数据才能支持执行,从而驱动状态变化并使其值得存储。存储是数据可用性的支柱,而 DA 网络本身会生成大量数据,这些数据可以存在于单独的存储网络中,从而方便 DA 节点减轻负载并减少运营负担。
2 数据可用性的发展和实现路径
数据可用性最初包含在区块链网络中,然后逐渐从一体化网络中分离出来。现在,一个单独的 DA 层即将出现。以下部分将着眼于数据可用性的演变,并评估当前具有代表性的项目如何实现数据可用性层。
2.1 数据可用性的逐步分离
首先回顾一下这里的原理。区块链网络中有 2 种类型的节点,完整节点和轻节点。完整节点存储区块的所有内容,包括区块头和交易数据。他们通过验证、打包交易和竞争出块权来参与区块的生产。轻节点只接受区块头,但不存储交易数据或参与区块生成。当轻节点需要使用交易数据时,它们会从完整节点请求数据。以下是对数据可用性演变的逐步解释。
在第一阶段,从比特币网络(包括以太坊和其他公链网络)开始,数据可用性自然地嵌入在网络中。完整节点随着时间的推移收集和验证交易数据,对交易进行排序和打包,然后以某种方式竞争性地获得生成区块的权力,将打包的交易数据放入区块中,并将其发布到整个网络。其他完整节点需要验证交易数据是否正确,以及该节点是否具有生成区块的权力。如果验证成功,它会更改自己的账本并执行交易。在这个模型中,执行交易、发布和保存交易数据都由完整节点完成,可以执行的交易被发布并且必须可以被网络中的所有节点访问。
在第二阶段,以 Plasma 技术为代表,数据可用性被移交给链下运营商,以太坊本身不存储 Plasma 用户的交易数据。这是将数据可用性与主网络分离的第一次尝试。Plasma 将数据可用性置于以太坊之外。为了实现无需信任并确保用户可以顺利地从 Plasma 中提取资金,或者解决纠纷,用户需要存储一部分自己的数据来证明他们的交易行为和资产所有权。回想起来,这种设计使用起来太不方便了。同样,由于 Plasma 上提款的 1 周挑战期以及糟糕的用户体验和资金周转,它没有进入主流技术。
在第三阶段,以 Rollup 技术为代表,数据可用性返回到以太坊。Rollup 在链下执行交易,并在压缩后将交易数据上传到以太坊的 calldata 中。Calldata 是 EVM 中只读且不可修改的位置,存储所有传入函数的执行数据,包括函数参数。这种设计允许 Rollup 继承以太坊的安全性并实现链下扩展的效果,使 Rollup 成为 Layer 2 扩展的主流技术。除了 Rollup 之外,此阶段还有一种称为 Validium 的技术,可以将其视为从第 3 阶段到第 4 阶段的过渡。它在其他方面与 ZK Rollup 相似,不同之处在于交易数据存储在由多个机构组成的链下数据可用性委员会(DAC)中。此设计是另一次尝试将数据可用性从以太坊中分离出来,并具有减少存储在以太坊中的数据量的优点,从而降低了成本。缺点是它引入了信任假设,用户必须信任 DAC 中至少存在一个诚实的机构。
第四阶段以 Celestia 和 Polygon Avail 为代表,数据可用性再次与以太坊分离。他们尝试在自己的网络上存储和发布 Rollup 上传到以太坊的交易数据,并组织节点验证此数据是否已完全发布在网络上。他们的目标是成为一个单独的数据可用性层(DA 层),这可以被认为是 DAC 的高级版本。
2.2 如何实现独立的数据可用性层
Celestia 和 Polygon Avail 的想法大致相似,因此我们将从 Celestia 开始,以解释总体思路。
实现单独的数据可用性层需要 3 个主要步骤:Rollup 将所有交易数据传递给 Celestia,Celestia 在其网络上发布所有这些数据,并且以太坊确认 Celestia 已经存储和发布了数据,并且可以随时访问它。
2.2.1 如何确保 Rollup 的交易数据按应有的方式上传到 Celestia
两个目标之间存在一致性:Rollup 需要以更便宜的网络获得数据可用性,而 Celestia 需要通过托管 Rollup 的交易数据来获得收入。Rollup 真实地传递数据,而 Celestia 真实地发布和验证数据,这对双方都有利。从经济利益的角度来看,除非他们想受到保证金扣除,否则他们会诚实行事。
那么,是否有技术方法可以避免医疗事故?
如果 Rollup 将所有数据提供给 Celestia,但后者没有在其网络上发布这些数据,则需要依靠网络中至少一个诚实的完整节点来提供欺诈证明以揭露它,这将在后面讨论。这里存在“1/N”的信任假设,但这是一个相对容易实现的弱信任假设。如果你完全不愿意信任该网络,则 Rollup 可以自己充当完整节点并监视该网络的状态。
如果 Rollup 没有向 Celestia 提供正确的交易数据,Celestia 仍然会将这些数据发布到 DA 网络。以太坊上的验证者可以请求此交易数据,并将通过它计算的状态根与 Rollup 上传到主网的状态根进行比较,从而揭露欺诈行为并获得奖励。如果是 OP Rollup 受到质疑,它还需要发布一份欺诈证明来对抗挑战者。这确保了在 Rollup 上执行交易的数据和传递给 Celestia 的数据来自同一批次。
证明欺诈的一般思路是展示状态根,包括起点、终点、中间状态和促使状态变化的交易。必须存在第三方仲裁者来执行来自某个状态的某个或某些交易,并将计算出的状态根与先前发布的状态根进行比较。两者之间的任何不一致都表明运营商犯了欺诈行为。
2.2.2 如何验证 Celestia 的完整节点是否已发布数据
完整节点接受交易数据后,下一步是验证它是否正在网络上发布所有这些数据。根据一般的想法,它应该由 Celestia 网络中的其他完整节点进行验证。随着要验证的数据量的增加,这增加了完整节点的存储和计算能力,这也需要更先进的硬件设备来加剧网络中心化。
Celestia 的想法是让许多轻节点来分担这项任务。通过将一批数据分解成小块,每个轻节点只需要下载少量数据,就可以非常高的概率验证该区块中的数据是否可用。通过这种方式,轻节点的力量被调动起来,共同维护数据可用性网络。此外,由于每个轻节点只需要验证少量数据,因此轻节点越多,可以验证并变得对网络可用的数据就越多。当然,这也需要在网络上有足够数量的轻节点,否则由于缺少样本而无法完成验证。
轻节点验证数据可用性的步骤如下:
1. 将交易数据扩展为纠删码。Celestia 完整节点按顺序将交易排列成数据 Merkle 树,每个叶节点称为一个 shares,假设有 k 个 shares。Celestia 会将这些数据扩展为二维 Reed-Solomon 纠删码,形成一个具有 2k 行和列的扩展矩阵。纠删码 (EC) 是一种数据保护方法,它将数据分割成段,扩展、编码,并将冗余数据块存储在不同的位置。这个扩展矩阵不仅包含交易数据,还包含从此数据生成的奇偶校验数据。二维纠删码具有一个重要的属性:只需要任意 (k+1)2 个元素就可以恢复包含 (2k)2 个元素的扩展矩阵。纠删码存储在区块体中。
计算扩展矩阵的行/列根和数据根。完整节点为此扩展矩阵的每一行和每一列计算一个 Merkle 根,这里称为行/列根,稍后为所有行/列根计算几个总 Merkle 根,称为数据根。数据根和所有行和列根需要上传到 Celestia 区块的区块头。
3. 轻节点整体验证。收到区块头后,Celestia 的轻节点首先使用行/列根计算 Merkle 根,并将其与区块头中包含的数据根进行比较。如果不匹配,则直接判断数据无效;如果一致,则进行下一步。
4. 轻节点通过抽样在本地进行验证。轻节点在扩展矩阵中随机选择一些 shares,例如,第 3 行和第 5 列中的数据,并从完整节点请求这些 shares 的数据。完整节点发送此数据,并且还必须证明此 shares 属于第 3 行或第 5 列的 Merkle 树,即它可以提供一条可以通过其计算此行或列的 Merkle 根的路径。轻节点计算并将其与区块头中包含的行和列根进行比较之后,一致表示采样的交易数据可用。如果完整节点仅发布区块头而不发布交易数据,则可以通过此步骤轻松验证。成功验证所有 (k+1)2 个 shares 后,可以判断整个扩展矩阵有效。
5. 广播验证信息。轻节点对验证进行抽样后,它会告知连接到它的完整节点它采样的 shares 以及通过验证的行/列根。完整节点也将此信息广播到所有完整节点。这是在网络上共享信息的过程。一旦有足够的轻节点完成了多次抽样,就会在网络上形成关于给定区块中交易数据可用性的共识。
纠删码已经包含所有交易数据,这些数据存储在 Celestia 区块链中。正如我们稍后将解释的那样,这个数据量不会使 Celestia 变得难以驾驭。
设计纠删码和这组复杂的过程,而不是让轻节点直接分组验证原始数据,是为了即使在网络发生故障的情况下,例如所有节点发生大规模故障,甚至许多轻节点宕机,也可以从扩展矩阵中恢复由多个轻节点保存的零散数据,以确保交易数据仍然可以访问。
另一个原因是,由于纠删码可以通过部分数据恢复完整数据,因此仅仅隐藏单个 shares 的完整节点无法隐藏数据。如果完整节点确实有恶意,则必须隐藏 (k+1)2 个 shares,这会导致矩阵发生重大变化,并且可以通过仅具有少量样本的轻节点检测到。
如果某些完整节点故意发布错误的纠删码,则只需要一个诚实的完整节点站出来并发布欺诈证明,指出应根据证明中的数据计算另一个数据根。它还需要重新发布正确的区块并重复上述过程以重新验证它。
2.2.3 以太坊如何验证数据可用性
在 Celestia 网络内就存储在一个区块中的数据的可用性达成共识后,Celestia 要求法定数量的节点共同签署数据根(交易数据的 Merkle 根)以生成数据可用性证明,表明他们已在网络上存储和发布了该批数据。部署在以太坊主网上的 Quantum Gravity Bridge 合约验证节点的签名,如果通过,则认为这些数据在 Celestia 上可用。
由于设置了单独的数据可用性层来减少上传到以太坊主网的数据,因此以太坊不需要直接验证数据可用性,而更像是通过验证 DA 层是否已完成其工作来充当最高仲裁者。
如果以太坊需要调用数据,它可以从 Celestia 网络请求数据,其中所有节点都具有 Rollup 的交易数据,以太坊可以轻松访问这些数据。
2.2.4 Polygon Avail 的设计方法
Avail 的想法与 Celestia 基本相同,不同之处在于如何生成扩展矩阵以及轻节点如何验证数据。
在将数据组织成 n 行和 m 列的矩阵后,Avail 为每一行构造一个多项式,然后为每个多项式计算一个 KZG 多项式承诺,最后将多项式和承诺都扩展为 2n 行并将这批承诺存储在区块头中。当抽样轻节点进行验证时,将验证某个承诺与原始信息(即交易数据)之间的对应关系,并且可以知道完整节点是否已发布相应的数据。根据 KZG 多项式承诺的性质,轻节点只需要接受从原始数据生成的多项式和一个简短的证明即可完成验证,而无需下载原始数据。如果轻节点抽样了恰好位于同一行的多个数据块,则它只需要接受一个多项式承诺,这减轻了轻节点的带宽要求。此外,由于承诺是绑定的,即一旦完成计算就无法更改,因此完整节点无法篡改原始数据,从而确保了验证的有效性。
Avail 和 Celestia 各有优缺点。Celestia 实现起来更简单,但由于其纠删码的大小和轻节点抽样数据较大,因此需要稍高的通信带宽。Avail 涉及相对复杂的加密实现,并且稍微困难一些。它的优点是纠删码大小小、轻节点抽样的数据量小以及带宽要求较低。两者都没有在线的测试网络,并且仍然有技术发展的空间,因此我们需要等待测试更新。此赛道中可能还有其他竞争者,成功属于可以以更低的成本存储和验证交易数据的项目——这体现在访问它的 Rollup 用户的低成本,以及运行 DA 网络节点的低成本。
2.3 独立数据可用性层中的两个竞争者
为了降低 Rollup 的成本并缓解以太坊的压力,一个独立的数据可用性层正在孵化中。另一方面,以太坊本身也在不断发展,并且有两个 EIP 提案解决了这个问题:它们是 EIP-4488 和 EIP-4844。它们会对数据可用性产生什么影响?
EIP-4488 建议将 calldata 的 gas 消耗从每字节 16 降低到 3,这将立即将 Rollup 的链上存储成本降低到原来的 20%。为了防止区块空间上限增加太多并将以太坊 p2p 网络层推向空前的压力水平,该提案还设计了一个 calldata 占用率上限,约为 1.4MB。
EIP-4488 可以立即降低 Rollup 的成本,从而最大限度地减少当前需要的更改。但是 Rollup 将继续增长,并且不可能无限期地增加 calldata 的空间,因为它会对以太坊网络造成安全风险。这也使其成为一种短期的权宜之计。
EIP-4844 建议引入一种名为“blob-carrying transactions”的新交易格式。该 blob 包含大量数据,并且成本远低于 calldata。EVM 不访问这些数据,而只访问这些数据的承诺。验证 blob 只需要验证其可用性。这种交易格式与未来完全分片交易格式完全兼容。Blob 存储在信标链上,用于存储数据和交易的 gas 分别计算上限和定价。
EIP-4844 是一项积极的过渡计划,也是以太坊主网为数据可用性提供的。但是,它不能简单地与现有方案等同起来。blob 是一个单独的数据可用性层的原型,它在技术和经济上都为单独的 DA 空间做好了准备。当实现完全分片时,blob 可以迁移到分片链,这将需要对信标链进行一些更改,但是 Rollup 将需要最少的更改。可以说,在分片之后,以太坊将实现其自己的相对独立的数据可用性层,类似于 Celestia 和 Avail。
毫无疑问,这两个提案都降低了 Rollup 的成本,这两个提案都可能使其他数据可用性层项目显得成本优势较小,从而导致低采用率。特别是 EIP-4488,它没有许多新的技术要求,易于实现,并且还可能抢占先发优势。这样一来,独立的 DA 层在短期内可能会面临相对较大的压力。当数据分片尚未实施时,DA 层可能能够承载更多数据,因为网络更具可扩展性,从而吸引一部分 Rollup 使用它来接收数据可用性。
2.4 数据可用性层的经济模型和市场潜力
由于 Celestia 和 Avail 都还处于相对早期的阶段,因此尚未公布该协议的经济模型,包括奖励和惩罚机制、该协议将如何盈利、是否将发行代币以及如何分配它们。
在这里,我们冒险猜测奖励和惩罚机制以及盈利模式。
DA 层网络中的完整节点需要质押一些资产作为保证金。如果完整节点故意不发布完整的交易数据,则应没收其保证金。同时,这部分资产也可以用作参与共识的股权,质押大量资产的节点有更高的概率获得生产区块的权力并获得一定的奖励和费用。
轻节点不质押,也不参与费用分成。这样,轻节点的数量会更少,每个轻节点抽样的数据量会稍大。轻节点可能主要由访问 Rollup 或在其上运行的 dApp 组成,它们是直接的利益相关者,并且有动力验证 DA 网络。轻节点质押少量资产也是可以接受的。如果抽样完成正确,他们将参与费用和奖励分成,并且如果未验证多个抽样的质量,则没收存款。由于轻节点数量众多,因此需要定期累积和分配奖励,以减少网络压力。
如果数据可用性层被认为是数据的临时存储库,则网络中的完整节点(完整节点和轻节点)应获得数据存储的报酬。以太坊 calldata 的成本是 DA 层收入的上限。
此外,由于 DA 层中存储了大量数据,这可能会严重加重区块链网络的负担。完整节点可能需要定期将一些寿命长的数据传输到其他存储平台,并指示存储平台在一段时间后删除数据。这可能会产生一些成本。这个成本相对容易估算,因为 Vitalik 曾经在一篇文章中估计,实施 EIP-4488/4844 每年将向以太坊添加大约 2.5 TB 的数据。假设这些数据需要保存 1 年,根据当前主流云存储的价格,完整节点每年存储这些数据的成本不到 50 美元,而且这些成本几乎可以忽略不计。即使 DA 层完全接管以太坊 calldata 的任务,甚至存储更多数据,此成本仍然非常低。因此,如果不考虑运行网络的其他成本,则 DA 网络的利润率在很大程度上取决于它可以服务多少数据。
因为从长远来看,每单位存储空间的收入似乎不会有太大变化,所以 DA 层必须增加销售额才能增加收入,这意味着吸引更多的 Rollup 到该站点。项目团队的业务发展能力在这里非常关键,这也是谁能成功的一个关键因素。
最后,估计整个 DA 层每年可以产生多少收入。下表是基于公开数据对 Rollup 的存储成本的粗略估计。目前,以太坊每天在整个网络中消耗 100G gas,其中每天 1G 用于 Layer 2 上传证明和解决纠纷。由于 Rollup 已成为 Layer 2 的主流技术,因此此处可以直接使用此数据。calldata 消耗多少 gas 难以估计,本文假设它消耗的 gas 是证明/解决纠纷的 5 倍。假设一年内 ETH 的平均价格为 2500 美元,gas 的平均价格为 80 Gwei,则每天 Rollup 的 DA 成本计算约为 100 万美元。如果在 EIP-4488 实施后,calldata 的单位 gas 消耗量变为原来的 1/5,由于成本更低,将吸引更多用户使用 Rollups。假设证明和解决纠纷的 gas 消耗量翻倍,根据比例关系,每天 Rollup 的 DA 成本计算仍然约为 40 万美元,并且一年内可能存在 1.46 亿美元的市场。这是一个在以太坊和 DA 层之间共享的市场,如果 DA 层的定价略高于以太坊,假设它获得一半的份额,它每年可以产生约 5000 万美元的相对稳定的现金流。这都是Based Rollups 仍处于相对早期阶段的保守估计。
如果 Rollup 实现了更大的增长并真正成为“以 Rollup 为中心”,则 Rollup 在以太坊上上传证明和解决纠纷所消耗的 gas 量可能达到每天 10G。换句话说,这意味着以太坊网络 10% 的 gas 被 Rollup 的证明/争议消耗掉,这完全有可能。由于技术进步,Rollup 将使用更先进的方法来减少证明的 gas 消耗,假设减少到 50%,那么 calldata 的 gas 消耗量需要变为原始增长率的两倍。此外,ETH 的价格也将上涨,假设平均价格为 3500 U,gas 费用保持在 80 Gwei。估计 DA 层的消耗量每年可达 20 亿美元。此外,如果其他区块链也开发 Rollup 技术,DA 层还可以为这些链提供服务并进一步增加收入。
以上估计非常粗略,仅提供一个直观的参考。
3 数据可用性和区块链的模块化
3.1 区块链正在模块化
从数据可用性与主网络逐步分离的历程来看,我们还可以发现另一种趋势,即区块链的模块化。这是一个更大的长期趋势,而单独的 DA 层是最新一波浪潮,是这一长期趋势的一部分。
当区块链诞生时,该网络是单片的,它承担所有任务,如共识、计算、结算和数据存储。当时,链上生态正在起步,区块链的处理能力超过了需求,而且成本不高。
计算或执行层是从区块链中分离出来的第一个模块。随着区块链生态系统的发展以及使用区块链的成本越来越高,扩展解决方案应运而生。链下扩展包含各种技术路线,其想法是将计算与结算分离。将计算移至链下,而无需在区块链上重新计算,可以节省区块链的计算资源并降低费用。虽然在链下完成计算也实现了结算功能,但最终结算必须由区块链主网络执行。
数据可用性层是从区块链中分离出来的第二个模块。当前链下扩展仍然无法将使用成本降低到令人满意的水平的原因之一是,数据可用性仍然需要消耗区块链上宝贵的存储资源。设置单独的 DA 层可以大大减少这种资源消耗,这可以进一步降低使用链上应用程序的成本并吸引更多用户参与。以太坊的数据分片也是一种模块化的 DA 层,并实现了相同的功能。将以上两部分分开,区块链主网络唯一需要承担的就是共识。主网络需要对执行结果和执行的基础(即数据可用性)达成共识。当然,结算功能也包含在共识模块中,因为共识最重要的部分是网络应该就什么样的结算结果达成一致。至此,一个“共识-执行-数据可用性”的结构正在形成,它们彼此分离。
3.2 模块化是区块链的自然结果
区块链不可能三角告诉我们,区块链有三个基本属性:去中心化、安全性和可扩展性,由于技术限制,只能同时优化其中两个属性,而必须牺牲剩余的一个属性。以太坊选择高度去中心化和安全,因此可扩展性成为需要妥协的属性。
去中心化是区块链的核心。正是由于去中心化的特性,区块链上的任何机构都没有权力随意修改或消除用户的资产;链上的资产是有价值的,并且为这些资产生成的代币发行、资产交换、借贷等都是有意义的。如果没有去中心化属性,区块链可能可以说没有存在的必要。反过来,安全性是分布式系统的命脉,因此去中心化和安全性应该是这个不可能三角中优先考虑的两个点。
确保去中心化需要许多节点达成共识,每个完整节点执行相同的操作并备份相同的数据。这是一个非常低效的过程,导致低吞吐量和高交易费用。在这种情况下,提高可扩展性的方法是减少主网需要执行的任务,并让其他模块承担更多任务——因此,模块化应运而生。
模块化旨在通过分工使整体能力大于各部分之和,这符合事物发展的一般规律。分离的 Rollup 和 DA 网络可以分别专注于执行和数据可用性,并可以在各自的领域自由发展,而无需进行任何权衡。以太坊主网只需要验证它们的证明,“世界计算机”已经成为“全网最高法院”。这使得进一步降低成本的想法更加可信:Rollup 最小化了生成证明所需的大小和资源消耗,DA层提高了编码和验证的效率,并且还减小了上传到主网的断言的大小。经过一段时间的发展,模块化区块链完全有可能在性能和成本方面达到其他高性能公链的水平。
一些区块链为了获得更高的性能而在去中心化程度上做出了妥协,但是随着发展和演变,总会出现性能无法满足需求的情况。目前,如果它通过技术升级产生更强大的新网络,当然是一个积极的局面;而在现有的技术条件下,通过更多的分工与合作来更合理地部署资源,也不失为一个好主意。在接下来的时期,以以太坊为代表的具有高度去中心化但性能较低的公链,很可能会坚定地推动模块化进程;而其他一些公链也将学习以太坊的成功经验,并尝试实施外部模块。在经历了分工带来的成功之后,区块链模块化可能成为一种新的范式。
参考
[1] https://coinmarketcap.com/alexandria/article/what-is-data-availability
[2] https://blog.celestia.org/ethereum-off-chain-data-availability-landscape/
[3] https://blog.celestia.org/celestiums/
[4] https://arxiv.org/abs/1809.09044
[6] https://blog.polygon.technology/the-data-availability-problem-6b74b619ffcc/
[7] https://learnblockchain.cn/docs/eips/EIPS/eip-4488
[8] https://notes.ethereum.org/@vbuterin/proto_danksharding_faq
[9] https://ethereum.org/en/upgrades/shard-chains/
[10] https://dune.xyz/funnyking/L2-Gas-Consumption
[11] https://newsletter.banklesshq.com/p/ultra-scalable-ethereum?s=r
[12] https://hackmd.io/@alexbeckett/a-brief-data-availability-and-retrievability-faq
免责声明
1. 本报告的作者及其所在机构与本报告涉及的其他第三方不存在任何影响报告客观性、独立性和公正性的关系。
2. 报告内容仅供参考,报告中的事实和观点不构成商业、投资和其他相关建议。 除非法律法规明确规定,作者不对因使用本报告内容而造成的损失承担任何责任。 读者不应仅根据本报告做出商业和投资决策,也不应因此丧失基于本报告做出独立判断的能力。
3. 本报告中包含的信息、意见和推论仅反映研究人员在本报告定稿之日的判断。 未来,基于行业变化以及数据和信息更新,存在更新意见和判断的可能性。
4. 本报告的版权仅归火币区块链研究院所有。 如需引用本报告内容,请注明出处。 如需大量参考,请提前告知(联系方式请参见“关于火币区块链研究院”),并在允许的范围内使用。 在任何情况下,不得违反本意引用、删除或修改本报告。
5. 本报告的版权仅归火币区块链研究院所有。 如需引用本报告内容,请注明出处。 如需大量参考,请提前告知(联系方式请参见“关于火币区块链研究院”),并在允许的范围内使用。 在任何情况下,不得违反本意引用、删除或修改本报告。
关于火币研究院
火币区块链应用研究院(简称“火币研究院”)成立于2016年4月。自2018年3月以来,致力于全面拓展区块链各领域的研究与探索。以研究对象,研究目标是加速区块链技术的研究开发,促进区块链产业的应用,促进区块链产业的生态优化。主要研究内容包括行业趋势、技术路径、区块链领域的应用创新、模型探索等。火币研究院本着公益、严谨、创新的原则,将通过多种形式与政府、企业、高校等机构开展广泛深入的合作,构建覆盖区块链完整产业链的研究平台。行业专业人士提供坚实的理论基础和趋势判断,促进整个区块链行业的健康和可持续发展。
咨询邮箱: research@huobi.com
官方网站:
Twitter: @Huobi_Research
https://twitter.com/Huobi_Research
Medium: Huobi Research
https://medium.com/huobi-research
- 原文链接: medium.com/huobi-researc...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!