TL; DR

本文是我们之前研究的一篇续篇,标题为《模块化叙事中的机遇》。在那篇文章中,我们深入探讨了由以太坊和 Celestia 推动的模块化浪潮,并找出了各种机会。

然而,值得注意的是,模块化叙事不应该限制我们的视角。在过去的几年里,区块链技术取得了显著的进步,出现了单片(monolithic)和模块化(modular)区块链架构。

在本文中,我们将首先分析这两种架构方法,并将以太坊与前一个周期的其他以太坊竞争对手进行比较。令人惊讶的是,它们之间的相似之处比人们想象的更多。

接下来,我们将探讨与这两种架构方法相关的挑战和具体考虑因素,同时展望智能合约平台共生的未来。过去,区块链生态系统主要由单片区块链主导,每个新的 L1 区块链都独立运作,导致市场上出现了激烈的竞争和有限的合作;然而,我们现在处于一个链与链之间的连接和互操作性比以往任何时候都更发达的阶段。因此,我们更倾向于开放平台,无论其是模块化还是单片化。

所有区块链架构都会导向扩展

本节详细比较了以太坊和其他单片区块链之间的区别和相似之处,突出了它们在架构设计上的差异。同时,文章讨论了模块化设计与单片架构之间的区别,以及实现真正可扩展性所涉及的挑战。

尽管以太坊本身采用了模块化设计,但它还采用了分片作为实现可扩展性的手段。分片允许在多个分片之间并行处理交易和数据,从而提高吞吐量和容量。

然而,分片的实施也带来了一系列挑战,如确保数据的可用性、交易的最终性以及促进跨 Rollup 交易。克服这些挑战需要仔细考虑和创新解决方案,以成功地将分片集成到单片区块链中。分片的示例包括以太坊、Near 和 Polkadot。

ETH 2.0 与 Near

Nightshade 设计的过去

对比以太坊 2.0(ETH2.0)和 Near Protocol 主要集中在它们方法的关键差异上。以太坊的方法涉及以 Rollup 为中心的分片,其中执行层和数据可用性层被解耦。这利用了底层的 L1 来提供安全性,并通过 Rollup 实现可扩展性。

而 Near 则决定从一开始就构建一个分片网络,充分考虑数据分片和执行分片在其内置架构中的存在。这是第一个关键差异。以太坊的 Rollup 中心方法设计相对简单,但仍需要数据可用性分片(Danksharding),以使 L2 能够高效运作。

下面清楚地解释了第二个关键区别。与常见的信标链(beacon chain)和中继链(relayer chain)相比,Near 选择了不同的分片解决方案。Near 本身分为不同的分片,每个分片负责作为区块的一部分生成和存储区块。

所谓的「Nightshade」设计使得在分片之间实现无缝的智能合约读写成为可能,尽管这对开发人员提出了更高的门槛。对于用户来说,他们甚至不会意识到他们与之交互的分片。

在上一篇文章的模块化叙事中,我们讨论了对可组合性和互操作性问题的解决方案。然而,对于 Near 来说,这不是问题,因为其内置分片本质上允许跨分片交易,类似于 L2 中的跨 Rollup 交易。

Nightshade 的路线图包括以下几个阶段:

第 0 阶段:简单的 Nightshade,只有一个分片;

第 1 阶段:Chunk-only 生产者(编者注:指全权负责在一个分片(网络上的一个分区)中生成块)的生产者);

第 2 阶段:完整的 Nightshade,其中没有验证器跟踪所有分片;

第 3 阶段:根据负载动态调整分片数量。

在进展方面,Near 目前处于第 1 阶段和第 2 阶段之间。去年引入的 Chunk-only 生产者只能跟踪一个分片的状态。然而,仍然有全节点验证器负责维护全局状态。

进行中的 Starsight:以 ZK 为中心的分片

虽然 Near 在分片设计方面处于领先地位,但它也从以太坊的革命中吸取了很多经验。为了实现第 2 阶段的目标,任何验证者都不应跟踪所有分片。相反,"fisherman(渔夫)"充当安全卫士,监控状态并在挑战中生成欺诈证据。其核心设计与 Optimistic Rollup 非常相似,但要完全实现它是复杂的。

这就是为什么许多协议正在放弃这种解决方案。例如,Optimism 已经转向 zk 解决方案,Arbitrum 不允许提交未经许可的欺诈证明。显然,zkRollups 是以太坊的未来。我们还可以在 Near 的新分片设计中看到 zkRollups 的影响。

无状态验证

如果有一种更好的解决方案来消除游戏背后的挑战怎么办?这就是 Near 引入无状态验证的地方。无状态验证生成状态验证,无需将状态交给其他分片。有了状态见证人,就不再需要「fisherman」或欺诈证明了。

在无状态验证的设置中,有两种类型的验证器。之前的全节点验证器现在被更改为无状态验证器,而块提议者保持不变。块提议者负责生成块和状态见证人,他们需要在本地维护分片的状态。

另一方面,无状态验证器接收状态见证人,以验证每个块的状态转换。通过引入验证器轮换,几乎不可能让验证器损坏一个分片。

引入无状态验证带来了许多好处。运行无状态验证器的成本比以前低得多,可以让更多的验证器加入共识。这提高了整个网络的去中心化程度。对于块提议者来说,随着添加更多的分片,每个分片的状态将会更小。由于区块链的瓶颈主要是状态读写,如果状态完全保存在内存中,单个分片的性能可以得到显著提高。

零知识证明的魔力

在零知识证明(ZKP)出现之前,状态见证人传统上在 MPT 中被使用。然而,随着 ZKP 的成熟和最新发展,包括 Near 在内的许多协议已经积极接受了这一过渡。ZKP 以其提供的简洁性和隐私特性脱颖而出,显著降低了状态转换验证的成本。除了其压缩数据外,ZKP 体积小且易于验证。通过利用递归证明,可以集体验证所有分片的状态。

分片的状态转换证明包括三个基本要素:确保块哈希的正确性,确认执行过程中使用的状态的准确性,以及验证运行时执行。目前,仍存在一个挑战——尽管过去一年取得了显著进展,但生成证明的时间仍超出预期。

随着对证明系统和工程能力的持续增强,预计这种情况将进一步发展。这也是为什么 Near 与 Polygon 合作共同构建 zkWASM 的原因。

为了维持当前的快速确定性而不影响用户体验,Near 进行了模块化调整。Starsight 已将共识和执行解耦,使共识能够独立运行,决定哪些交易将被包含在一个块中。远程过程调用(RPC)提供了乐观的终结性。一旦特定状态转换的证明生成完成,它就被提交到一个块中,随后验证者验证证明的有效性。

该证明充当新状态根和新的传出收据根的确认。在这种情况下,零知识证明的功能类似于状态见证人。然而,ZKP 只能由共识来确认或拒绝,消除了验证器轮换的需要。ZKP 通过数学保证正确性和安全性,其运行方式与继承以太坊安全特性的 Rollup 非常相似。

模块化设计在单体链中可以提供额外的好处。Starsight 的灵活性在于它不仅适用于现有的 Near WASM 运行时,还适用于任何可以为状态转换生成 zk 证明的运行时,比如 EVM 和 Move。

ETH 2.0 与 Polkadot

相同的设计哲学

以太坊 2.0 和 Polkadot 之间的相似之处超出了最初的预期,Gavin Wood 实施的共同性强调了这一证实。有人甚至提出 Polkadot 代表了 ETH 2.0 的最终目标,尽管这并不完全准确,但这个类比捕捉到了一个基本的真相。

从我们的角度来看,Polkadot 在工程实现上展现出更高水平的成熟度。在没有零知识证明之前,以太坊以 Rollup 为中心的架构与 Polkadot 的设计紧密结合。直接的术语比较可以显示出它们在最终目标上的惊人相似之处。

信标链与中继链

信标链作为协调层,强调以 rollup 为中心的方式中的数据可用性;中继链负责消息中继和维护平行链的数据,共享安全性源自中继链,以太坊定位自己是在继承安全性。

Rollup 与平行链

平行链负责执行交易,在中继链上发布数据,并定制自己的状态转换;Rollup 在 L1 之外执行交易,然后将数据发布到 L1 并达成共识的实现。

一致的设计理念显而易见:保持基础层简单、维护数据可用性、协调信息,并利用上层来充分增强功能和可扩展性。

不同的策略和周期导致不同的结果

尽管共享相同的设计理念并朝着共同的目标迈进,但这两个区块链的当前状态差异巨大。根据 Etherscan 和 Subscan 的统计数据,以太坊的日交易量超过 100 万,而 Polkadot 最近几天仅有 12,000。至于每日活跃账户,我们在以太坊上看到的数据是 395,000,而在 Polkadot 上则为 8,000。

它们当前状态的差异主要归因于它们各自的策略。Polkadot 追求实现终极架构,故意放弃了智能合约功能。开发者需要构建「pallets」,即应用链模块,这对许多人来说是一个沉重的负担。激进的策略与卡槽拍卖(slot auction)的高门槛相结合,导致生态系统缺乏足够的活力来抵消这些挑战。

与之相对的是,以太坊优先考虑市场,旨在迎合市场需求。它相应地调整其路线图,采取循序渐进的方式前进。

虽然我们不会深入探讨以太坊繁荣和 Polkadot 衰退的具体原因,但 ETH 2.0 与 Polkadot 之间的比较为我们提供了有关区块链架构未来以及开放、协作生态系统潜力的有价值的见解。

卓越的抽象概念和标准

尽管它目前面临挑战,但 Polkadot 拥有许多值得探索和借鉴的先进设计。

来自 Polkadot 生态系统的杰出贡献是子状态框架(substate framework),为应用链提供了卓越的抽象概念。该框架使项目方能够轻松启动自己的链。在 Polkadot 生态系统之外,我们观察到在 Substrate 上构建的许多活跃链,包括 Polygon Avail 和 Starknet Madara 等项目,更不用说众多的独立链。

虽然对智能合约开发者来说,「pallets」可能构成技术负担,但它们为协议开发者提供了强大的抽象工具。这些「pallets」可以在所有 Substrate 链上重复使用,有助于促进社区共识和标准化工作。这个特性允许为特定应用进行专业化和优化。

当前,资源即服务 (RaaS) 的趋势,如 OP stack 和 Polygon CDK,展示了一定程度的抽象。然而,与 Substrate 相比,这些类似开源存储库的倡议仍然不够全面。随着 RaaS 的发展,我们可以预期在定制和链模块的可用性方面会有更大的提升。

Polkadot 的第二个显著特征是 Cross-Consensus Message Passing (XCMP,跨共识消息传递),这是一种消息协议,使得平行链能够在不通过中继链的情况下交换任意消息。这意味着智能合约可以在同一平行链内以及不同平行链之间无缝调用彼此。

相比之下,在与以太坊上的不同 Rollups 进行交互时,需要进行资产桥接和网络切换。这个过程带来了流动性分散和互操作性破坏等挑战。为解决这些问题,我们主张以太坊基金会在标准制定中发挥领导作用,并积极推广这些标准在各个 Rollup 中的应用。这种做法,将对以太坊及其相关生态系统未来更加无缝和互操作的发展产生显著贡献。

Polkadot 的最后一个重要进展是实现了一个链上治理模块,有效地将 Polkadot 转变为真正的元协议。该模块赋予利益相关者直接在链上投票的权力,决定链升级的命运。一旦达到预定的门槛,链将自主执行运行时升级。这代表了与当今以太坊主要的社会共识机制相当大的一种改变。

需要解决的挑战

上述比较表明,虽然存在细微差别,但智能合约平台的本质仍然基本一致。因此,单体区块链和模块化区块链都面临着某些挑战。

在本节中,我们将探讨整个智能合约平台面临的两个常见挑战,然后再深入研究与模块化链相关的具体问题。

关键创新困境

智能合约平台面临的主要挑战之一,是建立一个竞争且创新的环境。EVM 兼容的 L1 解决方案的普及已经变得有些单调,即使 Vitalik Buterin 也根据其兼容性对它们进行了分类。

在承认突破性的 EVM 和 Solidity 的历史意义的同时,认识到技术随着时间的推移而发展也至关重要。坚持 EVM 的合法性和传统性质可能会限制进步,特别是面对以太坊的区块限制。

对不同架构、虚拟机(VM)和智能合约语言的兴奋感源于摆脱 EVM 限制的愿望。在这些方面的多样性吸引了喜欢使用不同编程语言和智能合约功能的开发人员和用户。例如,在初级市场上,Move VM(Aptos、Sui)和 Cario VM(Starknet)由于带来创新和可能性的期望而获得了高估值。

在押注下一个创新平台时,必须承认 EVM 市场份额的主导地位。但随着市场的成熟,它往往会陷入双头垄断的格局,如 Android & iOS 和 Windows & Mac 等例子。

WASM 是 EVM 的强大竞争对手,其中 Solana 是最大的参与者。尽管受到批评,但 Solana 的关键创新,例如历史证明 (POH) 时钟、Optimistic 并发控制 (OCC) 和无内存池交易转发协议,都使其与其他协议区分开来,并打破了传统的区块设计限制。

如何建立广泛共识

这里提到的共识超越了狭隘的技术层面,涉及到广泛的社会共识领域。

从共识的角度来看,许多 L1 和 L2 选择 EVM 兼容性是可以理解的。这种选择为它们提供了最简单的接入以太坊生态系统的途径。然而,随着 EVM 链和 Rollup 数量的增加,递减的边际效用往往会吸引短暂和不忠实的开发人员和用户,他们可能在收到空投后迅速离开。

除了 EVM 兼容性之外,通过重新抵押建立共识,还提供了另一种吸引现有社区参与的引人注目的叙事。从零开始构建变得越来越复杂,强调了选择正确的重新抵押资产的重要性。一个微妙但关键的一点是,假设所有模块化层都使用 L1 安全衍生品(LSD)来确保安全性,单体区块链和模块化块区块链之间的区别就会减小。

此外,一些协议将其影响扩展到更广泛的 Web2 用户群体,特别是在游戏领域。尽管这种方法是有效的,但它需要强大的业务拓展工作。许多传统参与者更喜欢扩大用户群,以此作为在不断变化的环境中达成共识的一种手段。

模块化链的具体问题

尽管模块化区块链在连接的链或模块之间有效地分配工作负载,但解决特定挑战对于实现真正的可扩展性至关重要。模块化链的关键关切包括碎片化、脆弱性、跨 Rollup 执行和中心化。

1. 碎片化:碎片化源于不同层之间的激烈竞争。尽管当前的竞争对手可能不会立即合作,但全能协议和账户抽象的演进,预计将为用户提供在各种产品之间无缝体验;

2. 脆弱性:脆弱性源于不同层之间不同的安全性假设。在模块化区块链中,每个模块都是独立运作的,引入了潜在的脆弱性。当特定层遇到问题时,它可能会影响其他集成的层——这是朝向模块化的过程中固有的权衡;

3. 跨 Rollup 执行:在模块化区块链中,跨 Rollup 执行对于实现模块化区块链互操作性至关重要。标准化协议的缺乏阻碍了不同模块之间的无缝集成。此外,异步执行(asynchronous execution)问题,即在分片中固有的问题必须解决,以实现模块化区块链的真正可扩展性;

4. 中心化:尽管 Rollup 的去中心化可能不像 L1 的去中心化那样关键,但它仍然是一个重要的安全问题。去中心化对于确保活力、抗审查和避免垄断优势是必要的。协议正在积极致力于通过分片排序器、抽象样板代码以及仅向链开发人员公开业务逻辑等解决方案来解决这些问题。采用这些解决方案可能有助于解决跨 Rollup 执行问题。

合作与包容的未来

通过审视上述两个部分,清晰地看出模块化和单体化区块链代表了不同时代的产物,在不可能三角中体现了权衡,并反映了不同的哲学选择。

多年来,加密领域一直陷入单体化区块链的循环中,每个新的 L1 都在构建一个封闭系统,促使激烈的零和竞争。这种环境通常导致极端主义,因为各平台都在争夺其生态系统中的用户。

模块化区块链的出现引入了一种合作与包容的方法,强调不同链之间的协作和互连——这对整个行业来说都是一种积极的发展。合作方法允许模块无缝地协同工作,增强整体功能和用户体验。

此外,模块化区块链的合作性质促进了创新和专业模块的发展。不同链之间的协作和资源共享使开发人员能够专注于特定领域的专业知识,从而产生量身定制的高质量模块,适用于特定的用例。此外,单体链的突破可以解耦并依次合并到模块化层中。

至关重要的是,不要将模块化区块链和单体区块链视为对抗性的,而应该视为互补的。它们互相学习彼此的优势和劣势,共同发展。它们之间的界限可能并不明显,因为模块化链可以作为单体链的中间件,而单体链可以作为模块化链的特定层。

与其专注于范畴上的区别,重点应该转向培育一个开放的网络,接纳关键创新,并建立广泛的共识。

「原文链接」