第四章:L1 区块链
在前几章深入探讨了比特币、以太坊和 Solana 之后,我们现在退一步,审视更广泛的 L1 格局以及塑造所有区块链设计的根本权衡。
想象你正在构建一个去中心化交易所。以太坊提供无与伦比的安全性和流动性,但每次兑换需要 10 美元的手续费;Solana 提供仅需几美分的交易费,但流动性不如以太坊丰富,去中心化程度也不及。你该如何选择?
这个场景阐释了区块链三难困境:同时优化去中心化、安全性和可扩展性涉及固有的张力。没有任何链能逃脱这些约束。比特币(第一章)在接受有限吞吐量的前提下优先保证去中心化和安全性;Solana(第三章)推高吞吐量,但需要自然导致验证集中化的高端硬件;以太坊(第二章)走中间路线,在保持合理去中心化的同时通过引入自身复杂性的 L2 来扩容。
本章的核心论断是:每个区块链设计都涉及固有的妥协,L1 之间的竞争同样取决于流动性、开发者关注度和文化动能,而非单纯的原始技术性能。一条链每秒可以处理 10 万笔交易,但如果缺乏用户和开发者,这些交易将流向他处。理解技术架构和决定采用的市场动态,对于评估任何 L1 的长期前景都不可或缺。
第一节:采用的现实
在深入探讨共识机制和虚拟机的差异之前,我们需要厘清 L1 成功的真正决定因素。单凭技术优越性很少能决定胜者——用户采用已成为加密领域最稀缺的资源,比吞吐量基准或理论上的去中心化得分更有价值。
数十个知名 L1 在以加密原住民和散户投机者为主的有限用户群中竞争。迄今为止,实际上没有任何区块链实现了对特定类别之外应用的广泛、可持续的需求:交易(去中心化交易所)、投机(Memecoin、NFT)、稳定币、收益耕种和支付(尤其是在新兴市场)。代币化真实世界资产和去中心化物理基础设施等领域刚刚出现早期苗头,但仍处于萌芽阶段。
流动性是最终的决定因素。支持原生 USDC 和 USDT 的网络能够借助数千亿的稳定币流通量和数万亿的年度转账量;缺乏原生稳定币集成的网络则难以吸引到有意义的链上活动。中心化交易所的上线提供了决定用户实际可及性的法币入口——如果主要交易所不支持存提款,再好的技术也意义不大。
开发者关注度和文化动态同样举足轻重。正如我们在第四节检视虚拟机时将看到的,生态系统网络效应和已建立的基础设施对于采用的决定性作用,往往超过了原始技术性能。我们即将审查的技术架构运行在流动性和生态系统动能可能超越架构优雅性的市场约束之内。
明确了这些市场现实之后,让我们来审视 L1 在这些约束内必须驾驭的技术架构。
第二节:区块链架构
四个平面
每个 L1 从根本上都是四种核心功能的集合。可以把区块链想象成一家需要处理这些基本操作的餐厅:
执行是处理订单(交易)并准备菜肴(状态变更)的厨房;结算是已完成菜肴送达、客人结账(状态最终确定)的用餐区;共识是保证所有人对哪些订单先来、属于哪些桌子达成一致的管理系统;数据可用性是保存收据和记录、让任何人都能验证所发生事情的档案管理。
模块化谱系
理解了这四种功能之后,关键问题就变成了:它们应该捆绑在一起还是分离开来?区块链架构沿着一条从完全集成到完全解绑的谱系存在。在一端是处理所有四种功能(执行、共识、结算和数据可用性)于单一统一层之内的单体区块链;在另一端则是将每种功能分离到专业化的、可互操作组件中的设计。大多数现实世界的实现根据其具体目标和约束占据着谱系上的不同位置,融合了两种极端的特征。
单体设计优先考虑紧密集成。当执行、共识、结算和数据可用性都共享一条链时,大多数应用都生活在一个全局原子可组合性域中。原子可组合性意味着一笔交易可以触及许多合约,要么所有状态变更都被应用,要么全部回滚——类似"全有或全无"的保证。这使构建复杂的 DeFi 系统变得简单得多,因为一切都在同一个状态机内结算。比特币和 Solana 在架构上更靠近谱系的这一端,尽管它们在吞吐量和硬件要求方面差异悬殊。
高吞吐量的单体链需要更强大的硬件和网络基础设施——我们将在第五节研究垂直扩容方法时探讨这一权衡。
解绑方式提出了一个问题:为什么要强迫同一个节点既处理快如闪电的交易执行,又处理长期数据存储?分离的架构允许不同层次进行专门化:执行层处理交易处理,结算层提供经济最终性和纠纷解决,共识层针对快速、安全的区块生产进行优化,数据可用性层高效地存储和分发交易数据。
以太坊的演进是这种转变的典范。以 rollup 为中心的路线图将以太坊转变为 L2 处理大部分交易执行的基础层,而 L1 专注于共识、结算(验证 rollup 证明并解决纠纷)以及 rollup 交易数据的数据可用性。Rollup 针对吞吐量和成本进行优化;以太坊提供安全性和最终性。
关键设计选择
区块链在这个谱系上的位置决定了基本能力和约束。最重要的张力涉及可组合性:在单笔交易中原子性地组合协议的能力。
单体链提供本地可组合性。复杂的多步操作无缝运作,因为所有行动都在单笔原子交易中执行。如果任何步骤失败,一切都回滚,让你回到起点。闪电贷体现了这种力量:用户可以借入数百万美元,跨多个协议使用这些资金,并在单笔要么完全成功要么完全失败的交易中归还贷款,不存在部分执行(第七章深入介绍闪电贷)。
分布式架构需要跨层可组合性,跨具有不同最终性时间和信任假设的多条链协调行动。在单体链上微不足道的相同单笔交易套利,在 rollup 之间无法表达为真正的原子操作。闪电贷严格局限于一个执行环境内。跨 rollup 套利转而依赖预先存入的资金(或信用额度),并接受库存和桥接风险,同时消息或资产在不同域之间移动。跨 rollup 的原子性通常不可能实现,除非有额外的协调机制来同步跨多条链的执行,而这类机制仍在成熟中。
这种可组合性差异塑造了构建者能创造什么和他们必须如何思考应用设计。正如我们在第六节的互操作性部分将看到的,这仍然是区块链的核心挑战之一。
我们讨论的模块化谱系不仅影响可组合性,还决定了链如何在多条并行链中分配工作。
通过模块化扩容:水平方式
虽然垂直扩容推动单条链处理更多交易(在第五节介绍),水平扩容则将工作分布到多条并行链上。
分片代表经典的水平方式,就像将大型数据库划分为可以独立处理的小块。它将网络的状态和交易处理分散到多个并行分片中,每个分片由不同的验证者子集处理。以太坊的原始路线图设想了执行分片,但这种方式在很大程度上已不再受 L1 青睐——跨分片通信、验证者分配和安全保证的复杂性证明比预期更具挑战性。
以太坊转而采用以 rollup 为中心的模型:L2 提供并行性并处理大多数用户交易,而 L1 专注于结算和数据可用性。通过 blob 交易(EIP-4844,第二章有介绍)和计划中的未来升级,以太坊将 rollup 数据分布到验证者中,而不是将执行分割成单独的分片。这体现了分离的层次如何在通过定义良好的接口进行协调的同时独立优化。
专业化的替代方式
其他生态系统以不同方式追求专业化。Avalanche 通过子网架构进行扩容,多条独立的应用专属区块链并行运行,每条链都有自己从较大验证者池中选择的验证者集合。与所有链共享相同安全性的系统不同,子网独立运行,可以自定义自己的规则,包括使用哪个虚拟机、向手续费收取哪种代币,以及治理如何运作。
这种设计提供了性能隔离——一个子网上的繁重应用不会减慢或增加其他子网上应用的成本。这些链通过 Avalanche Warp Messaging(一种无需所有子网集中其安全性就能实现安全跨链消息传递的系统)相互通信。结果是由可定制区块链组成的联合体,可以通过添加更多子网进行水平扩容,而不是争夺单一共享网络上的空间。
集成与解绑设计之间的架构选择,涉及用单体链的更简单可组合性交换分离所实现的专业化优化,尽管这带来了碎片化执行环境所固有的跨层协调挑战。这些架构模式塑造了从验证者如何协调到开发者如何构建应用的方方面面。
但架构只是基础。使验证者实际上就交易排序和有效性达成一致的共识机制,决定了使这些架构可行的安全性和性能特征——这是我们接下来要转向的地方。
第三节:共识与最终性
理解区块链如何达成一致,揭示了三难困境的现实约束。不同的共识机制在去中心化(谁可以参与)、安全性(攻击成本)和性能(吞吐量和最终性速度)之间以根本不同的方式取得平衡。
工作量证明 vs. 权益证明
像比特币(第一章详述)这样的工作量证明(PoW)系统使用计算谜题来选择区块生产者。矿工竞相解决密码学难题,胜者获得提议下一个区块的权利。安全性来自获取和操作足够硬件以控制网络的巨大成本——攻击者需要超越所有诚实矿工的合并算力。
像以太坊(第二章详述)这样的权益证明(PoS)系统使用经济质押而非计算工作来选择区块生产者。验证者锁定资本作为抵押品,因诚实参与而赚取奖励,但若行为不当则面临惩没处罚。安全性来自使攻击在经济上不理性:攻击网络意味着摧毁自己的质押资本。
关键差异塑造了每个系统如何处理最终性、性能和经济安全。PoW 通过能源消耗将成本外化,产生使持续攻击代价高昂的持续运营费用;PoS 通过质押资本将成本内化,实现不同的最终性保证和更低的持续资源消耗。在了解这两种共识机制导航的根本权衡之后,我们将检视它们如何转化为不同的最终性模型。
活性 vs. 安全性
审视这些共识家族的更深视角是活性与安全性的权衡。区块链面临核心张力:无论如何都应该持续产出区块(活性),还是说如果有风险产生冲突信息就应该完全停止产出区块(安全性)?分布式系统理论中的 CAP 定理捕捉了类似的张力,它松散地适用于面临网络中断的区块链。
活性意味着网络持续进展并产出新区块;安全性意味着网络从不创建无效或冲突的区块,即便这意味着完全停止。
不同的区块链对这一平衡做出了不同的选择:
比特币选择活性。即使部分网络相互断开,该链也会持续产出区块。这可能暂时创造竞争版本的链(分叉),但网络保持存活,并在连接恢复时最终解决这些冲突。
以太坊采取平衡方式。它有一个"不活跃泄漏"功能,逐渐减少下线验证者的质押。如果足够多的验证者消失,这个机制最终让剩余的在线验证者继续产出区块,在通常优先考虑安全性的同时保持活性。
许多 BFT 链选择安全性。当验证者降至共识所需的阈值以下时,这些链完全停止,拒绝产出任何新区块,而非冒着创建冲突信息的风险。这种安全优先的立场实现了确定性最终性(我们将很快检视),为最终确定的内容提供了更强的正确性保证,但意味着网络在重大中断或协调攻击期间可能变得不可用。
两种方式都没有固有的优劣。正确的选择取决于区块链试图实现什么——金融结算层可能将安全性置于一切之上,接受停机风险;高吞吐量应用链可能优先保持可用,接受需要机制来处理临时分叉。
理解不同链如何处理这种活性/安全性平衡,有助于解释为什么共识机制产生根本不同的最终性保证。
BFT 共识家族
许多较新的链使用拜占庭容错(BFT)共识算法。这个名称来自经典计算机科学问题:当一组将军中的一些可能是传递虚假信息的叛徒时,这组将军如何协调进攻?BFT 系统通过使网络即使在某些参与者恶意行事或失败的情况下也能达成协议来解决这一问题。这些系统提供确定性最终性,在几秒内实现确认,没有任何撤销风险。
核心约束是 BFT 链将安全性置于活性之上——它们可以容忍多达三分之一的验证者出错或下线同时保持正确性。然而,如果超过三分之一的投票权下线,链完全停止,而不是冒着产生错误结果的风险。
第二个约束是可扩展性。BFT 协议要求验证者在每个区块上相互交换消息,因此随着验证者集合扩大,通信开销迅速增长。在实践中,大多数 BFT 链将其活跃验证者集合限制在几十到低百位数。想要参与但不能运行验证者的代币持有者可以将其质押委托给现有验证者,允许系统将经济权重聚合到可管理数量的参与者背后。这以一些去中心化换取了性能。
Tendermint
Tendermint 被 Cosmos 和许多应用专属链使用。验证者必须在产出每个区块之前通过多轮投票达成共识。出块时间通常在 1-7 秒之间,取决于验证者集合大小和网络条件。该系统要求至少三分之二的投票权在线才能进展。这代表了一种刻意的约束:用较慢的交易处理换取即时最终性和强安全保证。
较新的 BFT 变体
Aptos 和前 Diem 项目等链使用建立在早期设计之上的改进 BFT 共识版本。这些较新的方式通过同时处理多个共识阶段和减少验证者需要完成的消息交换数量,实现了更高的吞吐量。它们保持与早期 BFT 系统相同的安全保证和容错能力,同时提供更快的性能。代价是增加的协议复杂性。
历史证明
历史证明(PoH)代表了 Solana 独特的共识创新,将密码学计时机制与 Tower BFT 投票相结合。系统实现约 400 毫秒的乐观确认和约 12.8 秒的完全最终性。关于历史证明如何工作、其与 Gulf Stream 交易转发、Turbine 数据传播的交互以及 Alpenglow 升级的详细介绍,请参见第三章。
最终性类型及其影响
建立了这些共识机制及其活性/安全性选择之后,我们现在可以检视它们产生的三种不同类型的最终性:
概率性最终性(比特币和 PoW 链)意味着撤销随时间推移以指数级变得越来越不可能,但永远不会达到绝对零概率。可以把它想象成给保险箱添加锁:每把锁使盗窃更难,但拥有足够资源的充分积极的攻击者理论上可以突破。六次确认提供了很高的信心,但大额交易在高不确定性或网络压力时期可能等待更多确认。
经济最终性(合并后的以太坊,如第二章所述)意味着撤销需要摧毁重大经济价值,使攻击对利润驱动的攻击者在经济上不理性。以太坊的最终性机制创造了检查点,撤销这些检查点需要摧毁至少三分之一的所有质押 ETH(目前价值数百亿美元)。这使撤销不仅在计算上代价高昂,而且在经济上是灾难性的。然而,这假设攻击者是理性的——国家政府或意识形态驱动的攻击者可能接受经济损失以实现政治或战略目标。
确定性最终性(BFT 共识家族)意味着最终性在几秒内到来,并在假设少于三分之一验证者是恶意的情况下得到数学保证。一旦一个区块收到来自验证者集合的足够投票,它立即且永久地是最终的,没有任何撤销的可能。局限性通常涉及与乐观方式相比较低的吞吐量,或因在众多验证者中快速达成共识的协调要求而产生更高的集中化压力。
这些差异在整个生态系统中有着实际影响。DeFi 协议可能在比特币上等待 6-12 个区块用于高价值交易。在以太坊上,一些应用在 1-2 个区块确认时就行动以获得更好的用户体验,但真正的经济最终性要在大约 2 个纪元(当网络最终化一个检查点时约 12.8 分钟)后才到来。BFT 链在几秒内提供确定性最终性,实现不同的应用设计。跨链桥必须仔细根据这些最终性模型校准其安全参数。正如我们在第六节将看到的,概率性和确定性最终性之间的不匹配,在系统没有在源链上等待足够确认的情况下,造成了桥接漏洞。
共识机制决定安全性和最终性,但开发者通过他们实际构建应用的虚拟机环境来体验区块链。编程模型不仅塑造技术性能,还塑造生态系统增长和安全属性。
第四节:虚拟机与编程模型
一旦链建立了其共识机制,它就必须决定开发者将如何在其上构建应用。这一选择塑造生态系统增长的程度与技术性能一样大。
生态系统 vs. 创新困境
虚拟机之间的选择呈现出经典的创新者困境。构建在像 EVM 这样的成熟 VM 上意味着获得成熟的基础设施:广泛的文档、经过战斗检验的库、经验丰富的开发者、复杂的调试工具、全面的测试框架,以及具有深度专业知识的审计公司。像 Uniswap 这样的协议可以以最小的改动部署到 EVM 链上,将经过检验的 DeFi 基本元素带到各个网络。新的 DeFi 协议可以立即接入 Uniswap 流动性、Chainlink 预言机和 Aave 借贷市场。这个跨越 EVM 链的共享应用层创造了替代平台难以复制的可组合性优势(已在第二节讨论)。
替代 VM 提供了真实的技术改进:并行执行架构实现更高的吞吐量;高级类型系统通过语言设计而非开发者纪律预防整类漏洞;更高效的编译在支持多种源语言的同时产生更快的代码。
然而,这些架构改进带来了相当大的采用障碍:在较新语言中寻找和雇用经验丰富的开发者需要更长时间且成本更高;缺乏成熟工具会损害开发速度;安全审计造成瓶颈,因为很少有公司在较新语言上拥有专业知识,使评审更慢、更昂贵;较新的平台缺乏生态系统深度,迫使开发者自己构建更多基础设施或等待社区增长。
要使替代 VM 成功,它们要么必须提供如此显著更好的开发者体验,以至于克服基础设施劣势,要么必须针对其优势明显比缺失工具深度更重要的特定细分市场。
明确了这些选择标准之后,让我们检视主要的虚拟机选项以及它们如何应对这些权衡。
EVM 引力井
如第一节所述,网络效应主导着采用,EVM(第二章介绍)体现了这一动态。BNB 链、Avalanche 和 Polygon 等 EVM 兼容链可以立即继承这个生态系统。然而,EVM 的架构约束在规模上变得明显:顺序执行意味着复杂交易阻塞简单交易,Gas 价格波动造成不可预测的成本,缺乏原生并行执行限制了吞吐量。这些局限性推动了优化 EVM 实现和试图克服这些固有约束的替代虚拟机的创新。
并行执行:SVM 方式
如第三章详述,Solana 虚拟机(SVM)通过并行处理实现区块链执行。通过要求交易提前声明账户访问,SVM 实现了非冲突交易的并发执行,提高了吞吐量。其账户所有权模型通过防止许多重入攻击增强了安全性。
SVM 设计吸引了新区块链项目的关注:Solayer 和 Fogo 等网络正在 SVM 架构之上构建全新的 L1 区块链。Fogo 更进一步,试图通过一个运行专属 Firedancer 客户端和多本地共识的许可验证者集合来最大化 SVM 性能,在受控环境中探索 SVM 模型的性能潜力。
Move:通过语言设计实现安全
Aptos 和 Sui 使用的 MoveVM 通过将安全性直接构建到编程语言中采取了不同的方式。Move 将数字资产视为资源——特殊的对象,不能被复制或意外销毁,只能在账户之间移动。
Move 的线性类型防止意外复制/销毁资源,有助于通过编程错误避免整类错误,如双重支付。然而,铸币和授权策略仍然取决于模块的编写方式。资源在任何时候只能存在于一个地方,必须被明确消耗或存储。
Sui 的对象模型将一切视为具有唯一标识符的对象。交易可以在不相交的对象集上并行操作,在保持安全保证的同时实现非常高的吞吐量。触及不同对象的简单转账可以并行处理,而触及共享对象的复杂交易则通过共识协调。
WASM 和新兴 VM
WebAssembly(WASM)提供了一个编译目标,使同一区块链上的多种编程语言成为可能。这种方式提供了中间地带:比解释字节码更好的性能,同时支持多样化的语言,尽管以增加的复杂性为代价。
Cosmos 生态系统中的 CosmWasm 允许编译为 WASM 的 Rust 合约。NEAR Protocol 使用 WASM 同时保持以太坊开发者熟悉的账户模型,在性能和熟悉性之间架起桥梁。Polkadot 的 Substrate 框架使用 WASM 作为其运行时逻辑的格式。由于该运行时存储在链上并可通过治理升级,链可以通过"无分叉"运行时升级替换核心逻辑,而非协调传统的硬分叉。这种方式功能强大但复杂。
WASM 方式尚未实现 EVM 的网络效应或像 SVM 这样的专用 VM 的性能宣称,占据了为适度性能收益交换通用兼容性的中间位置。
弥合差距:Monad 的方式
一些项目旨在保持 EVM 兼容性的同时重新构想执行内部机制。Monad 通过保持完全的 EVM 字节码兼容性同时重新构想执行内部机制,展示了这种务实的应对生态系统与创新困境的路径。任何为以太坊编写的 Solidity 合约都可以无修改地部署在 Monad 上,保留对熟悉工具和经审计库的访问。
在那个兼容接口之下,Monad 通过乐观并行执行、异步 I/O 和自定义状态数据库实现 10,000+ TPS。开发者使用 Foundry 和 Remix 等熟悉工具;协议无缝移植。然而性能提升是真实的,通过从开发者体验中抽象出来的架构创新实现。
通过将开发者交互的界面与其下的执行引擎分离,Monad 表明链可以在对性能约束进行创新的同时获取兼容性优势。这种方式可能代表了比从头构建全新 VM 社区更可行的路径,至少在替代平台开发出能够证明其技术优势的基础设施深度之前是如此。
这些架构模式——从模块化选择到共识机制到虚拟机——都影响吞吐量,但原始容量仍然是核心挑战。单条链如何突破其性能限制?垂直扩容通过硬件优化、手续费市场设计和巧妙的数据管理提供了答案。
第五节:垂直扩容方式
虽然第二节探讨了模块化如何通过并行链实现水平扩容,单条链也必须决定如何最大化自身容量。垂直扩容通过硬件改进、优化的手续费市场和巧妙的数据管理使单条链更加强大。
硬件要求
运行验证者的硬件需求揭示了各区块链架构之间在可访问性与性能之间最清晰的平衡行为之一。
比特币设置了最低的准入门槛。一台配备足够存储的适当树莓派就能完整验证链,使几乎任何拥有基本计算资源的人都能广泛参与。这种民主方式有其代价:吞吐量上限约为每秒 5 笔交易,取决于交易大小。
合并后的以太坊取得了中间立场。虽然验证需要比比特币更实质性的资源(建议 32 GB 内存和 4 TB 快速固态存储,以及 32 ETH 质押),但这些要求对家庭运营者仍然可以实现。这种平衡培育了地理分布的验证者集合,在一层支持大约 20 TPS(随 Gas 使用情况和 12 秒出块时间而变化)。
如导论所述,Solana 的架构清晰地阐释了这一权衡。网络通过苛刻的规格要求优先考虑性能:高主频 CPU、256+ GB 内存、快速 NVMe 驱动器和至少 1 Gbps 的网络连接。为管理存储,验证者通常默认会修剪账本历史。换来的是网络在正常操作期间维持每秒数千笔交易。然而,这些陡峭的要求将验证权力集中在资源充足的实体中。
这个硬件谱系清晰地阐释了核心权衡:更高的性能需求提供更大的吞吐量,但缩小了潜在验证者的池子,影响当前参与和新来者的准入门槛。实践中的去中心化存在于一个谱系之中;没有清晰的"足够去中心化"门槛。务实的视角是经济上、法律上和运营上关闭网络所需的成本和协调难度。每个网络都选择了其在这条曲线上的位置。
手续费市场与资源分配
硬件要求决定了链的理论容量,但手续费市场决定了这种稀缺容量如何在竞争用户之间分配。不同的链开发了反映其底层资源约束的定价机制。
比特币率先推出了矿工直接收取费用的经典拍卖。以太坊将根据网络拥堵自动调整的协议设定基础费与用户支付的优先小费相结合。Solana 引入了具有固定基础组件和可选优先费的本地化手续费市场,反映其不同交易类型竞争不同计算资源的高吞吐量架构。
较新的网络正在走向更复杂的多市场手续费设计,使手续费与特定瓶颈和资源使用模式对齐。消耗大量计算的交易可能与需要大量存储的交易定价不同。这种从一刀切定价到细致、资源感知手续费市场的演进代表着区块链基础设施成熟以服务多样化用例。
更大的区块和更短的间隔
更大的区块是最简单的扩容方式,只是增加每个区块能容纳多少交易数据。比特币现金在 2017 年采用了这种方式,从 8 MB 区块开始,2018 年扩展到 32 MB,今天没有硬性限制,尽管区块很少超过几 MB。BNB 链通过调整其区块 Gas 限制进行扩容,目前约为 1 亿 Gas,有提案将其提高十倍至 10 亿 Gas。
更短的出块时间可以在不使每个区块变大的情况下提高吞吐量。以太坊的 12 秒时隙每分钟处理的交易多于比特币的 10 分钟区块,即使区块大小相似。但工作量证明链有个陷阱:非常短的间隔会产生更多竞争区块(称为孤块或叔块),浪费诚实的挖矿工作并降低安全性。合并后的以太坊等权益证明系统面临不同的问题:当时隙太短时,网络难以跟上,导致错过证明和错过时隙而非叔块,并使分叉选择过程更加艰难。
核心局限很简单:更大或更快的区块需要更多带宽和存储,使普通人更难参与网络。虽然流水线和并行执行等技术帮助链更高效地处理区块,但性能与可访问性之间的根本权衡依然存在。
状态增长与存储
虽然交易吞吐量获得最多关注,但状态增长构成了同样严重的可扩展性威胁。状态是所有当前区块链数据的完整快照:账户余额、智能合约变量和存储信息。与交易历史不同,状态必须保持即时可访问以供验证。
核心问题:状态只增加,从不缩减。每个新账户、合约或存储数据永久添加到状态中。随着状态从 GB 扩展到 TB,硬件要求增加,同步时间延长,运行节点变得代价高昂。若不干预,只有数据中心才能负担得起验证链,损害去中心化。
出现了三种主要方式来管理状态增长。状态租金对链上存储数据收取持续费用,产生移除不必要状态的经济压力,尽管这有破坏建立在免费永久存储假设上的应用的风险。状态过期自动删除一段时间未访问的数据(用户可以稍后通过密码学证明恢复过期状态),为状态大小设置上限但增加了相当大的复杂性。先进的数据结构也可以帮助,通过显著缩小验证状态所需的证明。以太坊正在追求一种称为 Verkle 树的方式,允许节点使用比当前方法小得多的证明来证明区块链状态的事实。这使轻量级节点能够在不存储完整状态的情况下参与,降低了运行节点的门槛。
状态管理创造了鲜明的去中心化约束:激进的解决方案(如过期)有破坏应用的风险,而不作为则允许状态膨胀逐渐将普通节点运营者排除在外。
我们已经讨论的所有扩容技术——无论是通过模块化的水平扩容还是通过硬件和优化的垂直扩容——最终都会将流动性和用户分散到各个链上。这造成了互操作性问题:我们如何重新连接这些孤立的价值孤岛?第六节检视试图解决这一挑战的桥接和跨链基础设施。
第六节:互操作性与跨链架构
一层区块链的扩散创造了一个根本性的碎片化问题。每条链针对不同优先级进行优化:以太坊优先考虑安全性和去中心化,Solana 强调速度和低成本,Cosmos 专注于应用专属主权。这种专业化吸引了特定的应用和用户,但代价高昂:流动性、用户和应用分散在无法原生通信的不兼容网络之间。
考虑一个简单的场景。你在以太坊上持有资产,但想使用 Solana 上的应用。你不能直接做到这一点。你的以太坊资产只存在于以太坊上,由以太坊的验证者验证。Solana 的验证者不知道以太坊上发生了什么,反之亦然。每个区块链都作为拥有自己共识、状态和完整性保证的孤立孤岛运作。
互操作性是对这种碎片化的解决方案,使资产和数据能够在链之间移动。然而,解决互操作性远非微不足道。当你在单一区块链内转移价值时,该网络的验证者确保一切正确。但在链之间转移时,你跨越了一个验证边界——关键问题变成:谁确保交易在双方都是有效的?
桥接成为了加密领域中价值最高的目标,重大漏洞导致的损失约达 25 亿美元。理解其安全模型对于评估跨链风险至关重要(第五章的历史托管失败部分检视了几个著名的桥接漏洞)。
桥接如何工作
把桥接想象成一种将资产从一条链的流通中移除并在另一条链上创建匹配副本的机制。为此,桥接或者将资产锁定在合约中,或者将其销毁(取决于设计),然后在目标链上创建相应的表示。
如果你想移回来,过程反向进行:目标链上的表示被销毁或锁定,原始资产在源链上被释放或重新铸造。这保持了两条链上总供应量的一致。
如果你想将 100 USDC 从以太坊移至 Solana,桥接会在以太坊的智能合约中锁定你的 100 USDC,然后在 Solana 上为你铸造 100 个"桥接 USDC"。当你想移回时,过程反向进行:你的 Solana 代币被销毁,原始 USDC 在以太坊上解锁。这在两条链上保持了一致的总供应量。
然而,这个模型优雅的简洁性掩盖了一个困难的协调问题。两条链独立运行,拥有不同的验证者、不同的共识机制和不同的最终性时间,需要一种在没有直接访问对方状态的情况下验证对方发生了什么的方式。不同的桥接设计以根本不同的方式解决这个协调挑战。
基础设施 vs. 应用
在深入研究技术解决方案之前,值得理解跨链基础设施的组织方式。跨链系统在两个不同层次运作:
消息协议在链之间提供通信渠道,处理验证,但不面向消费者(类比于网络的 HTTP)——这是实现跨链通信的基础设施。桥接应用使用这些协议为用户提供资产转移和流动性等面向用户的服务(类比于浏览器和网站)——这是用户在链间移动资产时实际交互的东西。
出现了几种消息协议,各有不同的验证方式:Cosmos 生态系统使用 IBC(链间通信),依赖于链直接验证彼此状态的密码学轻客户端验证;LayerZero 采取不同方式,使用预言机和中继器的组合在许多不同链之间验证消息;Wormhole 使用一个由受信任方证明消息的守护者网络;Chainlink 的 CCIP 在其预言机基础设施之上添加了额外的安全控制;Circle 的 CCTP 为 USDC 转账专门提供了一个消息层。
在应用端,Stargate 使用 LayerZero 进行跨链流动性转移,而 Across Protocol 使用乐观模型,第三方在结算通过挑战窗口发生的同时提供快速流动性。
理解这种分层架构有助于澄清不同桥接安全模型如何在消息协议层面运作。
核心安全问题
每个桥接设计都必须回答:谁验证 A 链上的锁定和 B 链上的铸币正确发生了?
这个问题没有完美的答案。每种方式都平衡着相互竞争的目标。一些桥接信任中介,快速简单但使人类运营者成为攻击目标;其他的进行密码学验证,以最小的信任假设提供最强的保证,但需要复杂且昂贵的基础设施,且与有限的链兼容;第三种方式默认假设有效性并允许质疑,在安全性和速度之间提供中间地带,但代价是延迟最终性和实现风险;最后,一些系统创建全新的验证者网络,提供灵活性和广泛的链支持,但引入了具有自身安全假设的额外验证层。
理解这些设计选择至关重要,因为桥接安全性决定了所有跨越该桥接的资产的安全性——无论以太坊或 Solana 的共识机制多么稳健,如果连接它们的桥接可以被攻破,这些都无济于事。
根本的桥接挑战
在检视具体的桥接设计之前,我们需要理解区块链的一个关键属性,这解释了为什么跨链验证与单链验证从根本上不同。
区块链的一个关键属性是,即使是 51% 攻击也无法使无效交易在诚实全节点眼中有效。区块生产者可以审查或重新排序交易,但他们无法创建违反链自身规则(例如,没有有效签名就花费资金)的状态转换并让诚实节点接受它。
然而,这种保护只适用于链可以原生验证的状态。当验证者开始在没有提供可验证证明的情况下证明其他链上的事件时,他们的签名就变成了一个预言机。如果一个协议说"每当三分之二或以上的验证者签署一条消息说 A 链上锁定了 100 个代币时,就在 B 链上铸造代币",那么串谋的超级多数可以就那个外部事件说谎。目标链没有密码学方式区分真相和欺诈,因为规则本身将"足够的签名"定义为真相。
这正是轻客户端和基于证明的桥接试图避免的。像 Cosmos IBC 和 NEAR 的 Rainbow Bridge 这样的系统让目标链验证源链头部或状态的密码学证明。打破这些桥接需要实际打破或破坏源链的共识,而不仅仅是让委员会说谎。以太坊自身的架构正在向这个方向演进,升级允许智能合约直接验证共识层数据,而不是信任外部证明。
换句话说,真正的风险不是"验证者谈论外部链"本身,而是当桥接或协议将验证者签名(或小型外部委员会)视为链本身无法验证的事物的权威来源时。每当我们可以使外部数据在链上可验证(通过轻客户端、ZK 证明或专用共识-执行钩子),这个额外的信任假设就消失了,我们就回到了"51% 无法使无效状态转换有效"的领域。
这种区别解释了为什么桥接是如此重大的挑战。在其原生链上,验证者即使在多数勾结的情况下也无法盗取资金,因为协议简单不会接受无效区块。但当那些相同的验证者(或独立的桥接验证者)在链之间中继信息时,原生保护不再适用——他们被要求诚实报告目标链无法独立验证的事物,创造了一种新类别的脆弱性。
桥接安全模型
桥接设计存在于从依赖人类中介到使用纯密码学证明的谱系上。
外部验证:信任中介
外部验证桥接依赖第三方观察两条链并在其间中继消息。可信/多签桥接使用一组守护者——Wormhole 以 19 个守护者和 13/19 阈值为例。像 Axelar 这样的验证者集合桥接专门为跨链消息创建专用的权益证明网络,验证者质押代币并面临不当行为的经济处罚。
权衡:构建简单,使用快速,几乎可以支持任何区块链。缺点:安全性取决于人类运营者或独立验证者集合。2022 年的 Wormhole 黑客利用了一个允许未经授权铸造约 120,000 WETH(约 3.25 亿美元)的签名验证漏洞;Ronin 桥盗窃发生在攻击者破坏足够的验证者密钥以批准欺诈性提款时。
原生验证:密码学证明
原生验证桥接通过维护链上轻客户端的密码学证明,让链直接验证彼此的状态。Cosmos 生态系统中的 IBC(链间通信)代表了黄金标准——参与链维护彼此的轻客户端并密码学验证状态变更正确发生。零知识轻客户端桥接使用 ZK 证明压缩验证来优化这一点,以显著降低的计算成本将强保证与结合在一起。
权衡:保护力与源区块链本身相当,没有额外假设。然而需要相当大的技术复杂性,链必须仔细处理最终性时间(回顾第三节关于最终性类型的讨论)。IBC 主要适用于 Cosmos 中基于 Tendermint 的链,尽管其他共识机制的扩展正在开发中。
乐观验证:默认假设有效,允许质疑
乐观桥接默认假设消息有效,但在争议窗口期间允许任何人质疑。中继者提交一条声称"A 链上锁定了 100 个代币"的桥接消息,被暂时接受但进入挑战期。监测两条链的看守者如果检测到消息无效可以提交欺诈证明。如果没有人在时间窗口内质疑,消息变为最终。Across Protocol 目前使用乐观模型,第三方中继者提供快速填充以获得快速流动性,而最终结算在使用 UMA 乐观预言机的挑战窗口之后发生。
权衡:比基于中介的桥接提供更强的保护,同时支持比原生轻客户端验证实际上能处理的更多链。假设至少有一个诚实方在监测。缺点是延迟最终性,尽管快速填充机制可以提供即时流动性。
桥接实现中的实际脆弱性
跨链基础设施引入了单链系统中不存在的攻击面。记录令人警醒:高知名度漏洞包括 Ronin 桥(验证者密钥妥协)、Poly Network(合约授权缺陷)、Wormhole(签名验证漏洞)、Nomad(使特定调用模式成为有效提款的初始化漏洞)和 Harmony Horizon(多签密钥妥协)。大多数事件并非关于"等待太少的确认",而是关于错误的信任假设、糟糕的密钥管理以及高价值代码中的实现漏洞。
实现复杂性引入了许多这些脆弱性点。保护数亿资产的桥接合约通常由数千行复杂的验证和记账逻辑组成,这些逻辑必须完美实现并随着底层链的演进保持更新。经济失配也困扰着这个行业:如果一个桥接验证者集合质押了 5000 万美元但保护着 5 亿美元的资产,攻击它在经济上可能是合理的。治理风险也很关键:可以升级桥接合约或更改验证者集合的多签密钥持有者,无论技术安全模型如何,实际上控制着所有桥接资产。
共识和最终性不匹配是更微妙的、前瞻性的风险类别。从概率最终性链(如 PoW 系统)或具有挑战窗口的 rollup 读取的桥接,必须选择在将锁定或证明视为不可逆转之前等待多长时间。太少的确认或太短的挑战期可能使用户面临重组或使先前"接受"的消息无效的欺诈证明;太多确认则损害用户体验和资本效率。即使这迄今为止并非标志性漏洞的主要原因,它也是每个稳健桥接设计必须处理的结构性约束。
新兴挑战与未来方向
即使有了改进的桥接安全,跨链基础设施面临着工程本身无法完全解决的持久挑战。
资产碎片化已变得普遍。不同链上的"相同"资产实际上并不相同。Circle 在以太坊上发行的原生 USDC 与 Wormhole 在 Solana 上包装的 USDC 承担着根本不同的风险,尽管两者在大多数钱包界面上都显示为"USDC"。构建 DeFi 应用的开发者不能简单地说"我们支持 USDC"——他们必须指定哪条链上的哪个 USDC 通过哪个桥接访问。用户必须追踪的不只是"我有 1000 USDC",而是"我在以太坊上有 500 个原生 USDC,通过 X 桥在 Arbitrum 上有 300 个桥接 USDC,通过 Y 桥在 Solana 上有 200 个包装 USDC"。每个版本的流动性、脱锚风险和提款机制都不同。
第二节讨论的可组合性局限性在链之间持续存在。在单链内无缝运作的操作,在跨多个网络时需要复杂的协调模式,包括托管、延迟执行和步骤之间的等待期。
用户体验摩擦仍然显著。桥接通常需要多个链上操作:首先批准桥接合约在 A 链上消费你的代币(Gas),然后调用桥接的锁定/销毁或存款函数(更多 Gas),等待桥接最终化和中继消息,将钱包切换到 B 链,在某些设计中还需要提交索取交易才能使代币可用。
前进之路可能涉及将零知识验证的轻客户端与经济故障证明相结合的混合模型。ZK 技术可以使原生验证在传统轻客户端方式代价高昂的地方变得实际可行。基于意图的架构可能抽象掉桥接复杂性,让用户指定所需结果,同时由求解者处理跨链路由。围绕共享流动性层和通用桥接标准的标准化可能减少碎片化。然而,这些解决方案引入了它们自己的权衡和复杂性,表明跨链基础设施将继续是积极实验而非固定共识的领域。