详解 Celestia 架构与未来的模块化世界

RainandCoffee
2022年4月15日 18:50
收藏
Celestia 正在成为模块化区块链最重要的组成部分之一。

原作者:RainandCoffee

原标题:《The Modular World

编译:Eva、胡韬,链捕手

 

前言

 

早在2019年,当我们 (Maven11) 投资 LazyLedger(现称为 Celestia)时,模块化一词还没有在区块链设计方面普及。在过去的一年里,模块化已经被polynya、大量的L2团队和人,当然还有Celestia Labs团队推广,Celestia Labs在其第一篇LazyLedger博文中创造了这一术语,与解耦共识和执行有关。

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

 

架构

 

目前,大多数正在运行的公链都是单体实体。所谓单体,指的是一条独立处理数据可用性、结算和执行的链。现在,单体链有一些变体,特别是关于以太坊上的Rollups和Avalanche上的子网,它们有模块化组件。然而,这些并不是真正意义上的模块化区块链。

让我们定义一下所说的‘模块化’是什么意思,这样就不会产生误解。当我们说模块化时,指的是通常组合的层,是解耦的事实。那么这意味着什么呢?这意味着链的三个组成部分之一是解耦的,所以要么是执行、共识或数据可用性。这意味着你可以把模块化这个词放在卷轴上,因为它们只处理执行。而以太坊处理其他一切,作为一个单一的实体。

让我们定义一下我们所说的“模块化”是什么意思,这样就不会有误解。当我们说模块化时,指的是通常组合的层是解耦的。这是什么意思?这意味着链的三个组件执行、共识、数据可用性是解耦的。这意味着你可以将术语模块化放在rollups上,因为它们只处理执行。而以太坊作为一个整体实体处理其他所有事情。

在Celestia的案例中,我们可以把模块化这个词放在它身上,因为它只处理数据可用性和共识。尽管它将结算和执行委托给其他层,这些层也是模块化的,因为它们只处理部分组件本身。这意味着就执行而言,在以太坊的情况下,我们不能称其为模块化区块链,因为组件的外包只发生在其当前的卷轴上。尽管如此,以太坊仍然能够自行处理执行,同时也允许rollups在链外批量交易。这意味着,在其目前的实施中,以太坊仍然是一个单体链。虽然,以太坊仍然是理想的结算层,同时也是最去中心化和最安全的智能合约链。

现在,你可能会说那Polkadot或Avalanche呢?在Avalanche的情况下,它不是模块化的,而只是拆分了能够处理区块链所有组件的网络。这意味着它们不是模块化扩展,而是通过水平利用其他单体链来扩展。Polkadot的平行链处理执行,类似于rollups,同时将区块发送到中继链以获得共识和数据可用性。然而,中继链仍然确保交易的有效性。

随着时间的推移,随着单体链的增长,它会导致巨大的堵塞和低效率。如果我们想让更多人加入进来,仅使用一个单一的链来达到所有目的是根本不可行的。因为它给终端用户带来极高的费用和延误。这正是我们看到越来越多的产业链决定走向拆分产业链的原因。我们都听说过传说中的Merge,它将把以太坊转移到一个Proof-of-Stake(权益证明链)链上。然而,他们也计划最终转向分片。分片是将区块链水平分割成多个部分。这些分片将纯粹地处理数据可用性。

这与rollups一起是以太坊社区计划解决其可扩展性问题的方式。现在,还有其他方法吗?当然有,我们也看到Avalanche通过Subnets走向了一个微型的模块化未来,但是,如前所述,我们不会把它归类为完全的模块化。

为了更好地理解各种“模块化”架构的功能,让我们试着把它们画出来,以便更好地了解差异。

 

架构比较

 

首先,让我们看一下现有最大的智能合约区块链以太坊。让我们看看他们目前的架构是什么样的,以及未来启用分片的架构是怎样的。

image
当前的以太坊架构(rollups)

目前,以太坊能够处理区块链的所有组件。但是,它还抵消了一些执行到L2的rollups,然后将批处理交易在以太坊上结算。未来,随着分片,架构看起来会像这样:
 image

分片后的以太坊

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

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

 image
带有子网的雪崩

子网是一组验证区块链的新验证器。每个区块链都由一个子网验证。所有 Avalanche 子网都自行处理共识、数据可用性和执行。每个子网也将有自己的gas token,由验证器指定。当前运行的子网的一个示例是 DefiKingdoms 子网,它使用 JEWEL 作为其gas token。

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

 image
Cosmos架构

现在让我们看看一旦生态系统开始建立,Celestia 的架构会是什么样子。

 image
早期的 Celestia 生态系统

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

现在我们已经建立了不同程度的模块化,它们是如何运作的,以及外观变现如何,让我们看看纯模块化区块链(如 Celestia)所能实现的一些独特能力和功能。

 

共享安全

 

单体区块链的一大优点是所有使用它的用户、应用程序和rollups,都能从底层获得安全。那么这在模块化堆栈的设置中是如何工作的呢?

这其实很简单,Celestia 提供了链上建立共享安全所需的基本功能,即数据可用性。这是因为使用 Celestia 的每一层都需要将其所有交易数据转储到数据可用性层,以证明数据确实可用。这意味着链可以毫不费力地相互连接、监视和互操作。通过始终具有底层 DA 层的安全性,使得硬分叉和软分叉变得非常容易,这一点我们将在稍后介绍。

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

 

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

 

Celestia 的区块验证工作与目前其他区块链有很大不同,因为区块可以在亚线性时间内被验证。这意味着与成本的线性增长相比,吞吐量随着成本的亚线性增长而增加。那么这在纸上看起来如何呢?让我们来看看。

 image
线性与亚线性

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

 image
Celestia上的区块验证

Celestia 无需检查交易有效性,因为它只检查区块是否具有共识和数据可用性,如上所示。

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

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

 image
数据可用性证明

数据可用性证明是指当你要求正在发送的区块被擦除编码的。这意味着原始区块数据的大小现在增加了一倍,然后新的数据会被编码成冗余数据。Celestia 的擦除编码将区块大小扩大了 4 倍,其中 25% 的块是原始数据,而 75% 是复制的数据。因此,如果它想进行欺诈,则需要行为不端的排序器或类似的程序来扣留超过 75% 的区块数据。

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

 

可扩展性

 

当我们谈论可扩展性时,大多数人首先想到的通常是每秒交易量。但是,这不应该是围绕可扩展性进行的实际讨论。在谈论专用 DA 层中的可扩展性时,它应该是 mb/s,而不是每秒交易量,这应该是需要克服的主要障碍。Mb/s 成为衡量一个链能力的客观指标,而不是 tp,因为交易规模各不相同。Celestia 在这方面表现得非常好,因为它取消了DA层,并利用数据可用性采样来提高系统可以处理的mb/s数量。

我们的意思是,一个区块链能够处理多少交易的真正限制是基于输入和输出。因此,通过将数据可用性与rollups处理的输入和输出过程解耦,Celestia 将能够比单体实体每秒产生更高的字节数。

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

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

虽然,以太坊也在寻求解决其EIP-4844的一些可扩展性问题,这将启用一种新的交易类型——blob 事务。其中将包含大量无法被 EVM 执行访问的数据,但仍然能够被以太坊访问。这样做是因为目前,以太坊上的rollups依赖于极少量的可用调用数据来执行他们的交易。分片也会有所帮助,但仍然很遥远,在发布时应该为每个区块的rollups分配大约 16MB 的数据空间。然而,对blob交易空间的争夺将变得多么激烈还有待观察。虽然,一旦你解决了其中一个可扩展性难题,另一个可能也会冒出来。因此,通过向模块化层发展,我们可以允许堆栈的各个部分专门针对他们使用最多的特定资源。

 

分叉

 

在大多数情况下,当单片链上发生硬分叉时,你会失去底层的安全性,因为执行环境不共享相同的安全性。这意味着通常硬分叉是不可行或不想要的,因为这意味着新的分叉将不具备数据可用性和共识层的安全性。当我们说你可以提交对区块链代码的更改时,这也是同样的想法,但你必须说服每个人都同意你的更改。以比特币为例。比特币的代码很容易更改,但是,让每个人都同意更改是困难的部分。如果你想硬分叉一个整体区块链,你还需要分叉共识层,这意味着你失去了原始链的安全性。损失的安全性取决于未验证新规范链的矿工或验证者的数量。但是,如果所有验证者都升级到同一个分叉,则不会丢失任何安全性。

在模块化区块链上,这是不正确的,因为如果你想分叉一个结算或执行层,你仍然拥有底层共识层的安全性。在这种情况下,分叉是可行的,因为执行环境都共享相同的安全性。虽然,这对于结算层上的rollups是不可能的,因为结算层充当添加区块的信任源。因为如果你想分叉一个结算或执行层,你仍然拥有底层共识层的安全性。在这种情况下,分叉是可行的,因为执行环境都共享相同的安全性。虽然,这对于结算层上的rollups是不可能的,因为结算层充当添加区块的信任源。因为如果你想分叉一个结算或执行层,你仍然拥有底层共识层的安全性。在这种情况下,分叉是可行的,因为执行环境都共享相同的安全性。虽然,这对于结算层上的rollups是不可能的,因为结算层充当添加块的信任源。

 image
使用 Celestia 作为 DA/共识层的硬分叉

硬分叉在执行环境中不受限制且易于完成的情况是可以测试和尝试疯狂的想法。以及使在其他人的工作之上工作变得可行,而不会失去基础层的安全性。如果你考虑自由市场的想法(有些人可能不同意这一点),它通常可以创建可以产生更好结果的竞争实施。

 

模块化堆栈

 

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

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

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

数据模块化堆栈

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

 

主权 rollup

 

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

大多数单体区块链都有能力处理智能合约。以以太坊为例,有一个链上智能合约,处理状态根(state root),也就是 rollup 当前状态的默克尔根(Merkel root)。这个合约不断检查之前的状态根是否符合其当前根的 rollup 批次。如果是,那么就会创建一个新的状态根。然而,在 Celestia 上,这是不可能的,因为 Celestia 不会处理智能合约。

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

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

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

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

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

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

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

现在我们已经建立了主权 rollup 的概念,并对它们在 Celestia 上的实现有了一个概念,以下是两个不同的 rollup 的架构。

数据Celestia 上的主权 Rollups

那么它们为什么需要 Celestia?Optimistic rollup 需要 DA,这样才能发现欺诈证明,ZK rollup 需要 DA,这样才能知道 rollup 链的状态。

当你看一个东西的时候,始终保持逆向思维也很重要。因为如果不这么做,你往往会被自己的信念所蒙蔽。在这一节中,我将尝试解释主权 rollup 的一些负面因素。

主权 rollup 将在很大程度上依赖于在其上建立的新生态系统,类似于经常吹嘘的 L1 玩法。这意味着 dApps 等。然而,如果 rollup 有一个已经有很多开发活动的虚拟机实现,并且 dApps 是开源的,那么这将变得更加容易做到。尽管如此,流动性仍然是需要克服的主要问题。流动性往往会被分割到主权 rollup 和它的运行时间。因此,rollup 将在很大程度上依赖于安全的、信任最小化的与其他层的桥接,如其他主权 rollup 或结算层。我们将在后面讨论一些可能的实现方式。此外,主权 rollup 的实施在很大程度上取决于能够支持其各种功能的基础设施的建设。

 

Optimistic Rollup 实现

 

在本节中,我们将尝试解释一个可能的主权 Optimistic Rollup 实现的运作。这一部分大量借鉴了 Ertem Nusret Tas, Dionysis Zindros, Lei Yang 和 Davis Tse 撰写的 Light Clients for Lazy Blockchains 研究论文。

构建为 OR 提供欺诈证明的独特方式之一是在 rollup 上让全节点和轻节点玩一个分割游戏。分割游戏是在两个节点之间进行的,一个是挑战者,一个是响应者。挑战者将通过作为验证者的第三个节点向响应者发送一个查询。响应者对该查询的答复将通过同一渠道进行。在收到挑战后,验证者将把查询转发给响应者,随后响应者将产生一个响应,并发回给验证者和挑战者。验证者将持续进行检查,以确保两者之间不存在不匹配,也不存在恶意行为。验证者的作用是确保响应者没有发送错误的 Merkle 树,而挑战者的作用是确保响应者遵循正确的根。如果响应者能够为自己辩护,那么游戏就会照常进行。这个分割游戏的结果是,诚实的挑战者和响应者总是会获胜。

数据Optimistic Rollups 上的分割游戏

Celestia 上的DA,X 上的结算

 

Celestia 可以既不使用纯粹与 Celestia 连接的结算层进行桥接,也可以不作为主权 rollup。因为 Celestia 只是提供了具有共享安全性的底层 DA 层,只要 Celestia 能够向结算层合约发送可用交易数据的 Merkle 根,任何结算层都可以被使用。这意味着,如果它们愿意的话,任何结算层都可以用于 rollup。那么它们为什么要这么做呢?许多现有的结算层,如以太坊,都有一个已经存在并蓬勃发展的生态系统。因此,已经有了流动性,而用户们也可以利用。这对那些不想从头开始建立整个生态系统的 rollup 来说特别有利。现在,这并不纯粹限于以太坊作为结算层。例如,你也可以利用 Mina 作为 ZK rollup。也就是说,你可以将你的交易数据发送到 Celestia,同时将状态更新和 zk 证明发送到 Mina。这样,你就已经有了一个默认的有效性证明的结算层。

如果你是一个 rollup 运营商,并想利用流动性以及其他区块链的用户,那么这种类型的解决方案对你来说是非常有吸引力的。另外,在某种程度上成为一个即插即用型的 rollup 运营商也有可能。你可以让不同的定序器插入到不同的结算层。例如,一个 ZK rollup 定序器可以连接到 Mina 并提供状态更新和有效性证明。而另一个不同的 ZK-rollup 上的定序器可以连接到以太坊,通过量子桥(传说中的 Celestiums)进行结算。它们的共同点是,它们将把所有的交易数据发送给 Celestia,然后 Celestia 将在结算层运行一个智能合约或类似的东西,发送一个可用数据的 Merkle 树(证明)。

让我们以 ZK rollup 为例,看看这在架构上会是怎样的:

数据Celestia 上的DA,X 上的结算

价值累积

 

Celestia 本身的收入来源将是来自各种 rollup 提交的交易批次的交易费。Celestia 的交易费用将与以太坊目前的 EIP-1559 的运作方式相当类似,所以是一个销毁机制。这意味着将有一个动态的基本费用被销毁,以及给验证者的“小费”,以更快地推动某项交易,这些验证者也将从新区块后的代币发行中获得价值。然而,这是从 Celestia 的验证者的角度来看的,那么从用户的角度来看会是怎样的呢?让我们先确定根据你使用的层数,各种费用会是什么样子,然后得出具体的用户体验。

执行 rollup 的收费结构将主要是运营成本 + DA 发布成本。当然,也可能会有一个管理费用,以便使 rollup 获得利润。这意味着对于用户来说,你可能会支付包含这三个方面的费用 + 一笔拥堵费 -- 由于拥堵减少,这个费用可能会低很多。

结算层的收入来源是结算合约费,由 rollup 支付以便能够在其上进行结算。此外,还将通过结算层在 rollup 之间进行信任最小化的桥接,所以结算层也将能够收取桥接费。

那么,在没有结算层的情况下运作的主权 rollup 呢?在主权 rollup 上,用户将不得不支付一笔 gas 费用来访问 rollup 上的计算。Rollup 将设置一个费用,很可能由管理部门决定,然后可能也会有一笔拥堵费,也是必须支付的。Rollup 的这些费用将涵盖向 Celestia 发布数据的费用,以及 rollup 验证者的少量开销。你将放弃结算费用,因为这给终端用户带来的费用可能很低。

所以,最后,我们可以创建一个收费结构,说明各种费用对最终用户来说是怎样的。模块化堆栈的最终用户可能会得到 3 个不变的费用,包括 DA 发布费,结算合约费和 rollup 执行费。当然,也有可能是 4 个费用,即重载期间的拥堵费。用户只需在执行层支付一笔费用,这笔费用将包含模块化堆栈中所有层的费用。因此,让我们看看从用户的角度来看,收费结构会是什么样子:

数据费用结构

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

如果 Celestia 被证明是一个更便宜且更快的数据可用性层,同时仍然提供去中心化和共享安全性,那么你可以看到越来越多的 rollup 使用它来提供数据。如果我们考虑 rollup 目前为使用以太坊的安全性而支付的费用‌,那么 Celestia 上的 rollups 支付的费用就会少很多。然而,有一些完善措施即将到来,以解决以太坊上的拥堵问题,主要是 blob 交易、质押和分片。

那么 MEV 呢?目前,Rollups 利用定序器在 mempool 中收集和排序用户的交易,然后再执行并发布到 DA 层。这是一个关于 MEV 的问题,因为在目前的实现中,定序器主要是中心化的,因此不具备抗审查能力。目前解决这个问题的方法是将定序器去中心化,目前的很多 rollup 计划都是这样做的,尽管这带来了它自己的一系列问题。另一个以某种形式解决这个问题的方法是分离验证器和交易列表的排序(如果你有兴趣的话,可以看看 Vitalik 的论文‌)。

总而言之,模块化堆栈的各层通过交易价值获得收入。用户通过在一个层上的交易获得价值,从而熟悉支付费用。因此,价值指的是用户从其交易被包含在一个层上时获得的价值。

 

桥接

 

正如我们之前所讨论的,如果 rollup 有结算层,那么它将有一个通过结算层与其他 rollup 的信任最小化的桥接。但是,如果是主权 rollup,或者它想与另一个集群建立桥接,会发生什么?让我们来看看跨 rollup 的通信。

在两个主权 rollup 想要通信的情况下,它们实际上可以利用轻客户端技术,就像 IBC 的功能一样。轻客户端将通过 P2P 网络接收来自两个 rollup 的区块头以及 rollup 所使用的证明。这既可以通过锁定和铸币机制工作,如 IBC,也可以通过中继器的验证器运作。使用 Cosmos SDK 构建的链和那些利用 Tendermint 或 Optimint 桥接的链可以变得更加无缝,因为你可以完全利用 ICS 的 IBC。然而,这需要两个链包括彼此的状态机,并让桥接链的验证者注销交易。其他的桥接方式也可以存在。

例如,我们可以设想有第三条链,它的功能是某种轻型客户端。在这条链上,想要桥接的两个链可以流转它们的区块头,然后作为两个链的结算层来运作。或者你可以依靠一个 Cosmos 链来充当“集群间 rollup 中心”,链上的验证者可以通过遵循 rollup 的条件来操作桥接。此外,还存在各种各样的桥接即服务链,例如 Axelar 等许多其他链。

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

各层之间的桥接之所以如此重要,是因为它可以实现统一的流动性。其次,通过允许协议和层通过共享状态相互组合,我们可以解锁新的互操作性水平。状态共享是指一个链对另一个链进行调用的能力。一个特别的点是,ICS-27‌ 链间账户的能力。

因此,我们可以得出结论,轻客户端在 IBC 等互操作性标准中是至关重要的。Celestia 轻客户端的结果将使各集群链之间的互操作性更加安全。关于 Celestia 与 IBC 的连接,它们正计划利用治理将某些链与 Celestia 的连接列入白名单,以限制状态的膨胀。

 

终端用户验证

 

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

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

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

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

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

 

模块化堆栈的未来

 

本节将设想建立在 Celestia 之上的模块化堆栈在未来会是什么样子。我们将探讨我们如何看待模块化堆栈的架构概述,以及我们可能会看到什么样的层。

下面是许多可能的层的图示,这些层可以在模块化堆栈中发挥作用。它们都有一个共同点,就是都在使用 Celestia 来提供数据。我们可能会看到各种主权 rollup,包括 Optimistic 和 ZK rollups,它们将在没有结算层的情况下发挥作用。我们也有可能看到 rollup 利用 Cevmos 作为结算层,同时还有各种应用链。此外,还有一种可能,也就是我们可能会看到其他类型的结算层。这些结算层可能是受限制的,这意味着它们要么预先设置了仅用于跨链桥接和 rollup 的合约,要么依靠治理来实现白名单合约。

数据模块化堆栈的未来

该图的右侧是其他非本地结算链,它们也可以设有 rollup,以利用它们进行流动性和结算,同时依靠 Celestia 向结算层提供交易数据的证明。

所有这些集群都将通过各种跨链桥接服务相互连接,包括新的和旧的桥接。

此外,你没有看到的是,未来还将建立所有的基础设施,以方便访问 Celestia 的各种功能,如 RPC 端点、API 和其他等等。

 

写在最后

 

如果你想在 Celestia 的基础上进行建设,不管是关于 rollup,还是其他类型的基础设施,请联系我们。我们很乐意与你交谈。

链捕手ChainCatcher提醒,请广大读者理性看待区块链,切实提高风险意识,警惕各类虚拟代币发行与炒作, 站内所有内容仅系市场信息或相关方观点,不构成任何形式投资建议。如发现站内内容含敏感信息,可点击 “举报”,我们会及时处理。
ChainCatcher 与创新者共建Web3世界