编者按:模块化对公链而言很重要,也是一个很值得很深入研究的主题,点击此处下载PANews App 安装注册登录 PANews 搜索 模块化 即可看到关于此主题更多的深度讨论文章。


作者 | Maven11

编译 | Gary Ma 吴说区块链

吴说获得作者授权翻译转载,与文中项目无利益相关,原文链接:

https://maven11.substack.com/p/the-modular-world?s=r

前言

早在 2019 年,当我们投资 LazyLedger(现在叫 Celestia)时,模块化这个词在区块链设计方面还没有流行起来。而在过去的一年里,它已经被许多 KOL 以及 L2 团队所普及,当然还有 Celestia Labs 团队,他们在他们的第一篇关于分离共识和执行的博客文章中创造了这个术语。

正因为如此,我们很高兴能提出我们对 Celestia 投资的最新概述。它将提供对我们所设想的模块化世界的见解,在这样一个生态系统中的各个层次和协议,以及为什么我们对它提供的潜在功能如此兴奋。

架构

目前,大多数公链都是属于单片链,即区块链网络同时包揽了数据可用性、结算和执行这三项功能层(下文简称功能层)。虽然这些单片链也已经在进化,如具有模块化组件的以太坊 Rollups 和 Avalanche 的子网。然而,这些并不是模块化区块链的真正含义。

让我们定义一下我们所说的 “模块化” 是什么意思,这样就不会有误解。当我们说到模块化时,我们指的是区块链网络的各功能层是解耦的,即区块链网络的三个功能层之一是解耦的,所以要么是执行层,要么是共识层,要么是数据可用性层。这意味着你可以说 Rollups 是模块化的一种表现,因为它们只负责执行。不过以太坊还是作为一个整体处理其他一切。

以 Celestia 为例,我们可以说它是模块化的,因为它只负责数据可用性和共识。而它将结算和执行委托给其他层。这些层也是模块化的,因为它们只处理三大功能组件本身的一部分。这意味着我们不能称以太坊为模块化的区块链,因为这些 Rollups 网络仅负责自身网络的交易执行,同时以太坊自身也执行交易,这意味着在其当前的实现中,以太坊仍然是一个单片链。尽管如此,以太坊仍然是理想的结算层,同时也是最去中心化、最安全的公链。

现在,你可能会问 Polkadot 和 Avalanche 呢?对于 Avalanche 来说,它不是模块化的,每个子网都拥有三大功能组件。这意味着它们不能模块化扩展,而是通过水平地使用其他单片链来扩展。Polkadot 的 parchains 负责执行,类似于 rollup,同时将块发送到中继链以获得共识和数据可用性。但是,中继链仍然保证了交易的有效性。

随着时间的推移,单片链的增长会导致大量的拥塞和效率低下。如果我们想要承载更多的人,单靠包揽这三大功能的单片链是完全不可行的。因为它会给终端用户带来极高的费用和延迟。这就是为什么我们看到越来越多的链决定将它们的链分开。我们都听说过传说中的合并,它将把以太坊过渡到一个 PoS 链。然而,他们也计划最终转向分片。分片是指将区块链水平地分割成几个部分。这些分片只处理数据可用性。

分片和 rollup 是以太坊社区计划解决其可扩展性问题的方式。还有其他方法吗?当然,我们也看到 Avalanche 在 Subnets 中朝着模块化的方向发展,但是,正如前面所解释的,我们不会将其归为完全模块化。

为了更好地理解每个不同的 “模块化” 架构是如何工作的,让我们试着把它们画出来,以便更好地概述它们的区别。

架构对比

首先,我们来看看以太坊的目前的架构以及未来启用分片后的架构是怎样的。

当前,以太坊负责全部的功能层,不过它也分离了部分交易执行给了 L2 Rollups,由它们批量处理交易然后由主网结算。未来启用分片后,以太坊的架构将会是这样的:

这将把以太坊变成一个统一的结算层,而分片将负责数据可用性。这意味着,分片将只是 DA 环境,供 Rollups 提交数据。在分片上,验证者只需要为他们正在验证的分片存储数据,而不是整个网络。分片最终会让你在轻型节点上运行 Ethereum,类似于 Celestia。

对于 Avalanche 来说,他们的主要扩展主张是通过可以轻松创建的子网。Avalanche 的架构看起来有点像这样:

子网拥有一组独立验证自身网络的新验证者。所有 Avalanche 子网都会自行负责共识、数据可用性和执行。每个子网也将有自己的 Gas 代币,由验证者指定。目前已上线的子网的一个例子是 DefiKingdoms 子网,它使用 JEWEL 作为其 Gas 代币。

在我们继续看 Celestia 的架构之前,让我们先看看 Cosmos。Celestia 在很大程度上借鉴了 Cosmos,并将通过 IBC 与之进行大量互动,因为它也是用 Cosmos SDK 和 Tendermint 的一个版本 Optimint 构建的。Cosmos 架构与目前其他架构有很大不同,因为它使 dApps 成为区块链本身的应用,而不是提供一个虚拟机。这意味着一个主权的 Cosmos SDK 链只需要定义它所需要的交易类型和状态传统,同时依靠 Tendermint 作为其共识引擎。Cosmos 链拆分了区块链的应用部分,并使用 ABCI 将其连接到网络(p2p)和共识。ABCI 是将区块链的应用部分连接到提供共识和网络机制的 Tendermint 状态复制引擎的接口。它的架构通常是这样宣传的:

现在,我们来看看 Celestia 的架构:

这就是 Celestia 上的早期生态的样子。Celestia将作为所有在模块化堆栈内运行的各种类型的Rollups 之间的共享共识和数据可用性层而运作。结算层的存在是为了促进它上面的各种 Rollups 之间的桥接和流动性。而你很可能也会看到主权 rollups 独立运作,没有结算层。

现在我们已经确定了不同程度的模块化,它们是如何运作的,以及它们的外观,让我们来看看像 Celestia 这样的纯模块化区块链的一些独特能力和功能。

共享安全

单片链的优势之一是共享安全,那么在模块化堆栈中,会怎样呢?

这其实很简单,Celestia 提供了区块链网络上建立共享安全所需的基本功能:数据可用性。这是因为每一个使用 Celestia 的网络层都需要将他们所有的交易数据转到数据可用性层,以证明数据确实是可用的。这意味着区块链网络可以毫不费力地连接、观察和相互操作。通过始终拥有底层 DA 层的安全性,使得硬分叉和软分叉也变得非常容易,这一点我们将在后面讨论。

同样,Celestia 允许各种类型的实验执行层同时运行,甚至不依赖结算层,同时仍然具有共享数据可用性层的优势。这意味着迭代的速度将变得更快,因为它可能会随着用户数量的增加而线性扩展。因此,我们的论点是,随着时间的推移,这将导致执行层的复合改进,因为我们不受具有单一中心的执行层的限制,因为执行和数据可用性是解耦的。模块化的无许可性质允许实验,并给开发者以选择的灵活性。

数据可用性抽样和区块验证

Celestia 的区块验证工作与目前其他区块链有很大不同,因为区块可以在次线性时间内被验证。这意味着,与成本的线性增长相比,吞吐量会随着成本的次线性增长而增加。我们通过图表能够更直观地理解:

这是有可能的,因为 Celestia 的轻客户端不验证交易,他们只检查每个区块是否达成共识,以及区块数据是否可用。

Celestia 消除了检查交易有效性的需要,因为它只检查区块是否达成共识和数据的可用性,如上图所示。

Celestia 轻节点没有下载整个区块,而是从区块中随机下载少量数据样本。如果所有的样本都是可用的,那么这就可以证明整个区块是可用的。基本上,通过对一个区块的随机数据进行采样,你可以从概率上验证该区块确实是完整的。

这意味着 Celestia 将区块验证的问题简化为数据可用性验证,我们知道如何使用数据可用性抽样以次线性成本有效地完成这一验证。

DA 证明是指当你要求正在发送的块,要进行纠删码。这意味着原来的区块数据现在被扩大了一倍,然后新的数据被编码为冗余的数据。Celestia 的纠删码将块的大小扩大了 4 倍,其中 25% 的块是原始数据,而 75% 是复制的数据。因此,要求一个行为不端的顺序器或类似的东西,如果它想进行欺诈,就必须扣留超过 75% 的块的数据。

因此,它允许轻型客户以非常高的概率检查一个区块的所有数据是否已经发布,只需下载该区块的一小部分(DA 抽样)。每一轮抽样都会降低数据不可用的概率,直到确定所有的数据都是可用的。这是非常有效的,因为不是每一个节点都下载每一个区块,而是有许多轻量级的节点下载每一个区块的一小部分,但安全保证与以前一样。这意味着,只要有足够的节点对数据的可用性进行抽样,就有可能提高吞吐量,因为抽样节点的数量在增加。你可能在日常生活中熟悉这种类型的网络(DA 证明),即使你没有使用过区块链,通过使用 BitTorrent 等协议。

可扩展性

当我们谈论可扩展性时,大多数人想到的第一个想法通常是 TPS。然而,这不应该是围绕可扩展性进行的实际讨论。当谈论专业 DA 层的可扩展性时,应该是 mb/s,而不是 TPS,这应该是需要克服的主要障碍。Mb/s 成为衡量一个链的能力的客观标准,而不是 TPS,因为交易的大小是不同的。Celestia 在这方面做得很好,因为它取消了 DA 层,并利用数据可用性采样来提高系统可以处理的 mb/s 数量。

我们的意思是,一个区块链能够处理多少交易的真正限制是基于输入和输出的。因此,通过将数据可用性与输入和输出过程解耦,Celestia 将能够产生比单片链高得多的 mb/s。

这一切都源于数据可用性的问题。也就是在一个提议的区块中,排序器或类似的人可以验证的数据数量,同时受限于底层 DA 层的数据吞吐量。现在,对于利用全节点的单片区块链,解决这个问题的正常步骤是增加全节点的硬件要求。然而,如果你这样做,全节点就会减少,网络的去中心化也会随之动摇。

因此,通过利用我们之前在区块验证部分提到的技术,我们可以在不增加节点要求的情况下提高扩展性,通过 DA 抽样使全节点等同于轻节点。这反过来又会使节点的增长导致更多的吞吐量,因为 DA 抽样会导致次线性增长,它与被添加的轻节点的数量成比例。在单片链的设计中,区块大小的增加同样会增加验证网络的成本,但在 Celestia 上,情况并非如此。

虽然,以太坊也希望通过 EIP-4844 来解决一些可扩展性问题,这将启用一种新的交易类型:blob 交易。其中将包含大量不能被 EVM 执行访问的数据,但仍然能够被以太坊访问。这样做是因为目前,以太坊上的 rollup 交易依靠微不足道的可用 calldata 来执行其交易。分片也会有帮助,但仍然相当遥远,不过若 blob 交易启用,应该能为 rollups 的每个区块提供约 16MB 的数据空间。然而,对 blob 交易空间的争夺将变得多么激烈,还有待观察。虽然,一旦你解决了其中一个可扩展性的难题,另一个可能会冒出来。因此,通过转向模块化结构,我们可以允许堆栈的不同部分专用于它们最能利用的特定资源。

分叉

在大多数情况下,当单片链发生硬分叉时,你会失去底层的安全,因为执行环境不共享相同的安全。通常硬分叉是不可行的,也是不受欢迎的,因为新的分叉不会有数据可用性和共识层的安全。当我们说你可以提交对区块链代码的修改,但你必须说服所有人同意你的修改,这也是同样的想法。以比特币为例。比特币的代码是很容易改变的,然而,让每个人都同意改变是困难的部分。如果你想硬分叉一个单片链,你还需要分叉共识层,这意味着你失去了原始链的安全性。损失的安全量取决于不验证新规范链的矿工或验证者的数量。然而,如果所有验证者都升级到同一个分叉,那么就不会失去安全性。在模块化区块链上,就不会这样,因为如果你想分叉一个结算或执行层,你仍然会有底层共识层的安全性。在这种情况下,分叉是可行的,因为执行环境都共享相同的安全。虽然,这对结算层的 rollups 来说是不可能的,因为结算层作为新增区块的信任来源。

对于执行环境来说,硬分叉是无限的,而且很容易完成,其原因是大胆的想法可以被测试和尝试。同时也使得在别人的工作基础上进行工作是可行的,而不会失去基础层的安全性。如果你考虑一下自由市场的想法(有些人可能不同意这一点),它往往可以创造出竞争性的实施方案,可以得到更好的结果。

模块化堆栈

模块化堆栈是 Celestia 独有的概念。它指的是将区块链的所有不同层解耦为独立的层。因此,当我们说堆栈时,我们指的是所有的层一起运作。

那么存在哪些层呢?毋庸置疑,有共识和数据可用性层 Celestia,但也有其他层。这里我们特指结算层,它可以是一条链,这条链上面的 rollups 有一个信任最小化的桥,用于统一的流动性和 rollups 之间的桥接。这些结算层可以是各种类型的。例如,你可以有受限制的结算层,只允许基于其之上的执行 rollups 拥有简单的桥接和解析合约。然而,你也可以有结算层,其上有自己的应用,也有 rollups。尽管也存在其他类型的滚动,它们不依赖于结算层,而是仅靠Celestia 自己的功能,这些被称为主权 rollups,我们将在下一章讨论这些。

现在,也有可能出现这样的堆栈,执行层不直接向结算层发布块数据,而是直接向 Celestia 发布。在这种情况下,执行层只是将他们的区块头发布到结算层,然后结算层会检查某个区块的所有数据是否包含在 DA 层中。这是通过结算层的一个合约完成的,该合约从 Celestia 接收交易数据的 Merkle 树。这就是我们所说的数据证明。

模块化堆栈的另一个巨大优势是其主权。在模块化堆栈中,治理可以被划分到特定的应用程序和层,不会与其他应用程序重叠。如果有问题,治理者可以在不干扰集群中的其他应用的情况下修复它。

主权 Rollups

主权 rollup(sovereign rollup) 是一个独立于任何结算层运作的 rollup。这意味着它不依赖于具有智能合约功能的结算层(提供状态更新和证明),而是纯粹通过 Celestia 上的命名空间发挥作用。通常情况下,rollups 在一个生态系统中发挥作用,比如以太坊,它有一个 rollup 智能合约(解析合约)。这个 rollup 的智能合约也在结算层和 rollup 之间提供信任最小化的桥接。然而,在以太坊上,所有的 rollup 都在争夺珍贵的 calldata。这就是为什么正在研究 EIP-4844,它将提供一个新的交易类型:blob 交易。这也会增加区块大小。然而,即使有了 blob 交易,很可能仍然会有激烈的结算竞争。

大多数单片链都有能力处理智能合约。以以太坊为例,有一个链上智能合约,处理状态根,也就是 rollup 的当前状态的 Merkle 根。这个合约不断检查之前的状态根是否符合其当前根的 rollup 批次。如果是这样的话,那么就会创建一个新的状态根。然而,在 Celestia 上,这是不可能的,因为 Celestia 不会处理智能合约。

相反,在 Celestia 上,主权 rollup 直接向 Celestia 发布他们的数据。这里的数据不会被计算或结算,而只是存储在区块头中。区块头是识别区块链上一个特定区块的东西,每个区块都是独一无二的。在这个区块头中,存在一个 Merkle 根,它是由所有的哈希交易组成的。

那么,它是如何工作的呢?Rollup 有自己的点对点网络,全节点和轻节点都从这里下载区块。然而,他们也通过 Merkle 树验证所有的 rollup 区块数据在 Celestia 上的发送和排序(因此被称为数据可用性)。因此,链的规范历史是由本地节点设定的,这些节点验证了 rollup 的交易是正确的。这其中的含义是,主权 rollup 需要在数据可用性层上发布每一个交易,这样任何节点都可以跟踪正确的状态。因此,作为 rollup 命名空间的观察者的完整节点(把命名空间看作是 rollup 的智能合约)也可以为轻节点提供安全。这是因为,在 Celestia 上,轻节点几乎等同于全节点。

我们再解释一下命名空间(namespaces)。在 Celestia 上,Merkle 树是按命名空间排序的,这使得 Celestia 上的任何 rollup 只下载与他们的链相关的数据,而忽略了其他 rollup 的数据。命名空间 Merkle 树(NMTs)使 rollup 节点能够检索他们查询的所有 rollup 数据,而无需解析整个 Celestia 或 rollup 链。此外,它们还允许验证器节点证明所有的数据都已正确地包含在 Celestia 中。

那么,为什么主权 rollup 具有独特的前景呢?因为之前的 rollup 实现,比如在以太坊上的实现是有限的,因为以太坊节点由于是包揽所有职能的,所以需要存储执行相关的状态。然而,在模块化设计中,我们可以有专门的节点用于各种目的,这应该使网络的运行成本大大降低。因此,运行网络的成本与轻节点的成本成比例,而不是完整节点的成本,因为正如我们前面解释的那样,轻节点相当于完整节点。

让我们来看看一些 rollup 实现如何作为主权 rollups 发挥作用的。首先,有必要解释一下各种 rollup 证明系统在 Celestia 上是如何运作的。

Optimistic rollups 依赖于欺诈证明。欺诈证明将通过 rollup 的全节点和轻节点在客户之间进行点对点的传播。我们将进一步研究这一点的实现。主权 rollup 改变了欺诈证明的分发方式。他们现在不是在结算层合约上进行验证,而是在 rollups 点对点网络中分发,并由本地节点进行验证。通过 Celestia 上的主权 Optimistic Rollups,我们也可能将挑战期降到最低,这意味着我们解决了当前 OR 的主要障碍之一,因为他们目前在以太坊上的争议窗口非常保守。这是可能的,因为目前,所有的欺诈互动都发生在以太坊高度竞争的区块空间中的链上,这导致了长时间的最终性。然而,在主权 rollup 上,如果连接到一个诚实的全节点,任何轻节点都具有全节点的安全性,因此欺诈交互应该更快。

ZK rollups 依赖于有效性证明(例如 zksnarks)。作为主权 rollup 的 ZK rollup 的功能与目前的实现方式相当类似。然而,它不是向智能合约发送 ZK 证明,而是在 rollup 的点对点网络中分发,供节点验证。主权 ZK rollups 很像统一结算层上的 ZK rollups,允许各种执行运行时作为主权链在彼此之上运行,因为它们的交易不被 Celestia 解释。在这里,ZK rollup 之上的运行时可以以多种方式运行。可以有隐私保护运行时、特定于应用程序的运行时等等。这就是所谓的分形扩展(Fractal Scaling)。

现在,我们已经建立了主权 rollups 的概念,并对它们将如何在 Celestia 上实现有了一个概念,让我们看看两种不同的 rollups 架构是怎样的:

那他们为什么需要 Celestia?Optimistic rollups 需要 DA,以便检测欺诈证据,而 ZK rollups 需要 DA,以便知道 rollup 链的状态。

同样重要的是,当你看到某样东西时,要始终保持逆向思维。因为如果不这样做,你经常会被自己的信念所蒙蔽。在本节中,我将尝试解释主权 rollups 带来的一些负面影响。

主权 rollups 将严重依赖于建立在它们之上的新生态(例如 dApps)。但是,如果 rollup 本身已经有一定生态,并且 dApps 是开源的,那么这样做就容易得多了。尽管如此,流动性仍然是需要克服的主要问题。流动性通常会被划分为主权 rollup 和基于其之上的运行时间两类。因此,rollups 将严重依赖于对其他层(如其他主权 rollup 或结算层)的安全、信任最小化的桥接。稍后我们将介绍一些可能的实现。此外,主权 rollups 的实现严重依赖于正在构建的能够支持其各种功能的基础设施。

Optimistic Rollup 实现

在本节中,我们将尝试解释一个可能的主权 Optimistic rollup 实现是如何工作的。

构造为 OR 提供欺诈证明的独特方式之一是在 rollup 上使用全节点和轻节点来玩一个游戏。这个游戏是在两个节点之间进行的,一个是挑战者,一个是应答者。挑战者将通过充当验证者的第三个节点向响应者发送一个查询。响应程序对该查询的应答将通过相同的通道发生。在收到质疑后,验证者会将查询转发给响应者,然后响应者会生成一个响应,该响应将被发送回验证者和挑战者。验证器将一致地执行检查,以确保两者之间没有不匹配,并且它们不是恶意的。验证者的行为是确保响应者没有发送错误的 Merkle 树,而挑战者的行为是确保响应者遵循正确的根。如果反应者能够保护自己,那么游戏将照常进行。在这场游戏中,诚实的挑战者总是会赢,而诚实的回应者总是会赢。

Celestia 充当数据可用性层,X 充当结算层

也有可能既不使用纯粹连接到 Celestia 的结算层进行桥接,也不使用主权 rollup 功能。由于 Celestia 只是为底层 DA 层提供共享安全,所以只要 Celestia 能够将可用交易数据的 Merkle 根发送到一个结算层合约,就可以使用任何结算层。这意味着,如果需要,任何结算层都可以用于 rollup。那么他们为什么要这么做?许多现有的结算层,如以太坊,已经有了一个繁荣的生态系统。因此,已经有了流动性和用户可以利用。对于不希望依赖于从头构建整个生态系统的 rollup,这是特别有利的。现在,这不仅仅局限于作为结算层的以太坊。例如,你还可以将 Mina 用作 ZK rollup。这意味着你可以将你的交易数据发送给 Celestia,同时将状态更新和 zk-proof 发送给 Mina。通过这样做,你已经拥有了一个默认证明有效性的结算层。

如果你是一个 rollup 运营方,想要利用流动性和使用其他区块链的用户,那么这种类型的解决方案对你非常有吸引力。它也可能成为一种即插即用类型的 rollup 运营方。你可以把不同的排序器插到不同的结算层上。例如,一个ZK rollup 排序器可以连接到 Mina 并提供状态更新和有效性证明。而另一个不同 ZK rollup 上的排序器可以通过 Quantum 连接到以太坊进行结算。他们的共同点是,他们会把所有的交易数据发送给 Celestia,然后 Celestia 会在结算层操作一个智能合约或类似的合约,在那里它会发送一个可用数据的 Merkle 树(认证)。

让我们以 ZK rollup为例,看看它在架构上是如何实现的:

价值捕获

Celestia 本身的收入来源将是来自各种提交的交易批次的交易费用。Celestia 的交易费用将与以太坊目前的 EIP-1559 运作方式非常相似,所以是一种销毁机制。这意味着将会有一个动态的基础费用,将被销毁,以及一个“小费”,让验证器推动特定的交易更快通过,这些验证器也会从新区块后的 token 发行中获得价值。然而,这是从 Celestia 的验证器的角度来看的,那么从用户的角度来看它会是什么样子呢?我们先了解一下,你所处的层次(L1 或者 L2)所对应的手续费,然后我们可以得出用户体验会是什么样子。

执行 rollups 的费用结构将主要是运营成本和 DA 发布成本。很可能还会有间接成本,这样 rollup 就会产生利润。这意味着,对于用户来说,你可能会支付一个包含这三个方面的费用外加一个拥堵费。不过由于拥堵减少,这个费用可能会低很多。

结算层的收入来源是 rollup 为能够结算它而支付的结算合约费。此外,通过结算层,在 rollups 之间也会有信任最小化的桥,因此它也可以收取桥接费。

那么,如果没有结算层,主权 rollups 又会怎样呢?在主权 rollup 中,用户必须支付 gas 费才能访问 rollup 的计算。这个 rollup 会设定一个费用,很可能是由治理决定的,然后你可能还需要支付拥堵费。rollup 上的这些费用将包括向 Celestia 发布数据的费用,以及 rollup 验证器的少量开销。你可以放弃结算费用,这可能会给最终用户带来极低的费用。

最后,我们可以创建一个收费结构,以了解各种费用对终端用户的影响。模块化堆栈的最终用户可能会得到 3 个固定费用,4 个也是可能的。这是 DA 发布费,结算合约费和 rollup 执行费。第四种可能的收费是在拥堵期间收取拥堵费。用户只在执行层上支付一笔费用,这笔费用将包含模块化堆栈中所有层的成本。所以让我们从用户的角度来看看收费结构是怎样的:

那么这对未来意味着什么呢?

如果 Celestia 被证明是 rollup 使用的更便宜、更快的数据可用性层,同时仍然提供去中心化和共享的安全性,那么你可以看到 rollup 越来越多地使用它来实现数据可用性。如果我们考虑一下目前的 rollup 花费多少成本来使用以太坊的安全,那么在 Celestia 上的 rollup 将花费更少。然而,以太坊的拥塞问题即将得到修复,主要是 blob 交易、质押和分片。

那 MEV 呢?目前,rollup 利用排序器在内存池中收集和排序用户的交易,然后将其执行并发布到 DA 层。这是一个关于 MEV 的问题,因为在当前的实现中排序器主要是中心化的,因此不是抗审查的。当前的解决方案是将排序器去中心化,这是当前很多 rollup 计划做的,尽管这带来了它自己的一组问题。另一种以某种形式解决这个问题的方法是将验证器和交易列表的排序分开。

综上所述,模块化堆栈的各层通过交易价值获得收益。而用户从一个网络层的交易中获得价值,并且支付手续费。

桥接

正如我们在前面讨论过的,如果一个 rollup 有一个结算层,那么它将有一个信任最小化的桥,通过这个结算层连接到其他 rollups。但是,如果是主权 rollup,或者希望桥接到另一个集群,会发生什么情况呢?让我们看看跨 rollup 通信。

在两个要进行通信的主权 rollups 的情况下,它们实际上可以使用轻客户技术,这与 IBC 的功能非常相似。轻客户端将通过 p2p 网络接收来自两个 rollup 的区块头以及 rollup 所使用的证明。这既可以通过锁和铸造机制(例如 IBC)实现,也可以通过中继器的验证者实现。通过使用 Cosmos SDK 构建链,以及那些使用 Tendermint 或 optimmint 桥接的链变得更加无缝,因为你可以完全利用 IBC 和 ICS 的优势。然而,这需要两个链包含彼此的状态机,并让桥接链的验证者注销交易。其他的沟通方式也可以存在。例如,我们可以想象第三条链,它与一些轻客户端一起工作。在上面,两个想要桥接的链可以将他们的区块头作为数据流,然后作为两个结算层的功能。或者,你可以依赖 Cosmos 链来充当“intercluster rollup hub”,其中链的验证器可以根据 rollup 的条件来操作桥接。还有各种各样的桥接即服务链,如 Axelar 等。

但是,到目前为止,促进桥接的最简单方法是执行 rollup 使用相同的结算层,因为它们在该层上有信任最小化的桥接合约。

层与层之间的桥梁之所以如此重要,是因为它允许统一的流动性。其次,通过允许协议和层通过共享状态相互组合,我们解锁了新的互操作性级别。状态共享是指一个链调用另一个链的能力。这一点特别值得关注,特别是使用 ICS-27 的链间账户的能力。

因此,我们可以得出这样的结论:轻客户端对于像 IBC 这样的互操作性标准至关重要。因此,Celestia 轻客户端将使各种集群中的链间互操作性更加安全。关于 Celestia 与 IBC 的联系,他们计划利用治理来将某些链与 Celestia 的连接列入白名单,以限制状态爆炸。

终端用户验证

虽然过去几年的各种单片和模块化设计方法都是创新的,而且建造它的人才数量也是惊人的。在各种权衡之下,有一个基本问题在我们的领域里已经存在了相当长的时间。我们认为,这个问题的核心是终端用户的验证及其需要。

你可以无休止地争论关于不同设计的各种权衡。但最终,这也许归结为一个问题:拥有终端用户验证的可能性是否重要。很多设计上的权衡(例如区块大小)都是围绕着运行一个全节点的便利性进行的,而 DAS 使轻客户端成为 '一等公民',可以与全节点相媲美。

这样想的基本假设是,用户会关心成为 '一等公民' 的问题。用户可以通过运行轻客户端/全节点轻松地验证链,但这并不意味着他们会这样做,或者他们会重视这样做的能力。

支持这种做法的论点是相当直接的。如果用户不关心验证,你还不如运行一个中心化的数据库。它总是更有效率,因为去中心化往往是以牺牲效率为代价的。因此,我们建立加密协议的原因是,终端用户能够验证计算。

反对的论点是,只要网络足够去中心化,终端用户验证本身并不重要。只要用户体验好,用户就不会关心它。终端用户验证有多重要,目前还没有明确的答案。然而,我们认为最终用户能够验证区块链网络是一个值得追逐的目标,也是许多人在这个领域构建的原因。

模块化堆栈的未来

本节将作为一种方式来设想在 Celestia 之上构建的模块化堆栈在未来可能是什么样子。我们将从架构上概述如何查看模块化堆栈,以及我们可能看到的层类型。

下面是一个可以在模块化堆栈中发挥作用的许多可能层的图表。他们都有一个共同点,他们都使用 Celestia 来获取数据。我们可能会看到各种主权 rollup,包括 OR 和 ZK Rollup,这将没有结算层的功能。我们还可能看到 rollup 使用 Cevmos 作为结算层,以及各种应用程序链。我们也有可能看到其他类型的结算层。这些结算层可能是受限制的,这意味着它们要么只是为了桥接和 rollup 而预先设置契约,要么依赖于治理到白名单合约。

在图表的右侧是其他非原生结算链,有些 rollups 也可以利用它们的流动性和结算能力,同时依赖 Celestia 向结算层提供交易数据的认证。

所有这些集群都将通过各种桥接服务连接起来。

你没有看到的是将要构建的所有基础设施,这些基础设施可以方便地访问 Celestia 的各种功能,比如 RPC 终端、APIs 等等。