大多数区块链把精力都花在就一件事达成一致:发生了什么,以及发生的先后顺序。 如果没有一个可信的时钟,节点就要不断相互闲聊(gossip)直到达成一致——而这种通信正是限制吞吐量的瓶颈所在。阿纳托利·雅科文科(Anatoly Yakovenko)在2017年提出的核心赌注是:如果能在共识开始之前,就为网络赋予一种可验证的时间感,那么下游的一切都会更快。这个赌注就是历史证明(Proof of History,PoH),理解它是理解整条链架构的关键。
拨开噪音看信号:历史证明(PoH)是加密世界中最容易被误解的基础组件。它不是Solana的共识机制,而是一个时钟。只要弄清这一点,整个架构就会豁然开朗。
一段简史
雅科文科从2017年开始构思这一方案,并于2017年11月发布了历史证明(Proof of History)白皮书。首个原型的代号是「Loom」——后来为了避免与基于以太坊的Loom Network混淆,才更名为Solana(得名于圣地亚哥附近的一个海滨小镇)。Solana Labs于2018年注册成立。官方宣称的目标是要解决所谓的区块链不可能三角——吞吐量、去中心化、安全性——但事实上,早期白皮书通篇最强调的其实只有一个词:可扩展性。
历史证明——那个时钟
下面是这一机制最核心的部分。取一个SHA-256哈希值,把它的输出重新作为下一次计算的输入,如此反复——在单个CPU核心上按顺序进行数百万次。由于每一个哈希值都依赖于前一个,由此形成的链条就是一份可验证的时间流逝记录:如果没有先计算出第999,999个哈希,就不可能计算出第一百万个。把各类事件(交易)打上这条哈希流的时间戳,就能得到一份不可篡改、事后也无法否认的排序结果,说明发生了什么、大致何时发生。
这套机制的精妙之处在于其不对称性:这条链只能在单个核心上生成(它本质上是顺序执行的),却可以在成千上万个核心上并行验证——一块GPU就能一次性完成全部校验。因此验证者无需彼此闲聊来就顺序达成共识,只需读取哈希链走到了哪里即可。
有一点值得如实说明:Solana官方文档将PoH称为「可验证延迟函数(Verifiable Delay Function)」。密码学家对这一严格意义上的定义存有异议——真正的VDF必须满足验证速度在渐近意义上快于生成速度,而PoH的验证只是可并行化而已。这是一种有用的简称,但并不精确。
Tower BFT——真正的共识层
如果说PoH是时钟,那么Tower BFT就是共识层。它是PBFT(实用拜占庭容错算法,1999年提出)之上叠加**权益证明(Proof of Stake)**而成的定制变体。其巧妙之处在于:它把PoH时钟当作「共识之前」的共享时间参照,使得BFT的超时机制可以直接编码进账本,而不必在网络上实时协商。验证者只需参照PoH时间戳,而不必来回交换大量消息——这正是区块生产得以不必等待前一区块的原因。Solana官方文章的标题就直白地写着「Tower BFT:Solana对PBFT的高性能实现」。
该网络以约400毫秒一个时段(slot)运行,每位时段领导者在轮换前会连续获得四个时段(约1.6秒)。在任意时刻,都由单一领导者生成PoH序列,并基于内存(RAM)中的状态为交易排序,而验证节点则重新执行这些交易并发布签名投票。
Sealevel——Solana为何能并行执行交易
以太坊的EVM是一次执行一笔智能合约调用。而Solana的运行时Sealevel(Solana虚拟机)则不同——原因在于一个精妙的要求:每笔交易都必须预先声明它将要读取哪些账户、写入哪些账户。 掌握了这张读写地图,调度器就可以让所有可写账户互不重叠的交易在所有可用核心上同时运行。两笔互不相关、涉及不同资金池的兑换交易?可以并行。两笔争抢同一账户的交易?那就只能串行。(如今Solana在这方面已不再是孤例——Sui、Aptos、Sei和Monad同样采用了并行运行时——但正是Solana率先把「声明式访问」模型规模化落地。)
Gulf Stream与Turbine——网络管道
还有两个部件让这一吞吐量真正落地:
- Gulf Stream 彻底取消了内存池(mempool)。由于PoH能产生确定性的领导者排程(所有人提前一个epoch就知道每个时段由谁出块),客户端和验证者可以直接把交易转发给当前及接下来约2位领导者,而不必投入一个共享的待处理池中。交易携带的最近区块哈希(blockhash)有效期约为150个时段(约1分钟);过期后交易会被直接丢弃,而不是排队等待——因此在Solana上,你需要自己构建重试逻辑,同时也不存在可供抢跑(front-run)的公共内存池。(接入层已于2022年底从UDP改为QUIC,并采用按质押量加权的服务质量策略。)
- Turbine 以类似BitTorrent的方式传播区块:领导者把一个区块打散成许多小小的**「碎片(shreds)」**,沿着一棵按质押权重构建的树状网络分发下去,而不是向所有人广播整个区块。节点收到后再重新拼装。Gulf Stream负责交易流向领导者的入口,Turbine则负责区块从领导者流出的出口。
这一切都建立在单一的、整体化的全局状态之上——没有分片,也没有Rollup。Solana选择向上扩展(更快的硬件加上并行化),而不是向外扩展,换来的回报是原子级的可组合性:任何程序都能在同一笔交易里调用任何其他程序,无需跨链桥接。
诚实看待性能表现
白皮书中的数学推算给出的是在1 Gbps链路下约710,000 TPS的理论上限(1 Gbit/s除以约176字节的最小交易大小)。但这只是一个理论天花板,而非日常巡航速度——现实世界中的吞吐量大约在4,000–4,500 TPS左右。 对于社交媒体上流传的那些整数说法,应保持怀疑:诸如「50,000–80,000 TPS」「约800毫秒出块时间」以及「三分之二投票达成即可实现确定性终局」等流行说法都经不起推敲,我们在此不再复述。
伤痕与修补
这种单一状态、追求高性能的设计是有代价的:验证者需要相当硬核的硬件(多核CPU、128–256GB内存、NVMe固态硬盘、约1Gbps以上带宽),这抬高了运行验证节点的门槛,也给去中心化带来压力。Solana也曾多次停摆——2021年9月那次约17小时的中断(起因是一场机器人驱动的代币发售耗尽了系统资源)、2022年的数起事故,以及2024年2月长达数小时的停摆——每一次之后都伴随着协调一致的重启与加固措施(QUIC、按质押量加权的服务质量、运行时修复)。
有两项升级正是针对这些问题而来:
- Firedancer —— 由Jump Crypto从零打造的一套独立验证者客户端,约94%的代码用C语言写成,并借鉴了高频交易领域的并发模型。其混合形态Frankendancer已在主网测试网(mainnet-beta)上线运行;完整版客户端尚未达到生产可用状态。其意义在于客户端多样性——终结单一客户端风险,避免一个漏洞演变成全网性事件。
- Alpenglow —— 下一代共识机制(由Votor与Rotor两个组件构成),旨在取代Tower BFT的投票机制,把终局确认时间推向约150毫秒。截至2026年仍在积极测试中;值得注意的是,它同时也降低了PoH在整套技术栈中的角色份量。
总结
Solana是围绕一个核心理念层层叠加起来的一整套一致性赌注:先把时间问题解决好,吞吐量自然随之而来。 PoH为网络提供时钟;Tower BFT把这个时钟转化为共识;Sealevel让执行并行化;Gulf Stream与Turbine在没有内存池的情况下完成数据搬运;而这一切都运行在单一的全局状态之上,而非分散在多个分片里。为此付出的代价是去中心化的余量——更重的节点负担、更精简的验证者集合,以及一段真实存在的停摆历史——都是为追求速度与远低于一美分的手续费而付出的。这笔交易是否经得起时间考验,取决于Firedancer和Alpenglow能否顺利落地。但至少,这套架构绝非偶然而来。
信息来源: Solana whitepaper · Proof of History / Tower BFT · Gulf Stream · 8 Innovations (Turbine, Sealevel) · Firedancer (GitHub) · Helius — consensus · Anatoly Yakovenko / history
非财务建议。本文为自动化技术解读,文中的架构论断已尽可能对照一手资料进行对抗性事实核查。部分数据具有时效性(Firedancer与Alpenglow仍处于逐步推出阶段)——在据此做决策前,请自行核实。