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
















No Comments