作者:奔跑财经
第三章:Solana生态系统
第1节:架构与执行
Solana代表了一种根本不同的区块链扩容方法。
虽然以太坊(第二章)和比特币(第一章)也是一层网络(L1)区块链,即独立运行并自行结算交易的底层网络,但Solana做出了截然不同的工程权衡。
它优先考虑原始速度和吞吐量,而非保持较低的硬件要求,其赌注在于,强大的计算机会比区块链需求的增长更快地变得更便宜。
大多数区块链在区块内逐一执行交易。
当你在以太坊上发送一笔交易时,它会在所有其他交易后面排队等待,按顺序处理以避免冲突。(如第二章所述,扩容通常通过在其上叠加二层网络来实现。)
这种方法保持了适中的验证者要求并最大限度地提高了去中心化程度,但它也引入了碎片化问题。
用户必须在具有不同费用代币、不同跨链桥接体验和不同兼容性层的不同网络之间导航。
Solana选择了不同的路径。
其关键创新在于,每笔交易必须预先声明它将读取或写入哪些账户。
这个简单的要求释放了强大的能力:
网络可以识别不重叠的交易,并在多个CPU核心上同时运行它们。
以太坊像单条结账通道一样逐一处理交易,而Solana的运作方式更像一个同时开放数十条通道的超市。这在硬件资源和网络容量之间建立了直接关系。
更多的CPU核心意味着更高的交易吞吐量。
这种并行执行模式塑造了Solana的数据架构。状态以账户模型为核心,将程序代码与用户数据清晰地分离。
程序驻留在可执行账户中,其代码本质上是不可更改的。用户级别的状态则存储在由这些程序所拥有的独立数据账户中。可组合性(各程序之间相互交互的能力)十分直观。
程序之间通过以下方式相互调用:
跨程序调用(CPI),本质上是一个程序请求另一个程序执行操作,并将账户作为输入传递。运行时可在执行开始前验证所有必要账户均已包含。
地址类型与账户管理
在这种账户架构中,Solana引入了一种新颖的地址类型,解决了去中心化系统中的一个根本性问题。该网络使用两种不同类型的地址,它们在生态系统中服务于不同的目的。
常规地址的功能类似于传统的加密货币钱包。用户像使用比特币或以太坊钱包一样,用私钥控制这些地址。
程序派生地址(PDA)则背离了这种模式。
这些地址根本没有私钥。相反,程序通过组合多种输入,以数学方式生成一个任何人都无法直接控制的地址。其结果是一个只有程序本身才能授权从中进行交易的地址。
PDA解决了困扰传统托管系统的根本性保管问题。传统的托管需要有人持有私钥,这引入了固有的信任问题和潜在的故障点。
使用PDA,托管程序本身直接控制资金。没有人可以窃取它们,因为没有可以泄露的私钥。
账户必须持有最低余额的lamports(Solana的最小单位,类似于比特币的聪)以保持免租状态,这通过要求为持久存储提供经济承诺来防止状态膨胀。
在实践中,这更像是为使用存储空间预付一笔押金,而不是持续支付的订阅费。这些执行约束和账户模型塑造了用户在Solana上进行实际交易的方式。
下一节将探讨交易结构、费用机制以及它们所带来的用户体验。
第二节:交易、费用与用户体验
交易模型
每笔交易都包含一条消息(其中包含账户列表、指令和最近的区块哈希值)以及所需的Ed25519签名(Ed25519是一种以其速度和安全性著称的现代数字签名算法)。
每笔交易支付5000 lamports的基础费用,大约每签名十万分之一美分。
用户还可以附加一个计算预算,并为每个计算单元支付优先费用,本质上是用成本换取更快的处理速度。
这些计算单元上限有两个目的:
强制执行用户间的公平性
调度程序预测执行时间,以实现最佳的并行化
费用政策已经发生了显著的演变。
优先费用完全归当前的领导者(生产当前区块的验证者)所有,而基础费用则在销毁和验证者奖励之间分配(详见第四节)。
这里的关键创新是本地费用市场,它在账户层面而非整个网络范围内对拥堵进行定价。
以太坊的全局费用市场(第二章)运作方式不同:所有交易竞争相同的区块空间,无论它们与哪些合约交互。
理想情况下,本地费用市场意味着,高度拥堵的账户支付更多费用,但不会降低网络其他部分的性能。
在实践中,当前的实现并不完美。在2024年和2025年的极端垃圾邮件攻击事件中,拥堵的流量仍然会降低全局性能,并导致丢包率上升。
Solana还提供预执行模拟,让开发者和用户在实际提交交易之前预览交易将执行什么操作。
结合详细的程序日志,这使得钱包能够在用户提交交易前向他们展示预期的交易结果,从而提高了安全性和用户体验。
区分"已丢弃"交易和"已失败"交易很重要。
已丢弃的交易由于网络过载、优先费用不足或区块哈希值过期而从未被打包进区块,并且不会留下链上记录。
已失败的交易则实际上被处理并包含在一个区块中,但由于程序逻辑错误或条件未满足(如滑点过大)而回滚。
在实践中,用户和应用通过使用更高的优先费用重试,或使用将交易转发给多个领导者的服务,来减少交易丢弃的情况。
用户体验优势
这些技术机制创造了一种截然不同的用户体验。
用户与一个全局状态、一个由浏览器和钱包组成的凝聚生态以及整个网络上的原子可组合性进行交互。
用户可以在单笔交易中组合多个协议的交互,该交易要么完全成功,要么完全失败,没有部分执行,也没有资金卡住。与在碎片化的多链生态系统中导航相比,其结果是更少的上下文切换和更少的用户体验摩擦。
经济影响最为重要。
低于美分的交易成本使得用户行为与费用在一美元以上的网络完全不同。
用户可以快速调整头寸,尝试小额投机,并在一次会话中多次与应用交互而无需担心费用。
这种经济上的可访问性,加上近乎即时的交易处理,使得特定的用例在Solana上蓬勃发展,最显著的是模因币交易和高频DeFi应用。
该网络在应对运营挑战的过程中取得了长足的发展。
早期的Solana曾因与拥堵相关的中断而受到批评者频繁关注。在2024年2月,Solana经历了一次持续约五小时的中断,原因是程序加载器缓存中的一个错误。
然而,对网络、区块传播和运行时性能的系统性升级显著降低了这些问题的频率和严重性,提高了交易的打包率和整体可靠性。
用户所体验到的快速确认,以及上述的打包行为,都是在其底层运行的共识、调度和网络协议栈的直接结果。
第三节:共识、调度与网络
Solana通过一个集成的系统堆栈实现其快速确认,各个组件相互构建。理解这种架构需要看到各个部分如何连接,而非孤立地看待它们。
基础:历史证明
在底层是历史证明(PoH),Solana的加密计时机制。可以把它想象成一个可验证的时钟,它产生连续的哈希序列,因此每个人都能在事件被添加到区块链之前就商定其相对顺序。
PoH创建了一个历史记录,证明事件是按特定顺序发生的,使得验证者能够在没有大量来回通信的情况下就交易顺序达成一致。
这种排序系统成为其他一切的基础。
基于时间的共识:Tower BFT
Tower BFT利用这些PoH时间戳来实现最终性。
与要求验证者不断就区块顺序进行通信不同,Tower BFT 将时间戳记录用作一个共享参考点。
验证者对区块投出按质押权重计算的投票,而 PoH 时间戳有助于防止双重投票(即对冲突区块同时投票)。
这产生了目前约为12.8秒的保证最终性,尽管在实践中,用户通常会体验到更快的经济最终性,因为交易在经过几次确认后,被逆转的可能性越来越小。
领导者调度与交易路由
PoH计时机制使得可预测的领导者调度成为可能。领导者被预先安排在短暂的时隙中(每个约400毫秒)。这些时隙被组织成周期(epoch),每个周期大约两天,在此期间验证者调度表保持固定。
在每个周期开始时,网络根据验证者的权益来确定哪些验证者将领导哪些时隙。你的权益决定了你被选为领导者的机会,并受到预热期和冷却期以及调度中一定随机性的影响。
这种可预测的调度使得Gulf Stream成为可能,这是Solana的交易转发协议。
与将交易广播到公共mempool的区块链不同(如比特币和以太坊所做的那样,见第一、二章),Solana将交易直接发送给当前和即将上任的领导者。
这种直接路由通过消除交易在公共池中等待的广播阶段来减少延迟。
交易甚至可以在未来领导者的时隙开始前就转发给他们,从而实现一旦领导者时隙开始就能快速确认。
数据传播:Turbine
一旦领导者生成区块,他们需要有效地将这些区块传播给成千上万的验证者。Turbine通过将区块分解成称为"碎片"的小块来解决这个问题。
Turbine不是点对点地发送整个区块,而是将验证者组织成一个树状结构,每个验证者接收碎片并将其转发给一小部分其他验证者。
该系统在数据编码方式中内置了冗余,因此即使某些碎片在传输过程中丢失,验证者也能从收到的碎片中重建完整的区块。
这防止了带宽激增,并使网络能够抵御针对单个验证者的定向垃圾信息攻击。
网络基础设施:QUIC
底层传输层使用QUIC,这是一种旨在提供比传统网络更快、更可靠连接的现代互联网协议。QUIC可以在单个连接上处理多个数据流,在数据包丢失时恢复得更加优雅,并且建立连接更快。
Solana在QUIC之上实现了权益加权的服务质量,这意味着拥有更多权益的验证者获得优先带宽处理。这使得网络更能抵抗来自系统中权益很少的参与者的垃圾信息攻击。
DoubleZero:专用光纤基础设施
QUIC优化了单个连接,而DoubleZero则解决了一个更根本的约束:公共互联网本身。
DoubleZero是一个私有网络覆盖层,通过专用光纤链路连接验证者,这与纳斯达克和芝商所等传统交易所依赖的微秒级传输基础设施相同。
随着验证者集合的增长,传播变得更加困难。更多的节点意味着更多的目的地,这会在网络中引入时间不一致性。通过公共互联网传输的消息会因路由路径、拥塞和地理距离而遇到不同的延迟。
DoubleZero通过经由最优化的专用路径路由消息,而非与通用互联网流量竞争,消除了这种差异。
这对于下文讨论的共识升级尤其重要。Alpenglow的最终性模型依赖于验证者在严格的时间窗口内接收和响应消息。
如果传播不一致,投票就会延迟到达,仲裁的形成就会减慢,最终性就需要更长时间。通过缩小验证者之间的延迟差距,DoubleZero实现了更快的最终确定和更均匀的区块传播。
该基础设施还支持多播,即在网络内部复制数据并同时将其传送给验证者,而不是通过顺序的点对点连接。
Alpenglow:升级整个技术栈
上述由PoH、Tower BFT、Gulf Stream、Turbine和QUIC组成的集成系统,代表了Solana经过多年主网运营演变而来的当前生产基础设施。理解这一基础很重要,因为计划中的升级Alpenglow代表了一种根本性的变革。
Alpenglow并非渐进式改进单个组件,而是彻底重新设计了核心共识和投票通信,并在后续阶段计划改进区块传播。
Alpenglow用重新设计的替代方案取代了核心共识机制。
Votor是一种新的投票方法,让验证者直接相互交换投票,并形成证明足够权益已就某项决定达成一致的证书。
这取代了Tower BFT成为主要的最终性机制。与Tower BFT那样将多轮投票串联起来不同,验证者在链下汇总投票,并在一轮或两轮内对最终性做出承诺。
Votor并行运行两条最终确定路径,以适应网络条件。
如果一个区块在第一轮中获得压倒性支持(80%或更多的权益),它会立即最终确定。
如果支持率介于60%和80%之间,则开始第二轮。如果第二轮也超过60%,该区块即被最终确定。
这种设计确保了即使网络部分无响应,也能实现最终性,允许系统优雅地继续运行,而不是停滞不前。
Rotor是一个计划中的后续改进,旨在优化区块数据在网络中的传播方式。
它通过具有可靠带宽的高权益验证者直接路由消息,使用更少的中继步骤以实现更高效的传播。
结合像DoubleZero这样的专用基础设施,Rotor能够实现快速最终性所需的严格时间窗口。
Alpenglow还引入了"20+20"弹性模型:
只要不超过总权益的20%作恶,安全性就能得到保证;即使另有20%的权益离线,活性也能得到保证。
这意味着Alpenglow在网络中多达40%的权益是恶意或不活跃的情况下,仍能维持最终性,这比当前的容忍阈值有显著改进。
在Alpenglow下,历史证明(PoH)实际上已被弃用。
该系统用固定的时隙调度和本地计时器取代了PoH,移除了自Solana诞生以来一直定义其核心架构的元素。这代表着Solana历史上最重大的协议层变更。
在模拟中,Alpenglow实现了大约100到150毫秒的中位最终性,而当前为12.8秒。这些是基于模拟的数字,尚未考虑完整的计算开销。
除了原始性能之外,更快的最终性还具有安全优势。
它缩短了攻击者可能试图重组近期区块的时间窗口,并限制了利用交易最终确定前的不确定期进行某些类型套利的机会。
该升级计划针对专用测试网进行广泛测试,如果测试和安全审计进展顺利,主网激活目标定在2026年初至年中。
话虽如此,区块链的升级时间表经常延迟,而所涉变更的范围使得延期成为可能。
MEV与区块构建
通过Gulf Stream的领导者路由以及通过Alpenglow实现显著更快最终性的潜力,使得区块内价值提取和交易排序的动态变得尤为重要。
我们所描述的以领导者为中心的架构,通过Gulf Stream将交易直接路由给预定的领导者,除了延迟之外,还产生了重要的影响。
在大多数区块链上,待处理交易位于一个称为mempool的公共等待区,任何人都可以在它们被打包进区块之前看到它们。
这种可见性使得MEV(最大可提取价值,将在第八章深入探讨)成为可能,即通过重新排序、插入或审查交易可以获取的利润。
交易者可能会看到你待处理的 swaps,并抢先提交自己的交易,从而让你承担损失。
由于Solana将交易直接路由给领导者,而不是公开广播,其MEV格局的运作方式截然不同。
现在许多验证者运行Jito-Solana,这是一个修改过的客户端,支持捆绑包拍卖。这是可选的基础设施(未内置于协议中),但已被广泛采用。
搜寻者可以将交易打包成"捆绑包",在链下模拟它们,并支付小费以确保其被打包。运行Jito客户端的验证者然后构建区块,将常规交易(按优先费排序)和有利可图的捆绑包(按小费排序)结合起来。
这个系统是从直接发送给领导者的交易流中自然产生的,创造了一个在验证者层面整合的MEV市场,而非通过独立的中继基础设施。两个互补的趋势正在进一步重塑这个区块构建层。
BAM(区块组装市场)是Jito对Solana交易流水线的重新构想。
BAM并非让时隙领导者单方面决定排序,而是插入了一个市场和隐私层,将排序与执行分开。交易被摄取到可信执行环境(TEE)中,这意味着在排序生效之前,无论是验证者还是构建者都无法看到原始交易内容。
这可以防止机会主义的预执行行为,如抢先交易,解决了MEV动态中最持久的问题之一。
Harmonic则针对流水线的另一个部分:谁构建区块。
它引入了一个开放的区块构建者聚合层,使得验证者能够实时接受来自多个竞争性构建者的区块提议。可以把Harmonic想象成区块构建的元市场,而BAM则是这些区块内交易排序的微观市场。
它们共同构建了一个更具竞争性和透明度的区块构建生态系统。
Raiku:确定性执行保证
即使拥有更快的共识和改进的区块构建,Solana本身并不为特定应用提供有保证的延迟或可编程的执行保证。
高频交易和链上CLOB(中心限价订单簿,买家和卖家发布特定价格,而非与流动性池交易)需要比通用一层网络在协议层面合理提供的更精细的控制。
Raiku填补了这一空白。
它提供了一个与Solana验证者集并行运行的调度和拍卖层,为应用提供了一个可编程的、确定性的预执行环境,而无需修改一层网络共识。
Raiku通过两种交易类型实现有保证的执行:AOT交易用于可预先安排执行时间的预提交工作流程,以及JIT交易用于需要立即响应的实时执行需求。
这个基础设施层使得应用能够提供接近中心化系统的执行保证,同时保留链上环境的结算优势。
本节所述的技术基础设施,从共识机制到MEV动态,再到新兴的执行层,都产生了成本和收入流,这些成本和收入流塑造了谁可以参与网络以及如何参与。
第四节:经济学、质押与治理
技术架构只是故事的一部分。经济设计、质押机制和治理流程决定了谁能从参与中获利,以及网络如何随着时间的推移而演变。
代币经济学与货币政策
SOL作为Solana的原生代币,具有多重角色:
支付交易费用
作为质押抵押品
治理权重
初始供应量约为5亿枚,并设计了一个通缩的时间表,以在网络安全激励与长期供应可预测性之间取得平衡。
通胀率从每年8%开始,每年减少15%(即通缩率),直至达到1.5%的最终年通胀率。这个最终通胀率预计在2031年左右达到,之后通胀率将永久稳定。
这种设计旨在确保持续的质押奖励,即使在网络成熟后也能激励验证者参与,同时避免数十年来会侵蚀代币价值的失控通胀。
然而,通胀只是供应方程的一方面。费用销毁引入了通缩压力。
Solana永久销毁基础交易费的50%,将SOL从流通中移除;另外50%归区块领导者所有。优先费(计算单元价格的小费)完全归领导者所有,不包含在销毁机制中。
在网络活动极其活跃的时期,销毁率理论上可能超过通胀率,使SOL暂时进入通缩状态。
在实践中,当前的交易量尚未持续达到这一阈值,但该机制在网络使用率和代币供应动态之间建立了直接关系。
实际影响
Solana上的质押年化收益率(APY)约为7%(随通胀率和总质押比例而变化),这反映了需要补偿验证者承担的大量硬件成本和运营复杂性。
质押机制与验证者经济学
Solana上的质押通过委托模式运作,SOL持有者可以将代币委托给验证者,而无需放弃托管权。
与以太坊的质押模型(第二章)不同,后者要求独立验证者至少拥有32 ETH,并为较小持有者提供stETH等流动性质押衍生品,而Solana允许任何数量的SOL直接原生委托给验证者。
委托者获得与其质押成比例的奖励,减去验证者的佣金率,佣金率通常在0%到10%之间,但验证者可以设定任何费率。这建立了一个竞争性市场,验证者必须在佣金收入和吸引足够的委托以维持盈利能力之间取得平衡。
这些机制涉及几个基于时间的限制。
质押的激活和停用发生在周期边界(约2-3天),通常在一个周期内完成,但由于整个网络的冷却限制,可能会需要多个周期,以限制大规模的质押流动。
这些延迟防止了可能破坏共识稳定的快速权益流动,但也为可能需要快速获取资金的委托者带来了流动性约束。
运行验证者的经济学
验证者的经济学是复杂且要求严苛的:
高端硬件
每月数TB的带宽
企业级网络
数据中心基础设施
投票交易费用(每月约4000美元)
通常每月运营成本总计约为5000美元。验证者还需要熟练的人员来可靠地维护这些系统。
收入来源包括多个方面。
通胀奖励是基础层,按权益权重比例分配。
交易费增加了基于绩效的补偿,包括基础费(50%的份额)和优先费都流向区块领导者。
对于运行Jito-Solana的验证者来说,来自捆绑包拍卖的MEV小费提供了额外收入,在存在高价值套利机会时,这部分收入可能远超标准交易费。
可行性计算直接但严苛:验证者需要足够的委托权益,才能赚取足够的通胀奖励和费用收入,以覆盖运营成本加上佣金利润。
如果没有外部支持,委托量极少的小型验证者将难以收支平衡。
存在一些基金会计划旨在帮助新验证者起步(下文讨论),但这些计划显然是有时间限制的,因此,结构性压力(促使权益向拥有持久外部委托的运营者集中)从未完全消失。
中心化压力与网络安全
验证者数量已显著下降,从约2000名验证者的峰值下降到2026年1月的约800名活跃验证者。这引发了对网络安全和去中心化程度的明显质疑。
然而,单纯的验证者数量并不能说明全部问题。一个网络可能有数千名验证者,但如果少数几个控制着大部分权益,它仍然是中心化的。
更重要的是权益在验证者之间的分布情况、基础设施的地理集中程度、是否存在多个独立的软件客户端,以及验证者是否真的能在没有补贴的情况下实现盈利运营。
近期验证者的部分变动反映了运行节点的经济学问题。Solana基金会委托计划(SFDP)被设计为一个临时的引导机制。
它补贴新验证者的投票成本,并委托权益帮助他们起步,但这种支持在12个月内逐渐减少并最终结束。
该计划明确推动参与者从普通代币持有者那里吸引委托,而不是无限期依赖基金会的支持。
当验证者无法吸引足够的自然委托来覆盖成本时,他们就会关闭。这按预期运作,而非系统故障。
但即使考虑到SFDP的过渡,权力的集中仍然令人担忧。
仅19到22个大型验证者就控制了足以达到"超级少数门槛"的权益,大约占总权益的三分之一,这是停止网络共识所需的数量。
如果这些运营者协调行动(或以某种方式被迫协调),他们可以阻止网络生产区块。
地理和基础设施的集中使情况更糟。
大部分权益通过少数数据中心和托管提供商运行,主要集中在少数几个国家。这造成了关联风险。
主要托管提供商出现问题,或者关键司法管辖区的协调政府行动,都可能击垮足够多的验证者,从而扰乱网络。
未来的协议变更可能会有所帮助,但它们不会完全消除成本。
计划中的Alpenglow共识升级(详见第三节)预计将降低验证者相对于当前系统的运营成本,但验证者仍然需要有意义的权益和收入才能可持续地运营。
此外,轻量级验证客户端可以让更多人在普通硬件上验证链,尽管这些验证节点与参与投票和赚取奖励的完整共识验证者有本质区别。
Solana的安全模型又增加了一层复杂性。与大多数权益证明链不同,Solana目前不在主网上强制执行罚没机制。
验证者不会因为作恶,如对冲突区块投票或长时间离线,而自动损失质押的SOL,尽管此类机制正在设计和测试中。
Solana社区选择优先避免因诚实错误导致的意外权益损失,并质疑罚没是否真的能阻止那些愿意将损失视为业务成本的复杂攻击者。
在没有自动惩罚的情况下,网络更多地依赖于声誉和经济机会成本。
攻击网络的验证者将面临未来委托和交易费收入损失的风险,以及其硬件基础设施和商业关系价值的损失。这些激励是否足够,仍然是一个悬而未决的问题。
大多数其他主流链都认为强有力的罚没是加密经济安全的基础。
与此同时,降低验证者运营成本的持续工作旨在使运行节点对较小的运营者在经济上更可行,这无论罚没政策如何,都可能随着时间的推移改善去中心化程度。
治理与升级机制
Solana的治理模式缺乏具有约束力的链上投票,而是通过链下协调、验证者共识和Solana基金会的影响力来运作。
这优先考虑速度和实用性,而非形式化的民主流程,当核心开发者和主要验证者达成一致时,能够实现快速迭代,尽管批评者认为这会权力集中在少数参与者手中,并降低决策透明度。
协议变更遵循Solana改进文件(SIMD)流程,类似于以太坊的EIP系统。
任何人都可以通过GitHub、Discord和论坛提出SIMD供社区讨论,重大变更需要获得广泛的验证者和开发者支持。
Solana基金会,连同Solana Labs、Anza(维护主要的Agave验证者客户端)、Jump Crypto和Jito Labs等主要生态系统利益相关者,通过技术专长、资源控制和权益权重,拥有重要的非正式影响力。
第六节将讨论的多个验证者客户端实现的存在,降低了单一代码库中的错误导致整个网络瘫痪的风险。
验证者通过选择是否升级其客户端软件,最终通过社会共识做出决策。新版本使用功能开关,即客户端能理解但默认不强制执行的协议变更。
一旦权益加权的超级多数验证者完成了升级,并且支持意愿明确,核心贡献者就会通过链上指令激活相关的功能开关,安排在特定的时隙或周期生效。
从那时起,升级后的客户端将作为共识的一部分强制执行新规则。
验证者在升级或功能激活问题上出现重大分歧,理论上可能导致网络分叉,尽管强大的协调和沟通机制至今阻止了这种情况的发生。
基金会从初始代币分配中持有大量SOL国库,用于资助生态系统发展、赠款、安全审计和基础设施建设。
这种财务影响力延伸到治理领域,使得基金会有能力为其能够提供资源的变更进行可信的倡导。然而,基金会已逐步推进治理去中心化,目标是随着生态系统成熟最终减少其角色。
这些经济和运营现实直接影响了开发者在Solana上进行构建的方式。
第五节:开发者堆栈与标准
支撑Solana性能的这些约束条件,塑造了整个开发者体验。
在Solana上进行构建意味着在那些为使执行足够可预测以实现并行处理而设定的、经过深思熟虑的限制范围内工作。
执行环境
Solana开发者主要使用Rust编写智能合约(但也支持C/C++)。
程序被编译成一种可移植的指令格式,网络可以在部署前对其进行分析,确保程序无法逃离其沙箱或消耗无限制的资源。当部署程序时,此验证过程会自动发生。
程序在一个严格受限的环境中运行。对计算、内存使用以及程序可以调用其他程序的深度都有硬性限制。
这些约束可能看起来有限制性,但它们服务于一个关键目的:
它们使执行时间变得可预测,并行调度程序依赖这一点来高效地打包交易。无限制的执行将使并行化成为不可能。
Solana虚拟机(SVM)
SVM一词涵盖了Solana的完整执行环境。
虚拟机本身
部署程序的加载器
程序用于与区块链交互的系统调用
账户模型
Sealevel并行调度器
其核心是,SVM实现了一个基于寄存器的虚拟机。
与以太坊基于堆栈的EVM(像一叠盘子一样从堆栈中推入和弹出值)不同,基于寄存器的VM运作方式更像CPU,将值存储在编号的寄存器中以便更快地访问。
这种架构选择为Solana所需的密集型并行执行提供了更好的性能。
程序通过一组故意设置的狭窄允许操作与区块链交互:
它们可以读取和写入账户,调用其他程序,以及通过称为sysvars的特殊只读账户访问系统状态。
Sysvars暴露了诸如当前时间戳、费用参数和最近的区块哈希值等信息,允许程序动态响应网络状况。
没有文件系统访问权限,没有网络访问权限,也没有任何方式逃出沙箱。这种最小化接口保持了执行的可预测性,并使程序更易于审计和推理。
程序安全与沙箱隔离
这些执行约束除了提供性能可预测性外,还带来了安全优势。
在部署之前,网络会验证程序是否遵守关于内存使用方式以及可执行操作的严格规则。违反这些规则的程序将被拒绝,从而在低层级错误到达网络之前就将其拒之门外。
然而,这种保护层无法预防所有问题。
逻辑错误,即程序编写方式中的错误,仍然可能漏网。
Solana上发生的几起重大协议被攻击事件,并非通过逃出沙箱,而是通过利用应用本身的逻辑缺陷。可以将其想象成越狱与说服守卫开门之间的区别。
构建程序:Anchor与开发工具
这种底层接口虽然强大,但也带来了显著的复杂性。
在实践中,开发者可以直接针对底层SVM接口编写程序,但几乎没有人这样做。Anchor框架已成为事实上的标准开发工具包,类似于大多数Web开发者使用React或Vue而非直接操作DOM。
Anchor自动化了Solana开发中繁琐且容易出错的部分。它生成接口定义语言(IDL),即程序接口的机器可读描述,工具可以使用它来自动生成客户端代码。
它验证交易是否按正确顺序包含了正确的账户。它为常见操作(如转移代币或调用其他程序)提供了标准化模式。这种抽象使得开发速度显著加快,同时减少了出错的可能性。
代币架构:标准化优于重复实现
Solana处理代币的方式揭示了一个基本的设计理念。
Solana并非让每种代币作为独立的、可能实现方式各异的智能合约存在,而是由单一的、经过实战检验的程序来管理所有共享的代币。
创建一个新代币并不意味着部署新代码。相反,你创建一个由现有SPL代币程序管理的"铸币"账户。
这个铸币账户定义了你的代币的属性:使用多少位小数、总供应量是多少、谁有权铸造新代币。
SPL代币程序统一处理所有的转账逻辑。
这种优势在整个生态系统中不断累积。当SPL代币程序获得优化或安全改进时,每个代币都能立即受益。钱包只需要理解一个代币程序,而不是成千上万种变体。构建DeFi协议的开发者可以放心地依赖标准化的行为。
这种共享基础设施而非孤立实现的理念贯穿于Solana的开发者生态系统:核心系统的改进会在所有用户中产生复合效应,而不是分散在成千上万次重新实现中。
关联代币账户将这种标准化扩展到账户管理。系统并非让用户手动创建代币账户(并可能将代币发送到错误的地址),而是为每个钱包-代币对自动派生一个标准的账户地址。
如果你在地址X持有SOL,并想接收代币Y,那么你用于Y的关联代币账户将有一个可预测的固定地址。
这消除了其他生态系统中常见的整类用户错误。
这种标准化理念仍在不断发展。Token-2022在保持向后兼容性的同时,进一步推动了这一模式。
它在标准化框架内增加了可编程功能:
在转账过程中执行自定义逻辑的转账钩子(支持自动支付版税或合规检查等用例)。
通过加密证明增加隐私性同时保持必要时可监管审计的机密转账。
其他扩展功能,如转账费、永久委托人和元数据指针。
管理已部署的程序
标准化的代币程序解决了一个挑战;每个开发者面临的另一个实际问题是维护已部署的代码。
区块链的不可变性造成了一个明显的矛盾:错误会发生,需求会演变,但已部署的代码是永久的。如何修复管理着数百万美元的程序中的关键错误?
Solana的可升级加载器提供了一个受控的解决方案。程序可以指定一个升级权限(通常是由项目核心团队治理的多重签名钱包)。
此权限可以部署新的程序版本,修复错误或添加功能,同时保持相同的程序地址,以便现有集成不会中断。一旦程序成熟且经过验证,可以稍后撤销升级权限,使其真正不可变。
这种务实的方法在安全性与运营现实之间取得了平衡,将能力直接构建到运行时中,而无需额外的代理合约层。
扩展NFT集合:状态压缩
Solana上传统的NFT实现需要为每个项目设立单独的链上账户:一个铸币账户、一个元数据账户和一个代币账户。
对于一个包含10,000个项目的PFP集合,这意味着需要10,000多个账户,每个账户都要支付租金。
在规模扩大时,这会变得极其昂贵。一个拥有100万个NFT的集合,仅账户租金就可能花费约25万美元。
状态压缩通过巧妙的密码学解决了这个问题。系统并非将每个NFT的元数据存储在自己的账户中,而是将所有元数据存储在链下,并在链上维护一个单一的并发Merkle树。
可以将这棵树想象成整个集合的加密指纹。树根存在于链上(一个单一的账户),而详细数据则存储在更便宜的链下存储中。
当你想证明自己拥有某个特定的NFT时,你提供一个Merkle证明:一个简短的哈希链,证明你的NFT的元数据包含在根在链上的那棵树中。
验证者可以在不访问完整数据集的情况下快速验证这个证明。"并发"部分意味着多个人可以同时更新不同的NFT而不会发生冲突,从而保留了并行处理的好处。
经济性发生了巨大的转变。
那个拥有100万个NFT的集合,成本不到100美元,而非25万美元,这使得大规模生成艺术、游戏资产和忠诚度计划在经济上变得可行。
Metaplex标准提供了工具和约定,使压缩后的NFT能够与现有的钱包和市场无缝协作。
第六节:性能及其权衡
上文所述的开发者工具和标准能够实现高效的应用程序开发,但高性能也带来了基础设施挑战,这些挑战决定了谁能运行节点以及数据如何管理。
数据增长挑战
高吞吐量驱动着区块链的快速扩张。
Solana的完整归档账本(约350TB)以每年约90TB的速度增长,与其他链相比,这产生了截然不同的基础设施经济学。
此规模的归档存储代表着巨大的成本,每月每TB约100美元,这意味着完整的归档历史记录每月约需4万美元。
然而,关键是要理解,普通的Solana验证者和RPC节点(响应来自钱包和应用查询的服务器)会修剪历史数据,并不会面临这些极端的存储要求。
这些数据特别适用于维护完整交易历史的归档节点。
缓解策略
Solana通过两种互补的方法来应对这些挑战:运营策略和架构韧性。
大多数验证者和RPC节点通过修剪来减少其存储负担。运营者配置账本保留限制,这控制了磁盘上保留多少账本碎片(影响区块存储大小和交易历史可用性)。
如果没有明确配置,验证者将无限期地累积账本数据,直到磁盘空间耗尽,因此运营者通常根据其特定需求和可用存储空间来设置保留策略。节点从快照启动,而不是重放全部历史记录,这保持了同步时间的可控性。
长期的历史数据通常被卸载到专门的归档基础设施和第三方索引器,而不是由每个验证者存储。
公共数据集和社区运行的档案库提供了对历史数据的访问。
例如,Solana数据可通过Google BigQuery和其他社区数据集获得,但与运行你自己的归档节点相比,这些资源可能存在覆盖缺口、架构限制以及更新计划的差异。
大多数验证者只保留一个滚动窗口的最新数据,并依赖快照进行快速启动。
虽然这些方法意味着普通验证者不必承担完整历史存储的负担,但它们确实将归档责任集中到一组较小的专业提供商身上,而不是将此功能分配给所有节点运营者。
客户端多样性与Firedancer
架构韧性越来越依赖于客户端多样性,而非单一的参考实现。
以太坊在这方面树立了标杆,它有多个由不同团队维护的独立执行和共识客户端在生产环境中运行。如果一个实现存在严重缺陷,网络不必陷入停顿。
Solana历史上依赖于单一的代码库谱系(Agave及其分支,如Jito-Solana)。
这种单一文化一直是网络的核心弱点之一,导致了第二节中提到的早期可靠性问题。
由Jump Crypto开发的Firedancer,代表了一个独立的、从头开始用C语言而非Rust重新实现的Solana验证者,直接解决了这个单点故障问题。
Firedancer的设计目标是将Solana验证者转变为一个确定性的、高吞吐量的引擎,能够以最小的延迟变化处理数百万笔交易每秒。
基准测试和演示已经显示出非常高的交易处理率,尽管实际网络级吞吐量仍然受到协议级共识限制的约束,该限制目前将Solana的上限定在远低于这些基准数字的水平。
该项目还旨在降低硬件要求,尽管这仍然是一个理想目标。由于当前的混合实现(Frankendancer)在主要组件上仍然依赖Agave,其硬件要求仍与第四节中描述的水平相当。
Frankendancer是一种过渡性实现,它结合了Firedancer的网络和区块生产模块与Agave的运行时和共识组件,已于2024年9月与一部分验证者一起在主网上线。
随着Firedancer朝着主网就绪状态迈进,验证者的多样性应该会显著增加。在这种竞争关系的背景下,Agave和Firedancer团队都进行了大量迭代,每个实现都推动着另一个实现向更好的性能和可靠性发展。
截至2026年初,仍然无法在没有Agave组件的情况下运行一个完整的Firedancer验证者。全面部署的时间表仍不确定,并取决于持续的测试、审计和生态系统的准备情况。
这些基础设施改进与第三节中描述的共识升级一起,构成了维护Solana竞争地位的综合战略,旨在解锁在当前网络条件下仍然经济上不可行的用例。
第七节:用例适配与设计模式
本章探讨的技术特性描绘出一个清晰的轮廓:Solana在需要原子可组合性与高速执行相结合的应用程序中表现出色,但在其他优先事项占主导地位的领域则面临挑战。
2026年的升级周期,可能是该网络历史上最具雄心的,旨在将Solana转变为一个交易所级环境,使原生链上订单簿能够在延迟、流动性深度和公平性方面与中心化交易所展开有效竞争。
其愿景不亚于成为一个去中心化的纳斯达克,尽管Alpenglow和生产就绪的Firedancer是否真的能在2026年推出仍然是一个悬而未决的问题。
Solana的路线图历来雄心勃勃,整个行业范围内的重大协议升级通常会比宣布的时间更长。
Solana的优势领域
模因币交易是Solana找到的最强产品市场契合点。
第二节中描述的费用经济学和确认速度支持了一种快速、实验性的交易风格,这在其他地方是不经济的。
小额投机、频繁调仓和快速退出之所以可行,是因为每笔交易的成本可以忽略不计。
生态系统已经通过移动优先的设计充分利用了这一点:
像Phantom和Moonshot这样精致的iOS和安卓应用,感觉像是原生手机应用,而不是笨拙的浏览器插件。
像Pump.fun这样的平台创造了流畅的体验,用户可以在几秒钟内启动代币、交易和兑现。
领先的DEX聚合器Jupiter在多个流动性来源之间路由交易以优化执行,展示了复杂的多协议交互如何在单笔交易内原子性地发生。
除了零售投机之外,这些相同的特性还使得更复杂的金融基础设施成为可能。
与在速度较慢的区块链上占主导地位的被动自动做市商(AMM)相比,CLOB提供了更好的价格发现和更有效的资本利用。
传统的一层网络很难支持真正的CLOB,因为较慢的出块时间和较高的费用使得持续更新和取消订单变得不切实际。
Solana级别的性能还解锁了主动型AMM(或称"主动做市商AMM"),它们不断更新价格以跟踪外部市场,并像链上做市商一样管理库存。
这些在Solana上早期就取得了成功,现在才开始出现在最快的EVM Rollup上。
然而,即使拥有这些能力,像Hyperliquid这样要求最苛刻的应用仍然选择应用专用链。
这反映了一个更广泛的模式:对性能要求高的应用,无论通用一层网络多么强大,通常都会选择专用基础设施。
第三节详述的升级旨在缩小这一差距。Alpenglow低于200毫秒的最终性,加上DoubleZero、BAM、Harmonic和Raiku等基础设施层,共同瞄准了机构交易所需的性能水平。
尽管Hyperliquid(目前)占据了大部分链上永续合约市场,但Solana已确立了自己作为任何现货对交易的首选一层网络的地位。
生态系统已经认识到,性能需要达到与中心化参与者相当的水平才能有效竞争。
除了交易现有的加密资产,像xStocks这样的产品正在将代币化股票直接带到Solana上。这些传统股票的合成代表在链上交易,并具有Solana的结算速度和可组合性优势。
流动性、价格发现和投机注意力正在向单一链汇聚,该链提供更快的结算、更好的用户体验和更密集的资本集中。
这代表了Solana将资本市场引入链上的主张:
不是取代传统金融基础设施,而是提供一个替代场所,让相同的资产可以以不同的属性进行交易。
局限性与权衡
尽管有这些优势,Solana的架构也带来了明显的权衡,使其更有利于某些应用而非其他。
优先考虑最大程度去中心化而非性能的项目,可能更倾向于拥有更分散的验证者集和更低硬件门槛的一层网络。
Solana基于Rust的开发环境对于在以太坊Solidity上学习的开发者来说仍然不太熟悉,尽管Anchor框架显著降低了学习曲线。
需要最深流动性池的应用通常会流向已建立的网络。网络效应在金融领域很重要,先发优势为协议带来了显著的转换成本。
正常运行时间和活性是机构DeFi运营的关键考量。对正常运行时间有严格要求的机构通常会实施全面的风险管理:多区域RPC配置、自动故障转移和持续监控。
对于将近乎零停机视为硬性运营要求的组织而言,决策通常集中在Solana当前的可靠性记录是否符合其风险承受能力,或者是否需要采用多场所和多链应急方案。
















No Comments