Solana 共识机制:PoH、Tower BFT、PoS
How Solana's hybrid consensus mechanism works: Proof of History, Tower BFT, and Proof of Stake combined for 65,000 TPS throughput and sub-second final...
准确性说明:网络性能、验证者数量、费用、协议功能、钱包支持和第三方集成会随着时间变化。请将过时的数字视为历史快照,并核实当前的原始文档。
Solana 共识机制结合了历史证明用于时间排序,Tower BFT 用于权益加权投票,以及权益证明用于验证者参与和激励。
核心摘要: Solana 使用历史证明进行时间排序,Tower BFT 进行权益加权投票和分叉选择,以及权益证明进行验证者参与和激励。吞吐量和确认取决于完整运行时间、网络状况、交易组合以及衡量的承诺水平。
目录
- 什么是 Solana 共识机制?
- Solana 旨在解决的问题
- 历史证明:Solana 的加密时钟详解
- Tower BFT:验证者如何达成一致
- 历史证明、Tower BFT 和权益证明如何协同工作
- Solana 交易如何达成最终性:分步详解
- Solana 性能:速度、吞吐量和最终性
- Solana 共识与以太坊、Avalanche、Cardano 和 Polkadot 对比
- Solana 共识模型的优势与局限性
- 如何参与:在 Solana 上进行质押和验证
- 常见问题解答
- 关键要点
Solana 的设计旨在实现高吞吐量、低延迟的执行,而其停机历史和验证者要求引发了关于可靠性和去中心化的重要问题。这些权衡是理解共识机制的核心。
Solana 于 2020 年 3 月启动了主网 Beta 版,并因每秒处理数千笔交易且每笔交易费用仅为几美分而迅速引起关注。基于 Solana 构建的 DeFi 协议和 NFT 市场依赖于这种吞吐量;正是这种吞吐量使得链上进行实时交易、大规模 NFT 铸造和微支付成为可能。但缺乏可靠性的速度不是任何人应该建立的基础,而 2021 年至 2023 年间发生的几次备受瞩目的停机事件引发了关于该协议架构是否健全的合理疑问。
本文坦诚地解释了该机制:它是如何运作的,为什么它速度快,为什么网络曾停止运行,以及这些权衡对于任何将 Solana 作为投资者、开发者或参与者进行评估的人意味着什么。
什么是 Solana 共识机制?
Solana 使用一种结合了三种组件的混合共识系统:历史证明(PoH)、Tower BFT 和权益证明(PoS)。历史证明充当加密时钟,在验证者通信之前为交易添加时间戳。Tower BFT 是拜占庭容错共识算法,它利用 PoH 作为共享时钟来达成共识。权益证明决定了哪些验证者参与,并根据其质押的 SOL 来加权他们的投票。
这三个组件不是同一个事物的可互换名称。它们在 Solana 如何在其区块链(记录网络上所有交易的分布式账本)上生成和确认区块方面各自发挥着独特的作用。
高层次上,该系统是这样运作的:
- 历史证明生成一个所有网络验证者共享的连续、可验证的时间记录。
- 验证者(生成和验证区块的网络参与者)根据他们质押的 SOL 数量被分配到特定的时间槽。
- 每个时间槽的指定领导者验证者利用 PoH 时间线为交易添加时间戳并将它们组装成区块。
- 所有其他验证者验证该区块并投下基于权益加权的 Tower BFT 投票;当超过三分之二的质押 SOL 确认该区块时,该区块即达成最终性。
常见误解: Solana 不是工作量证明(PoW)区块链(没有计算谜题解决或能源密集型计算)。简单地称 Solana 为“权益证明区块链”技术上是准确的,但不完整。它忽略了 PoH 和 Tower BFT,它们在 Solana 如何达成共识方面同样至关重要。完整而准确的描述是:Solana 使用结合了 PoH、Tower BFT 和 PoS 的混合系统。
Solana 旨在解决的问题
每个区块链共识机制都面临着相同的基本挑战:地理上分散的数千台计算机如何在不互相信任的情况下就交易顺序达成一致?
区块链可扩展性三难困境,一个由以太坊联合创始人 Vitalik Buterin 推广的框架,描述了为什么这很困难。该三难困境指出,一个区块链实际上只能同时实现三个属性中的最多两个:去中心化、安全性和可扩展性。比特币,最初的区块链,优先考虑去中心化和安全性。结果是该网络大约每秒处理 7 笔交易,区块时间为 10 分钟,这些特性是安全的且广泛分布的,但使得比特币对于高频应用不切实际。早期的以太坊在升级路径之前也面临类似的限制。
使扩展困难的特定瓶颈是网络延迟。在传统的区块链共识中,验证者必须发送带时间戳的消息给彼此,以就交易顺序达成一致。这种节点间通信开销限制了任何网络能够达成一致的速度。无论单个计算机处理数据的速度有多快,它们仍然需要等待消息跨越全球传输,并等待所有参与者确认他们收到的内容。
Anatoly Yakovenko,一位曾在高通公司工作、职业生涯致力于分布式系统和硬件层面时钟同步的工程师,将这种时间戳通信问题确定为根本瓶颈。他的关键见解是:如果验证者能够共享一个所有人都信任的、可加密验证的时钟,而无需彼此通信时间戳,那么共识过程可以大大加快。11 月 2017 年,Yakovenko 发表了 Solana:高性能区块链的新架构,),概述了后来的历史证明。他与 Greg Fitzgerald 和 Raj Gokal 共同创立了 Solana Labs(Solana 协议背后的盈利性开发公司),三人于 2020 年 3 月推出了主网 Beta 版。
Solana 的设计理念是,通过结合新颖的加密方法(PoH)和现代硬件功能,可以显著减小(而非消除)区块链可扩展性三难困境,从而同时提高所有三个指标。这种减小是否以牺牲去中心化为代价,是本文证据直接解决的问题。
历史证明:Solana 的加密时钟详解
历史证明(PoH)是一种加密计时机制,可创建可验证、防篡改的记录,表明Solana网络上每个事件发生的时间。通过为所有验证者提供一个无需交换消息即可信任的共享时钟,PoH使Solana的实际共识算法Tower BFT能够以比任何标准区块链共识系统少得多的通信回合来运行。
PoH并非一种共识机制。它是使Solana的共识机制成为可能的时间钟。
历史证明解决了什么问题?
在一个没有中心化权威的分布式网络中,验证者不能简单地同意使用挂钟。每个节点都在不同的硬件上运行,位于不同的时区,并且时钟会漂移。更重要的是,恶意的验证者可以伪造时间戳来操纵交易顺序。传统的区块链网络通过让验证者互相发送带时间戳的消息,并通过多个通信回合达成一致来解决此问题。每个额外的通信回合都会增加延迟。
PoH通过创建一个所有验证者都可以独立验证的共享时间线来消除这种延迟,而无需任何节点间通信来确定事件发生的时间。
历史证明如何工作:哈希链
将PoH想象成一个在网络上连续运行的加密秒表。秒表的每一次滴答都会产生一个独特、可验证的输出。由于每个输出都是从前一个输出生成的,因此任何人都可以验证整个序列,并确认在任意两个点之间经过了特定数量的时间,而无需信任时钟的所有者。
技术机制工作原理如下:
- Solana PoH生成器从一个初始哈希值开始。
- 它对该值运行SHA-256加密哈希函数,生成一个新的256位输出。
- 它立即将该输出作为下一个SHA-256操作的输入。
- 链中的每个哈希都与计数器一起记录,创建了一个可验证的序列,证明实际的计算时间已经过去。
- 交易被插入到哈希链的特定位置,将它们永久地 against 可验证序列打上时间戳,而无需任何验证者与其他任何人通信。
结果是关于每笔交易何时进入队列的公共记录。任何人都可以验证链条的完整性。无人能够伪造其生成所需的时间。
通俗易懂的解释: PoH就像一个加密秒表,在验证者需要通信之前就为每个事件打上时间戳。它是关于每笔交易何时进入队列的公共记录,任何人都可以验证,但无人可以篡改。
技术深度解析: SHA-256是一种单向加密哈希函数:正向计算速度快,逆向工程在计算上不可行。SHA-256输出的顺序链接赋予了PoH其“可验证延迟”特性:链条的生成需要真实的时间(顺序计算不能并行化),但任何检查每个哈希是否与前一个哈希相符的观察者都可以非常快速地并行验证。这在功能上类似于可验证延迟函数(VDF),一种需要最少顺序计算才能生成但可以快速验证的加密构造。SHA-256在PoH中的作用与在比特币中的作用完全不同,在比特币中,它被用作竞争性难题(查找低于目标值的哈希)。在PoH中,SHA-256用于顺序计时,而不是竞争性计算。
历史证明是什么,又是什么不是
历史证明不是Solana的共识机制。共识机制是验证者就哪些交易有效以及它们的顺序达成一致的过程。PoH不执行此操作。PoH记录事件的顺序和计时;Tower BFT是就这些事件是否有效达成共识的算法。
PoH也不是质押证明(Proof of Stake)。质押证明决定了谁在经济上有资格参与共识,以及他们的投票权重有多大。PoH不确定资格或投票权重;它提供了使投票过程更快的数据共享时钟。
“Solana使用历史证明”作为其完整共识机制的这种误解,是公开撰写Solana文章中最常见的错误之一。这是不准确的,而且很重要:没有Tower BFT和质押证明,PoH本身将无法提供任何安全保证。
Tower BFT:验证者如何达成一致
Tower BFT是Solana的共识算法,它是实用拜占庭容错(PBFT)算法的一种改编,专为使用PoH作为共享时钟而构建。它允许验证者就账本状态达成一致,使用基于质押权重的投票。由于验证者共享历史证明作为可信时钟,Tower BFT比标准的BFT实现需要少得多的通信回合,并在正常网络条件下大约在400至800毫秒内完成区块确认。
什么是拜占庭容错?
这个名字来源于拜占庭将军问题,这是Leslie Lamport于1982年正式化的一项经典的分布式系统思想实验。该问题问的是:当一些将军可能是叛徒并发送虚假信息时,一群将军如何协调攻击?一个系统如果能在某些参与者行为恶意、发送虚假消息或随意失败的情况下达成正确共识,则称其具有拜占庭容错能力。
包括Miguel Castro和Barbara Liskov于1999年发表的基础PBFT算法在内的传统BFT系统要求,故障或恶意参与者的比例不到所有参与者的三分之一。对于拥有100个验证者的网络,最多33个可以被攻破,而其余67个仍然可以达成正确共识。这个属性是数学上可证明的,这使得基于BFT的系统对安全关键型应用具有吸引力。
Solana的Tower BFT继承了这一特性。攻击者需要控制超过33%的质押SOL才能使网络停止运行,控制超过三分之二才能覆盖共识。与需要51%计算能力的PoW网络不同,Solana的Tower BFT需要控制超过33%的质押SOL才能使网络停止运行。这个阈值通常被认为在实践中更难达到,因为它需要资本积累,而不仅仅是计算资源。
技术深度解析: 标准PBFT需要O(n²)的消息复杂度,其中n是验证者的数量。每个验证者必须与所有其他验证者通信以确认一致。对于拥有数千个验证者的网络,这会产生高昂的通信开销。Tower BFT通过使用PoH作为共享时钟来减少这种开销:由于所有验证者都无需就此进行通信即可就PoH序列的时间达成一致,因此Tower BFT仅需要验证者对区块有效性进行投票,而不是对时间戳排序进行投票。锁定机制增加了另一项效率:当验证者对区块投票时,它会在指数级增长的超时期间内被锁定在该投票上。切换投票需要等待锁定期结束,从而对重组造成经济上的不利影响,并减少达成最终性所需的投票轮次。
Tower BFT如何使用历史证明
在没有共享时钟的情况下,标准BFT系统中的验证者必须互相发送带时间戳的消息来确定事件顺序,在每一步都增加通信开销。有了PoH,顺序已经建立,并且每个验证者都可以独立验证。
验证者对区块进行基于质押权重的投票,Tower BFT在分叉选择中使用锁定和超级多数投票。乐观确认、根确认和应用层经济最终性是不同的阈值。它们的时序会随着集群条件的变化而变化,应在当前文档中查阅,而不是简化为固定的毫秒数。
Leader Schedule:Solana如何选择验证者
在每个 epoch 开始时,Solana 会计算确定的分配方案,确定由哪个验证者担任未来每个时段 (slot) 的负责人 (leader)。该分配与每个验证者的质押权重成正比:控制所有已质押 SOL 5% 的验证者将被分配为该 epoch 中约 5% 时段的负责人。
“时段” (slot) 是 Solana 的基本时间单位,目标为每个时段约 400 毫秒(撰写本文时,请从 docs.solana.com 验证当前数据)。一个 epoch 跨度约为 432,000 个时段,换算下来大约是两到三天(撰写本文时,请从 docs.solana.com 验证)。
负责人调度表是提前公开的。验证者可以利用它在时段开始前将交易转发给即将上任的负责人。这减少了对传统全局内存池的依赖,但并不能消除拥堵、优先费用竞争、交易掉线或 MEV 风险。
质押权重负责制的去中心化含义非常直接:质押 SOL 较多的验证者会获得按比例增加的负责人时段,这意味着他们生成的区块也按比例增加。这种结构让大型质押者对包含哪些交易以及交易顺序拥有更大的影响力。这种集中的具体后果,包括 Solana 的中本聪系数 (Nakamoto coefficient) 和硬件参与门槛,将在下文的优势与局限性章节中进行探讨。
历史证明 (PoH)、Tower BFT 和权益证明 (PoS) 如何协同工作
历史证明、Tower BFT 和权益证明并不是三个并行运行的独立共识机制。它们是一个集成系统中相互依存的三个层级,各自解决分布式共识问题的不同部分。
| 组件 | 角色 | 回答的问题 |
|---|---|---|
| 历史证明 (PoH) | 加密时钟 | 每个事件是在何时发生的? |
| 权益证明 (PoS) | 经济安全层 | 谁参与其中,每张票的权重是多少? |
| Tower BFT | 共识算法 | 验证者如何达成最终共识? |
权益证明是经济基础。验证者必须质押(锁定)SOL 才能参与共识。这种质押创造了经济利益关联:投票错误或试图操纵账本的验证者将面临通过罚没 (slashing) 损失其质押 SOL 的风险(请从 docs.solana.com 验证当前的罚没执行细节,因为这会随着协议升级而演变)。委托人,即任何不想运行验证者的 SOL 持有者,可以将其 SOL 质押给验证者,并按比例赚取该验证者的奖励份额。
一旦权益证明确定了谁参与以及参与权重,历史证明就会提供这些参与者使用的时间线。PoH 时钟持续运行,产生可验证的哈希序列,为每笔交易加上时间戳。建立排序不需要节点间通信,因为所有验证者都可以独立验证 PoH 序列。
Tower BFT 是那些符合条件且时间同步的验证者用于投票的算法。共享时钟 (PoH) 和经济担保投票系统(PoS 加权的 Tower BFT)的结合,产生了既快速又抗操纵的共识。
验证者对区块状态达成共识,其中包括智能合约(在 Solana 生态系统中称为程序)的结果。Solana 的并行智能合约运行环境 (Sealevel) 允许同时执行多个不冲突的程序,进一步提高了网络的吞吐量。
Solana 交易如何达成最终性:步骤详解
Solana 交易可以直接路由至预定的负责人,无需在传统全局内存池中等待。其生命周期遵循以下阶段,但确认和交割时间因承诺级别和集群状况而异;目标时段时长并非完全最终性的保证。
交易提交。用户签署并向 Solana 网络广播交易。签署的交易包含验证者验证其真实性所需的所有信息:发送者的公钥、预期操作以及证明发送者已授权的加密签名。签名发生在本地;随后交易传播到网络中。
负责人感知转发。Solana 根据公开调度表确定的即将上任的负责人转发交易。与传统全局内存池不同,这种设计可以在负责人的时段开始前预处理工作,但拥堵、数据包丢失、交割合约、优先费用和排序激励仍会影响结果。
负责人 PoH 时间戳。负责人验证者将交易插入 PoH 哈希链的当前仓位,在可验证的时间线中永久记录交易的位置。此时间戳与所有先前 PoH 哈希的序列加密绑定;如果不使随后的每个哈希失效,就无法追溯更改,使记录具有防篡改性。
区块生产。在其约 400 毫秒的时段窗口内,负责人将所有带有时间戳的交易组装成一个区块。由于交易已按 PoH 序列预先排序,负责人无需与其他验证者协商排序,只需根据既定的时间线构建区块即可。
Turbine 传播。Solana 的 Turbine 区块传播协议将完成的区块分解为称为“碎片 (shreds)”的小数据包,并使用受 BitTorrent 启发的树状传播结构将其分发给所有其他验证者。Turbine 不是同时向每个验证者广播完整区块(这在高交易量下需要巨大带宽),而是通过结构化的验证者树传递碎片,每个验证者负责转发给少数对等节点。这减轻了单个验证者的带宽负担,同时确保完整区块迅速送达所有参与者。
Tower BFT 投票。在收到区块碎片并重构完整区块后,其他验证者会验证 PoH 序列是否有效以及交易格式是否正确。每个验证者根据区块的有效性投出质押加权的 Tower BFT 选票。质押 SOL 较多的验证者在投票中拥有按比例更高的权重。随着验证者发出确认信号,投票会在网络中传播。
最终性。当代表总质押 SOL 三分之二以上的验证者集体确认该区块后,该区块即实现 Tower BFT 最终性,并永久记录在账本上。这一绝对多数门槛与拜占庭容错理论的核心要求一致:它保证了即使多达三分之一的质押加权参与者出现故障或恶意行为,共识依然成立。
最终性术语: 目标时段时间不等于乐观确认、扎根 (rooting) 或经济最终性。应用程序应根据其风险要求选择承诺级别,并验证当前的集群行为。
Solana 性能:速度、吞吐量与最终性
Solana 的速度并非单一设计选择的结果,而是四种架构决策协调工作的累积效应:历史证明、Tower BFT、Solana 的 Gulf Stream 协议以及 Solana 的 Turbine 区块传播协议。
Solana 速度快的原因?四大理由
- 历史证明 (Proof of History) 提供了一个可验证的排序参考,可以减少一些时间协调的开销;验证者仍会交换投票和网络数据。
- Tower BFT 比标准的 BFT 实现需要更少的投票轮次,因为所有验证者共享一个共同的 PoH 时钟,不需要协商时间。
- 领导者感知转发 (Leader-aware forwarding) 在 Slot 开始前将交易发送给即将上任的领导者,这可以减少传统的内存池 (Mempool) 排队,但并不能消除所有的延迟或费用竞争。
- Solana 的 Turbine 区块传播协议 通过树状结构将区块分成小的碎片(shreds)进行分发,而不是同时向每个验证者广播完整的区块,从而降低了大型网络的带宽需求。
Solana 的理论最大吞吐量是一个历史性的理论数据,在理想网络条件下约为每秒 65,000 次交易。该数字是一个基准,而非典型性能的描述。主网 (Mainnet) 在现实世界中的吞吐量历史平均约为 2,000 至 4,000 TPS,并在高需求期间出现峰值。理论最大值与现实世界平均值之间的差距反映了网络传播延迟、验证者地理分布以及理想条件基准测试无法捕捉到的软件开销。请在撰写本文时通过 Solscan (solscan.io) 验证当前数据。
Solana 文档在历史上曾描述目标 Slot 时间接近 400 毫秒,但实际的 Slot 和确认阶段会有所不同。乐观确认、生根 (rooting) 和应用层经济最终性是不同的阈值,应使用当前的文档和实时集群状态进行衡量。
作为对比:以太坊在 2022 年 9 月从工作量证明转为权益证明 (Proof of Stake),目前在其 Layer 1 上实现了约 15 到 30 TPS,通过 Casper FFG 检查点纪元 (checkpoint epochs) 实现完全的经济最终性大约需要 12 到 15 分钟(通过 ethereum.org 验证)。比特币的中本聪共识实现了约 7 TPS,通过 6 个区块确认实现概率最终性大约需要 60 分钟。
Solana 与以太坊 Layer 1 之间的最终性差距是巨大的。该差距对于特定用例是否重要取决于应用程序。以太坊的 Layer 2 网络(Arbitrum、Optimism 等)提供比以太坊 L1 更快的最终性,尽管它们的运作机制与 Solana 的共识机制不同。
Solana 共识机制 vs. 以太坊、Avalanche、Cardano 和 Polkadot
Solana 并不是唯一的高性能区块链,其共识机制也不是实现快速、可扩展交易最终性的唯一方法。以下是 Solana 的 PoH + Tower BFT + 质押 (PoS) 系统在架构和性能指标上与最著名的替代方案的对比。
**以太坊(合并后,2022 年 9 月)**现在使用 Gasper,这是一个结合了 LMD-GHOST(一种选择累积验证者证明最多的链的分叉 (Fork) 选择规则)和 Casper FFG(一个定期对链进行检查点的最终性工具)的共识系统。以太坊于 2022 年 9 月 15 日从工作量证明转为权益证明。与 Solana 的架构对比非常显著:以太坊的 Gasper 通过庞大的验证者集(撰写本文时约有 900,000 名或更多验证者,通过 beaconcha.in 验证)来实现安全性和去中心化,但牺牲了吞吐量。Solana 通过 PoH 的时钟机制和 Tower BFT 的效率来实现吞吐量,但验证者集规模要小得多。
Avalanche (C-Chain) 使用 Snowman 共识,这是 Avalanche 共识协议的线性链变体。Snowman 是概率性的和基于抽样的,而不是确定性的 BFT:验证者反复抽样其他验证者的随机子集以衡量一致性。公布的吞吐量和最终性数据随日期、工作负载和测量方法而异,因此应使用当前的主要来源进行比较。架构上的对比在于 Avalanche 使用重复子抽样,而 Solana 使用围绕 PoH 排序参考构建的权重质押投票。
Cardano 使用 Ouroboros Praos,这是 Ouroboros PoS 共识系列的当前主网 (Mainnet) 版本。Ouroboros 是第一个证明安全的 PoS 协议,发布在经过同行评审的学术场合,并带有正式的数学安全证明。Cardano 的设计明确将形式正确性和安全证明置于原始吞吐量之上。Cardano 主网上的真实 TPS 约为 250(撰写本文时请验证)。与 Solana 的设计理念对比很直接:Solana 通过架构创新优先考虑吞吐量;Cardano 通过学术严谨性优先考虑安全属性的形式化可证明性。
Polkadot(中继链)使用 BABE (Blind Assignment for Blockchain Extension) 进行区块生产,使用 GRANDPA (GHOST-based Recursive ANcestor Deriving Prefix Agreement) 实现最终性,在中继链上实现了约 1,000 TPS,最终性时间约为 12 到 60 秒。Polkadot 的中继链加平行链架构与 Solana 的单体链设计有着本质的不同,这使得直接的性能比较比表格数据所示的要复杂得多。
| 区块链 | 共识机制 | 理论最大 TPS | 现实世界 TPS | 最终性时间 | 活跃验证者 | 能源模型 |
|---|---|---|---|---|---|---|
| Solana | PoH + Tower BFT + PoS | 历史理论基准;取决于工作负载 | 历史测量值因投票包含情况和交易组合而异 | 取决于承诺级别 | 验证当前的活跃质押和验证者数据 | 权益证明 |
| 以太坊 (合并后) | Gasper (LMD-GHOST + Casper FFG) + PoS | ~30 | ~15–30 | ~12–15 分钟 | ~900,000+ | 权益证明 |
| Avalanche (C-Chain) | Snowman (概率性) + PoS | ~4,500 | ~2,000–4,000 | ~1–2秒 | ~1,200+ | 权益证明 |
| Cardano | Ouroboros Praos + PoS | ~250+ | ~250 | ~5 分钟 | ~3,000+ | 权益证明 |
| Polkadot (中继链) | BABE + GRANDPA + NPoS | ~1,000 | ~500–1,000 | ~12–60秒 | ~300+ | 权益证明 |
| 比特币 | 中本聪共识 (PoW) | ~7 | ~7 | ~60 分钟 | 不适用 | 工作量证明 |
所有数据均为方向性估计。性能指标随网络状况而异;理论最大值代表理想条件下的容量。在做出任何决定前,请从官方文档(docs.solana.com、ethereum.org、Solana Beach、beaconcha.in)验证当前数据。验证者数量经常变化。
Solana 共识模型的优势与局限性
Solana 的共识架构在速度和吞吐量方面比每一个主要的 Layer 1 区块链都具有可衡量的优势,但这些优势也带来了去中心化方面的真实权衡,以及任何严肃的评估都必须诚实面对的历史可靠性记录。
优势:
- 低延迟确认目标。 Solana 可以提供快速的乐观确认,但必须区分承诺级别和经济最终性。
- 高吞吐量设计。 历史基准说明了架构容量,而实时吞吐量取决于工作负载、投票记账、验证者、拥堵情况和软件版本。
- 低交易费用。 高吞吐能力意味着交易之间的费用竞争较低,使大多数操作的成本保持在几分钱的水平。
- 无内存池的交易转发。 Solana 的 Gulf Stream 协议消除了“候车室”问题,通过将交易预先路由到已知的即将上任的领导者来降低确认延迟。
- 能源效率。 权益证明不需要高能耗的计算,使 Solana 的能源足迹在本质上与比特币的工作量证明处于不同的类别。
局限性:
- 历史网络中断记录。 Solana 在 2021 年至 2023 年间经历了多次完全网络中断,带来了任何投资者或开发者都必须权衡的可靠性问题。
- 验证者节点少于以太坊。 相对较少的验证者节点集,形成了与拥有数十万验证者节点的网络不同的去中心化概况。
- 高昂的硬件要求造成参与障碍。 运行 Solana 验证者节点需要服务器级硬件,这是大多数个人无法负担或操作的,这限制了谁可以直接参与共识。
- 单一验证者客户端依赖(Firedancer 之前)。 直到最近,几乎所有的 Solana 验证者节点都运行相同的软件客户端,如果该客户端存在 bug,就会造成单点故障。
- 顶级验证者节点之间的质押集中。 总质押 SOL 的有意义一部分集中在少数验证者节点手中,影响了 Nakamoto 系数。
Solana 网络为何会宕机?
Solana 的历史性宕机并非由 PoH 或 Tower BFT 共识算法的失败引起。共识设计本身并未崩溃。已记录的主要宕机根本原因在于软件资源耗尽和实现 bug:交易泛滥压垮验证者节点的内存容量,验证者节点客户端的软件 bug 导致崩溃,以及由NFT mint 抢购和DeFi 活动激增等高需求事件触发的资源耗尽。
具体事件说明了这种模式。2021 年 9 月,Solana 遭受了 17 小时的宕机,原因是 IDO 事件产生的交易洪水耗尽了验证者节点的内存,并导致网络分叉,需要协调重启。2022 年 1 月,第二次重大宕机源于高吞吐量条件下的资源耗尽。2022 年全年中还发生了多次额外的部分降级事件(在撰写本文时,请从 Solana 基金会的事后分析报告中验证具体日期和持续时间,因为已记录的事件列表有所扩展)。这些事件与共识算法失败的区别对于评估 Solana 的长期可行性至关重要:损坏的共识算法需要重新设计协议,而软件资源耗尽是一个可修复的工程问题。
自峰值宕机期以来实施的改进包括:采用 QUIC 作为网络协议(取代了更容易受到垃圾信息攻击的基于 UDP 的方法)、一个基于质押的优质服务系统,该系统优先处理来自已质押验证者节点的交易而不是匿名垃圾信息,以及持续的验证者节点软件改进。Firedancer 客户端是由 Jump Crypto 开发的一个独立的、高性能的验证者节点实现,旨在提供客户端多样性,防止单一软件 bug 影响整个网络。在撰写本文时,请从官方来源验证 Firedancer 的当前开发状态。
宕机的频率和严重程度代表了一个真实的可靠性问题,而非小麻烦。处理金融交易的网络不能容忍计划外的中断。自最严重的宕机期以来所做的改进是实质性的,但任何人构建 Solana 或持有 SOL 的人都应该睁大眼睛进行评估。
去中心化和验证者节点集中: 在撰写本文时,Solana 大约有 1,500 个或更多活跃的验证者节点(请从 Solana Beach 验证者分析 验证当前数量)。以太坊大约有 900,000 个或更多的验证者节点(请从 beaconcha.in 验证)。两者差异巨大,反映了 Solana 验证的硬件门槛:运行 Solana 验证者节点需要大约 128GB 或更多的 RAM、2TB 或更多的可访问 NVMe SSD 存储以及至少 1Gbps 的网络连接(在撰写本文时,请从 docs.solana.com/running-validator 验证当前规格)。相比之下,以太坊验证者节点可以在消费级硬件上运行,同时需要 32 ETH。
Solana 的 Nakamoto 系数(需要串通才能破坏共识的最小实体数量)在历史上介于大约 19 到 31 个验证者节点之间,尽管这个数字会随着质押分布的变化而变化。请从 Solana 基金会的去中心化报告或 Nakaflow 验证当前系数。历史上,排名前 20 的验证者节点控制了总质押 SOL 的显著份额(请从 Solana Beach 验证当前集中度百分比)。Solana 基金会运营着一个专门为向较小验证者节点分配质押并改善该系数而设计的委托计划,为集中化问题提供了结构性对策。Tower BFT 的安全阈值意味着攻击者需要控制超过三分之一的总质押 SOL 才能中断网络,需要超过三分之二才能覆盖共识,这是一个资本要求很高的门槛,并且会随着实际质押的集中程度而按比例增加。
如何参与:在 Solana 上进行质押和验证
SOL 持有者可以通过两种方式参与 Solana 的共识机制:直接运行验证者节点,或将 SOL 委托给现有验证者节点。前者需要大量的硬件投资和技术专业知识。后者是任何拥有兼容钱包的 SOL 持有者都可以实现的。
免责声明: 本文仅供信息和教育目的。它不构成财务建议、投资建议或购买、出售或持有任何加密货币的建议。加密货币投资存在重大风险,包括本金损失的可能性。在做出投资决策之前,请务必进行自己的研究并咨询合格的财务顾问。
运行 Solana 验证者节点的要求
运行 Solana 验证者节点使操作者成为指定时段的领导者,并对所有其他时段进行投票。硬件要求很高,并且随着网络的增长而增加。在承诺购买硬件之前,请务必从 Solana 官方验证者文档) 验证当前规格:
- CPU: 高单线程性能;具体型号建议已更新至官方文档。
- RAM: 建议最低 128GB;256GB 或更高可获得最佳性能。
- Storage: 高性能 NVMe SSD;建议 2TB 或以上。
- Network: 最低 1Gbps 连接;建议 10Gbps 以获得竞争力。
- SOL stake: 足够多的自我委托质押或社区委托质押,以使运营在经济上可行。协议没有强制规定运行验证者节点的最低质押量,但质押量极少的节点获得的奖励也会非常少。
随着每次主要网络升级,硬件要求都在增加。任何计划运行验证者节点的参与者都应为持续的硬件升级预算,并在购买设备前,根据官方文档确认所有规格。
如何质押 SOL:原生质押与流动性质押选项
将 SOL 委托给现有验证者节点是大多数参与者都能采取的途径。其机制如下。
原生质押: 使用 Phantom 或 Solflare 等兼容钱包,任何 SOL 持有者都可以将其代币委托给他们选择的验证者节点。委托可以获得该验证者节点通胀奖励的一部分,比例取决于委托的数量。当前的质押 年化收益 (APY) 根据网络通胀参数和总质押的 SOL 量而异(在做出任何质押决定前,请在撰写本文时从 Solana Beach 验证)。在委托的 SOL 再次变为可用之前,有一个大约两个 epoch 的解委托冷却期,大约相当于四到五天(在撰写本文时,请从 docs.solana.com 验证)。
流动性质押: 包括 Marinade Finance(发行 mSOL 代币)和 Jito(发行 jitoSOL 代币)在内的协议允许用户在保持流动性的同时质押 SOL。流动性质押用户无需将 SOL 直接锁定给验证者并等待冷却期才能访问,而是会收到代表其已质押 SOL 及所获奖励的流动性代币,该代币可随时交易。这些流动性代币是运行在 Solana 上的 DeFi 协议的一部分,并且除了基础的质押经济学之外,还承担着其自身的智能合约风险。
在选择验证者进行委托时,相关标准包括验证者的历史在线记录、佣金率(验证者在将剩余收益分配给委托人之前所占的奖励百分比)以及质押集中度。委托给较小的验证者有助于提高网络的去中心化程度,并可能符合 Solana 基金会委托计划的福利资格。
关于 Solana 共识机制的常见问题解答
Solana 使用何种共识机制?
Solana 使用结合了三个组件的混合共识系统:历史证明(PoH)、Tower BFT 和权益证明(PoS)。PoH 作为加密时钟,建立交易顺序。Tower BFT 是验证者用于确认区块的共识算法。PoS 决定哪些验证者参与以及他们投票的权重(由质押的 SOL 决定)。
Solana 的确使用权益证明作为其经济安全层,因此称其为 PoS 区块链在技术上是准确的。但这是不完整的。单独的权益证明无法解释 Solana 如何达成共识。完整的机制需要历史证明(在无需验证者之间通信的情况下建立顺序的加密时钟)和 Tower BFT(实现最终性的投票算法)。准确的描述是:Solana 使用 PoH + Tower BFT + PoS 的混合共识系统。
历史基准测试显示 Solana 和以太坊 L1 的吞吐量有很大差异,但交易定义、投票流量、L2 执行、数据可用性和最终性模型各不相同。请使用当前、同类别的测量结果,并区分乐观确认与最终确定或经济上不可逆的结算。
Solana 过去的网络中断是由软件资源耗尽和实现错误引起的,而不是由历史证明或 Tower BFT 共识算法的故障引起的。已记录的原因包括交易垃圾邮件淹没验证者的内存容量、验证者客户端中的软件错误,以及在高需求事件(如 NFT 代币铸造和 DeFi 活动高峰)期间的资源耗尽。2021 年 9 月的中断持续了约 17 小时,是由 IDO 事件造成的洪水泛滥引起的。自 2021 年至 2022 年高峰中断期以来,改进包括 QUIC 网络、权益加权交易优先级以及持续的验证者客户端改进。请在撰写本文时,从 Solana 基金会博客验证当前网络可靠性状态。
历史证明(PoH)是 Anatoly Yakovenko 发明的一种加密计时机制,在他 2017 年 11 月的白皮书《Solana:一种高性能区块链的新架构》中首次提出。PoH 通过顺序链接 SHA-256 哈希输出来创建事件发生时间的连续、可验证的记录。它不是共识机制。它是一个加密时钟,使 Solana 的实际共识算法 Tower BFT 能够以更少的通信轮次运行。详情请参阅上文的历史证明部分。
Anatoly Yakovenko,一位前高通工程师,在 2017 年的 Solana 开创性白皮书中提出了历史证明。Yakovenko 与 Greg Fitzgerald 和 Raj Gokal 共同创立了 Solana Labs,他们为协议的更广泛实现做出了贡献。PoH 提供了一个可验证的排序参考,可以减少一些时间协调开销,但它并不能消除共识通信。
截至撰写本文时,Solana 拥有约 1,500 名或更多的活跃验证者;请从 Solana Beach 验证者分析 验证当前数据。相比之下,以太坊约有 900,000 名或更多的验证者(请从 beaconcha.in 验证)。验证者数量的差异反映了硬件要求的不同:Solana 验证者需要配备 128GB 或更多 RAM 的服务器级设备,而以太坊验证者可以在消费级硬件上运行,外加 32 ETH。
Tower BFT 是 Solana 的共识算法,它是 PBFT 的一个改编版本,将历史证明作为共享时钟。验证者对区块进行权益加权的投票;当代表超过三分之二总质押 SOL 的验证者确认一个区块后,该区块就达到最终性。这个 2/3+ 的超级多数阈值意味着网络可以容忍高达三分之一的权益加权参与者恶意行为而不丧失共识的完整性。
Solana 的质押在技术上类似于委托权益证明(DPoS),因为 SOL 持有者可以在不运行自己的节点的情况下委托给验证者。然而,它与传统的 DPoS 系统有一个关键区别:不存在固定、选举产生的委托验证者集合。任何验证者都可以通过公开市场吸引委托。更准确地说,Solana 使用一种具有开放委托的、权益加权的 PoS 系统,作为 PoH 和 Tower BFT 之上的经济安全层运行,而不是传统的具有固定委托池的 DPoS 架构。
哪个网络都不是客观上更好的。每个网络都做出了适合不同用例的不同架构权衡。历史测量通常显示 Solana 的基础层吞吐量更高且费用更低,而确认时间取决于承诺级别和网络状况。以太坊拥有更大的开发者社区和广泛的 Layer 2 生态系统。单纯的验证者数量并不能衡量去中心化程度;质押分布、客户端多样性、运营商集中度和硬件要求也很重要。正确的选择取决于应用程序和风险模型。
在 Bybit 上探索 SOL
读者可以查看 当前 SOL 市场信息) 或比较可用的 SOL 理财产品. Bybit 理财是一个中心化产品,不应被描述为本地 Solana 验证者质押;条款、托管、可用性和风险均有所不同。
Solana 的共识机制是一个混合系统: 历史证明(加密时钟)+ Tower BFT(共识算法)+ 权益证明(经济安全层)。任何单一组件本身都不构成该机制。
**历史证明不是共识机制。**它是一种加密计时工具,在验证者通信之前建立交易顺序,使 Tower BFT 能够以比标准 BFT 实现少得多的投票轮次达成共识。
**Solana 的网络中断是由软件资源耗尽引起的,而不是由 PoH 或 Tower BFT 的故障引起的。**共识设计并未失效。包括 QUIC 网络、权益加权费用优先级和 Firedancer 客户端在内的改进旨在降低未来停止运行的风险。
**Solana 的共识速度比以太坊 Layer 1 和比特币快,**在 1.3 秒内实现最终性,而以太坊 L1 需要 12 到 15 分钟,比特币大约需要 60 分钟,但这种速度也伴随着权衡:验证者数量较少、硬件要求较高以及存在质押集中度问题。
任何 SOL 持有人都可以通过原生质押或流动性质押协议将 SOL 委托给验证者来参与 Solana 的共识。直接运行验证者需要大量的硬件投资和技术专长。
性能指标和验证者数量会随着网络升级而变化。对 Solana 的去中心化、吞吐量或质押收益的任何评估,都应使用 Solana Beach、Solscan 和官方 Solana 文档 在决策时的当前数据。
要参与 Solana 的共识机制,请参阅上面的质押和验证部分,或访问 Solana 官方文档 docs.solana.com。
延伸阅读:
- Solana:高性能区块链的新架构: Anatoly Yakovenko 于 2017 年 11 月的白皮书
- Solana 官方文档:协议规范、硬件要求、质押指南
- Solana Beach 验证者分析:当前验证者数量、质押分布和网络统计数据