区块链的不可能三角一直是业界难以跨越的障碍,众多公链项目都试图通过创新的架构设计来逾越这一鸿沟,以期成为所谓的「以太坊杀手」。然而,现实是残酷的,多年来,以太坊的霸主地位依然稳固,区块链的不可能三角仍然无法突破。那么,公链是否有办法填补不可能三角的空白呢?这正是 Mustafa Albasan 提出模块化区块链概念的初衷。
模块化区块链的概念起源于两篇白皮书。第一篇是由 Mustafa Albasan 和 Vitalik 在 2018 年共同撰写的,题为《数据可用性采样和欺诈证明》。这篇文章阐述了如何在保持安全性和去中心化的前提下解决区块链的可扩展性问题。具体方法是让轻量级客户端接收并验证来自全节点的欺诈证据,同时设计数据可用性证明系统,以减小链上容量与安全性之间的权衡。
随后在 2019 年,Mustafa Albasan 撰写了关于 Lazy Ledger 的白皮书,详细介绍了一种创新的架构。在这个架构中,区块链仅用于对交易数据进行排序和确保其可用性,而不负责执行和验证交易。这个架构旨在解决现有区块链系统的可扩展性问题。当时,他将其称为「智能合约客户端」。
智能合约通过 Celestia(第一个模块化区块链)在该客户端上的另一个执行层进行执行。随后,Rollup 的出现使这个概念变得更加明确。因为 Rollup 的逻辑是在链下执行智能合约,并将结果聚合成证明,然后上传到「客户端」的执行层。
通过对区块链架构的深入思考和新的扩展技术,他定义了一种名为「模块化区块链」的新范式。
传统的单体区块链架构通常由以下四个功能层组成:
执行层:该层主要负责处理交易和执行智能合约,包括交易的验证、执行和状态更新。
数据可用性层:在模块化区块链中,数据可用性层确保网络中的数据可被访问和验证。此层通常包括数据存储、传输和验证等功能,以保证区块链网络的透明度和信任。
共识层:此层负责节点间的协议,实现网络中数据和交易的一致性。通过特定的共识算法(例如工作证明(PoW)或权益证明(PoS))验证交易并创建新块。
结算层:此层负责完成交易的最终结算,确保资产的转移和记录永久保存在区块链上,决定区块链的最终状态。
单体区块链将这些组件集成在同一个系统中,这种高度集成的设计往往导致一些固有问题,如可扩展性差、灵活性差以及维护和更新困难等。
然而,Celestia 认为单体区块链不再需要独自承担所有任务。Web3 的未来发展将是「模块化区块链」,通过区块链模块化并将其流程划分为多个「专有层」,每个专有层处理特定的功能层,从而构建更优秀的系统。此外,这些系统应该是独立的、安全的且可扩展的。
如果将系统设计成可以拆分、更换或替换的较小部件,那么这种设计就具有模块化特性。其核心理念是专注于做好一些特定事物(部分或者单一功能层),而不是试图涵盖所有方面。Cosmos Zones、Polkadot 平行链等都是我们以往所熟悉的模块化项目的典范。
从模块化的新视角出发,单体区块链及其相关的模块化堆栈的重新设计空间将得到极大的拓展。各种具有不同特定用途和架构的模块化区块链可以组合在一起,实现协同工作,多样化的设计可能性催生了许多有趣且富有创意的项目。接下来,我们将探讨关于不同功能层的当前争议以及 Celestia 如何从模块化的角度诠释「模块化」。
如果我们将 Rollup 视为模块化执行层,会发现大多数模块化执行层项目都是建立在以太坊之上的。显然,这是因为以太坊拥有丰富的资源来作为护城河,其去中心化程度是最佳选择,然而它的可扩展性相对较差,因此在功能层面的重新设计具有巨大潜力。
通过比较最近上线的 Move 系统语言公链(APT、SUI)的惨淡表现以及以太坊上 Layer2 的空前热潮,我们可以看出区块链基础设施的叙事已经从开发公链转向了开发以太坊 Layer2。那么模块化的存在究竟是好是坏呢?以太坊为中心的执行层会扼杀公链创新吗?
首先,从执行层的角度,对现有的链进行重新分类。这里参考 Nosleepjon 的文章《Tatooine's Double Sun》来解释目前区块链的执行层分类。
目前,区块链可分为以下四类:
单线程单体区块链:这类区块链一次仅处理一笔交易。受限于其性能,许多项目已转向 Rollup 或水平扩展解决方案。代表项目包括:以太坊、Polygon、币安链和 Avalanche。
并行处理单体区块链:此类区块链能够同时处理多笔交易。代表项目有:Solana、Monad、Aptos 和 Sui。
单线程模块化区块链:这种模块化区块链一次处理一笔交易。代表项目包括:Arbitrum、Optimism、zkSync 和 Starknet。
并行处理模块化区块链:这类模块化区块链可同时处理多笔交易。代表项目有:Eclipse 和 Fuel。
关于采用哪种方法,一直以来都有很多讨论,特别是在涉及模块化与全局并行处理的概念时。此外,还有三个主要的观点阵营:
模块化阵营:模块化的拥护者(很多也是以太坊的支持者)认为,单一的区块链无法解决区块链的不可能三角问题。在以太坊上堆叠乐高积木被认为是在保持安全性和去中心化的同时实现可扩展性的唯一方法。而且,模块化具有更多的控制性和可定制性。
单体并行处理阵营:这个阵营(引用了《Monolithic vs. Modular:谁是区块链的未来?》中的 Kodi 和 espresso 观点)认为,单片并行处理的新公链架构(如 Move 系统、Solona 等)具有较高的集成度,整体性能会比模块化的碎片化设计更优,同时模块化架构并不安全,尤其是在需要大量跨链通信的情况下,黑客的攻击面更广。
中立阵营:当然,也有人持中立态度,认为两者最终可以共存。例如,Nosleepjon 认为最终的博弈是双方各有千秋,公链竞争依然存在,Rollup 也将相互竞争。
这个问题的焦点实际上可以归结为模块化方案的摩擦缺点(如跨链安全性不足、系统流程不佳等)是否超过了新公链的中心化问题。从市场争论来看,无论是 Rollup 中心化隔离器的缺点,还是跨链桥的安全隐患,都没有导致人们转向新的公链。这是因为所有这些问题似乎都有改进的空间,而新的公链无法复制以太坊链的庞大生态护城河和去中心化优势。
另一方面,新公链虽然在架构上具有性能和集成性优势,但生态上与以太坊生态过于相似,同质化程度高,流动性不足。缺乏一个专属应用能够体现出自身的架构优势,自然也没有理由让人们放弃以太坊生态。Rollup 的可塑性足够高,未来新架构的 Rollup 改进还有很大的空间。
当 Rollup 也具备非 EVM 链的大部分优点时,未来很难再出现「Solana Summer」。所以在这种情况下,我认为模块化方案的摩擦劣势小于公链中心化的问题。而中立的情况似乎并不存在,以太坊的虹吸效应将像「iPhone」一样,吸引大量注重扩展性的开发者到第 Layer2,新的公链将成为一座鬼城。
因此,在关于基础设施的未来方面,我无疑更倾向于模块化。以太坊的分类扩展将是公链博弈的终局,通用链之间的 Layer2 竞争,超级应用链之间的 Layer3 竞争。
目前一级市场融资的项目也印证了这一点。除了大量的以太坊 Layer2 项目和比特币的扩容项目之外,几乎没有新的公链。
然而,这个行业始终是建立在以太坊上发展的,目前的趋势似乎过于集中,这样的现状确实值得思考。缺乏竞争可能会阻碍一个行业的发展,这个行业需要多样性和更多的选择。如果用户体验逐渐趋于同质化,新的公链将如何创造出破局的契机,目前还看不到。当以太坊不断完善自身缺陷的同时,如何找到更大的差距来针对非 EVM 系统进行精准打击需要重点关注。
近期,业界热议从执行层转向数据可用性层(DA 层),特别是关于 Rollup 应该采用哪种数据可用性方案的问题。这场讨论起源于以太坊基金会研究员 Dankrad Feist 的一条推文,探讨了主题的各个方面。在他看来,没有以太坊 DA 的 Rollup 不属于 Layer2。因此,之前关于 Layer1 的战争是否会演变成正统(拥有以太坊 DA)Layer2 和非正统 Layer2 之间的战争呢?目前业界对于 DA 的解决方案主要有三种:
以以太坊为例,在 Rollup 中进行交易时提交给以太坊的费用主要包括以下几类:
执行费用:这是对执行交易所需计算资源的补偿。它包括执行交易所需的燃料费,通常与交易的复杂性和执行时间成正比。在 Rollup 中,执行费用可能包括链下执行交易的费用,以及生成和验证交易证明的费用。
状态费:状态费与更新以太坊主链上的状态有关。在 Rollup 中,这包括向主链提交新状态根的费用。每次 Rollup 聚合器生成新的状态根并将其提交到主链时,都会产生状态费用。该费用可能与状态更新的频率和复杂性成正比。
数据可用性费用:将数据发布到 Layer1 的费用。
在这些费用中,数据可用性费用占比最大,且成本较高。例如,Arbitrum 在今年 5 月 6 日因以太坊 GAS 费用激增,单日向以太坊支付了 376.8ETH GAS 费用。
这是因为 Rollup 以 Calldata 上传的形式将数据上传到以太坊,并永久存储这些数据,导致成本非常昂贵。然而,Rollup 的安全性和合法性是三种方案中最好的,而且该方案的成本降低目前正等待 Cancun 升级后的 EIP-4844 更新。通过引入事务格式,用 Blob 承载 Transactions,让交易格式比普通交易格式多一个 Blob 位来承载 Layer2 的数据。此外,Blob 数据在 1 个月后就会被节点删除,从而大大节省了存储空间。
Blob 的事务格式提供了比 Calldata 更便宜的数据可用性。因为一方面,Calldata 存在于 Execution Payload 中,而 Blob 数据存储在 Prysm 节点或 Lighthouse 节点(而不是 Geth)中,当合约需要读取 Calldata 时,会消耗更多的资源。另一方面,Blob 数据是短期存储,节点会在一个月后删除 Blob 数据。尽管如此,GAS 成本仍会高于后两种方案。
对于应用链类型的 Rollup(如过去的 dYdX、Immutable 等),通常采用 header Rollup 项目所引入的 Layer 2 可扩展性引擎(目前最常见的是 StarkEx,但 Zk 系列 header 项目也有类似的计划)。在 DA 模式下,由于应用链计算量较大,他们更倾向于使用 Validiums,这是一种低成本、高吞吐量的方案。
Validium 的目标是利用链下数据可用性和计算,类似于 ZK-rollup,通过发布零知识证明来验证以太坊上的链下交易。然而,与 ZK-rollup 将数据保留在链上不同,Validiums 将数据保留在链下,其成本比使用以太坊低 90%,使其成为替代方案中最具成本效益的解决方案。
但由于数据仍在链下,Validium 的实体运营商可以冻结用户的资金。为防止这种极端情况,需要再次引入数据可用性委员会 (DAC) 计划,DAC 必须通过其法定人数签署每次状态更新来确认已收到数据。这是一个有争议的做法,因为你必须首先信任实体的安全性,而非链本身。Dankrad Feist(上述 EIP-4844 的创建者)在推特上直接点名了这个方案。
从模块化的角度来看,重新设计 DA 层的方法有很多种,这可能导致各个项目的具体实现存在差异。因此,要详细描述模块化 DA 项目需要大量篇幅,其中,以 Celestia 项目为代表来阐述 DA 项目的设计。
作为首个提出模块化区块链概念的项目,Celestia 在该领域中具有极高的知名度和先驱地位。其愿景在于解决区块链可扩展性和模块化方面的问题。基于 COSMOS 架构构建的 Celestia 为开发人员提供了更大的灵活性,使他们能够轻松部署和维护区块链应用程序。同时,通过为 dApp 创作者和区块链开发者提供模块化、可扩展的区块链架构,Celestia 支持各种应用程序和服务的需求,降低了部署区块链的成本与复杂性。
解耦执行:Celestia 的逻辑在于将协议分解为不同的层,每一层关注特定的功能,从而可以重新组合以构建区块链和应用程序。Celestia 主要关注层次结构中的共识层和数据可用性层。与某些 Layer1 类似,Celestia 使用 Tendermint(一种拜占庭容错 (BFT) 共识算法)对交易进行排序。但与其他 Layer1 不同的是,Celestia 不处理交易的有效性,也不执行交易。它仅对交易进行打包排序和广播,所有交易有效性规则均由客户端的 Rollup 节点强制执行(即实现共识层和执行层的解耦)。
值得注意的一个关键点是「不推理交易有效性」。这意味着携带隐藏交易数据的恶意区块也可以发布到 Celestia。那么,验证过程应该如何实施呢?Celestia 在这里引入了两个核心技术:2D Reed-Solomon 编码和数据可用性采样(DAS)。
单体区块链的整体架构与 Celestia 的模块化架构形成鲜明对比
DAS:该方案允许轻节点验证区块数据的可用性,而无需下载整个区块。轻节点仅需一部分区块数据进行采样(具体实现依赖于 2D Reed-Solomon 编码,详见下文)。与之前提到的 Dac 不同,DAS 不依赖于可信实体的安全性;只要链足够去中心化,数据就可被信任。
2D Reed-Solomon 编码(纠删码):2D Reed-Solomon 编码的核心思想是在行和列上分别应用 Reed-Solomon 编码。这样,即使二维数据的某些行和列出现错误,也可以进行纠正。通过对区块数据进行编码,将区块数据划分为 kk 个块,排列成 kk 的矩阵,并通过多次 Reed-Solomon 编码扩展为 2k2k 的扩展矩阵。计算扩展矩阵行和列的 4k 个独立默克尔根(Merkle roots),这些默克尔根被用作批量中的区块数据承诺。
Celestia 轻节点采样 2k2k 数据块。每个轻节点在扩展矩阵中随机选择一组唯一坐标,并向全节点查询有关这些坐标和相应默克尔证明的数据块。每个接收到正确默克尔证明的数据块都将广播到网络。
抽象地说,可以将区块数据划分为方阵(例如 8x8),通过编码,在原始数据上添加额外的「校验」行和列,形成更大的方阵(例如 16x16)。通过对这个大方阵内的部分数据进行随机采样并验证其准确性,就可以确保整体数据的完整性和可用性,即使部分数据丢失或损坏,仍然可以使用校验和数据恢复整个数据。
块缩放:Celestia 实现了随轻节点数量增加而实现缩放的功能。只要网络中有足够的节点对整个区块进行采样,Celestia 就能保持安全性。这意味着随着更多节点加入网络进行采样,区块大小可以相应地增加,而无需牺牲安全性或去中心化特性。然而,在传统的单体区块链上,增加区块大小可能会牺牲去中心化,因为更大的区块大小会提高节点下载和验证数据的硬件要求。
主权 Rollup:这是 Celestia 首次提出的概念,它结合了多种区块链设计元素,包括 Layer1 区块链、rollup 以及早期比特币网络中的 Mastercoin 等。主权 Rollup 与智能合约 Rollup(如 Optimism、Arbitrum、zkSync 等)之间的主要区别在于交易验证方式。在智能合约 Rollup 中,交易由部署在以太坊上的智能合约进行验证。而在主权 Rollup 中,Rollup 节点本身负责验证交易。
主权 Rollup 将其交易发布到其他区块链(如 Celestia)以进行排序和数据可用性处理。接着,主权 Rollup 的节点对正确的链进行确认。这种设计使得主权 Rollup 能够从 DA 层继承多个安全属性,包括活跃度、安全性、重组抵抗和审查抵抗。
对于智能合约 Rollup,升级取决于结算层的智能合约。要升级 Rollup,需要修改智能合约。这可能需要多个签名来控制谁可以发起智能合约的更新。尽管团队控制升级多重签名的情况很常见,但通过治理来控制多重签名也是可行的。由于智能合约位于结算层,因此受到结算层社会共识的限制。
主权 Rollup 通过类似于 Layer 1 区块链的分叉进行升级。发布新的软件版本后,节点可以选择将其软件更新为最新版本,如果节点不同意升级,它们可以继续使用旧软件。这样的选项使得社区中运行节点的人可以决定是否接受新的更改,即使大部分节点进行了升级,也无法强制它们接受升级。这种特性使主权 Rollup 成为真正的「主权」Rollup。
量子引力桥(QGB)是 Celestia 生态系统的关键组成部分,它充当了 Celestia 和以太坊(或其他 EVM L1 链)之间的桥梁,实现了两个网络之间的数据和资产传输。通过引入 Celestium(EVM L2 Rollup)的概念,利用 Celestia 实现数据可用性,同时选择以太坊作为结算层。
这样就实现了充分利用两个网络优势,即 Celestia 的可扩展性和数据可用性,以及以太坊的安全性和去中心化特性。在 Celestia 上的验证器可以运行 QGB,使 Celestium 能够为区块数据提供强大的数据可用性保证,而成本仅为以太坊 calldata 的一小部分。
QGB 是实现 Celestia 可扩展、安全和去中心化区块链生态系统愿景的关键部分。它促进了区块链技术未来所需的互操作性。目前,该项目正在研究 Zk QGB,以进一步降低验证的 Gas 成本。
我们来说说 DA 未来有多少经济价值。
这个假设是由 Delphi 的研究员 Jon Charbonneau 提出的,基于 Polygon Hermez 的预测,即他们在 Danksharding 中最终每笔交易只需 14 个字节。根据上述 EIP-4844 规格,在 1.3 MB/s 的情况下,Layer2 可达到约 10 万 TPS,预计收入将高达惊人的 300 亿美元。
在如此巨大的利益驱使下,未来的 DA 市场竞争将异常激烈。除了三大解决方案之外,Stark 的 Layer3、zkPorter 以及其他一些模块化 DA 项目也将加入战局。因此,从现有的 Layer2 项目来看,通用链更倾向于使用以太坊 DA,而应用链和长尾链将成为「非正统 DA」的主要客户。我个人认为,模块化 DA 以及快速发展的 Layer3 将是未来的主流选择。
迈向去中心化依然是行业的主流理念,模块化区块链在本质上是对以太坊价值观的延伸,也是试图打破区块链不可能三角的尝试。尽管其设计富有多样性,但这也导致了施工的复杂性。由于模块化建设中有众多模块可供选择,而不同模块之间存在潜在的盲盒风险,如何构建更加稳定的模块化系统便成为了一个需要关注的问题。另一方面,在模块化趋势的推动下,数十个 Layer2 将进一步削减流动性,跨链通信和安全也将成为未来发展的重点。最近,比特币的模块化也成为了热门方向,其中一些方案具有一定的可行性,值得适度关注。
来源:金色财经