Skip to content
B

차트 분석, 전문가 관점을 받아보세요

무료로 시작하기

Solana

并行执行

Parallel Execution

Solana的核心创新之一:交易在提交时需预先声明所涉及的读写账户,系统据此识别互不冲突的交易并在多个CPU核心上同时处理,大幅提升吞吐量。相比之下,以太坊采用单一队列串行处理,类似于只有一条收银通道。

快速掌握要点

第三章:Solana

概述

Solana 是一条于 2020 年正式上线主网的高性能 Layer 1 区块链,以"全球最快的区块链"为目标而设计。它旨在通过根本性的架构创新,从底层解决以太坊所面临的可扩展性难题——即交易处理速度慢、手续费高昂等问题。Solana 的独特之处在于,它并非对现有技术的渐进式改良,而是将并行执行、历史证明(Proof of History)等一系列自主创新的核心技术有机结合,以实现每秒处理数万笔交易的目标。

本章将深入探讨构成 Solana 的七大核心概念。内容涵盖:架构层面的创新——并行执行与历史证明(PoH);提升安全性与开发体验的程序派生地址(PDA);颠覆传统手续费结构的本地费用市场;以及提升网络效率的 Gulf Stream 与 Turbine 协议。最后,本章还将介绍决定 Solana 未来走向的 Alpenglow 升级方案,帮助读者全面理解 Solana 的现状与前景。

Solana 凭借卓越的性能备受瞩目,但与此同时,网络宕机、中心化隐患等现实局限也饱受批评。本章旨在帮助读者在深入了解 Solana 技术优势的同时,客观审视其背后的权衡取舍,从批判性视角理解 Solana 应对区块链可扩展性问题的独特解法。


并行执行

定义

并行执行是 Solana 处理交易的核心机制:访问不同账户(account)的多笔交易,可以同时在多个 CPU 核心上并发运行。这一机制的前提是一项关键规则——交易在提交时必须预先声明其所需读取或写入的账户列表。运行时(runtime)根据这份声明,提前判断交易之间是否存在冲突:无冲突的交易并行处理,访问同一账户的交易则按顺序串行执行。Solana 通过名为 Sealevel 的并行运行时来实现这一机制。

核心要点

  • 超市多收银台 vs. 单一队列:以太坊采用单一队列方式,对全局状态(global state)进行顺序访问。Solana 则更像一家大型超市同时开放多个收银台——访问不同账户的交易可以在各自独立的"通道"中并发处理。只要顾客(交易)结算的商品(账户)互不相同,便无需排在同一条队列里。

  • 预先声明的重要性:所有 Solana 交易在执行前必须明确列出所涉及的账户。这一要求是并行执行的前提条件,但同时也给开发者带来了额外的设计负担。对于那些需要在运行时动态确定访问对象的架构,在 Solana 上实现起来会更为复杂。

  • 性能优势:并行执行是 Solana 声称能够达到每秒数万笔交易吞吐量的最根本原因。现代服务器通常配备数十个 CPU 核心,理论上可实现与核心数量成正比的处理能力提升。

  • 冲突时回退串行处理:若多笔交易访问同一账户,仍需串行处理。当大量交易集中涌向同一账户(如热门 DeFi 协议或 NFT 铸造合约)时,并行执行的优势将大打折扣,进而产生性能瓶颈。

  • 与以太坊的根本差异:以太坊 EVM 以全局状态转换(global state transition)为基础模型,天然适合串行执行。若要为以太坊引入并行执行,需要额外设计账户访问预测或乐观并行化等复杂机制。而 Solana 从设计之初便将并行执行作为第一原则,二者在架构理念上存在根本差异。

关联概念

并行执行与 Solana 所有性能相关的概念紧密相连。本地费用市场与并行执行相辅相成——当大量交易集中访问某一账户时,仅该账户相关的手续费上涨,不会干扰其他并行执行的流程。Gulf Stream 通过提前将交易转发给出块者(leader),有助于提前收集并整理账户信息,为并行调度做好准备。Alpenglow 升级在保留并行执行架构的基础上大幅优化共识层,旨在进一步放大两者之间的协同效益。


历史证明 (PoH)

定义

历史证明(Proof of History,PoH)是 Solana 独创的一种加密时间记录机制。它通过持续生成 SHA-256 哈希序列,从数学层面证明特定事件以特定顺序、在特定时间点发生。在传统区块链中,节点之间需要通过复杂的消息交换来就事件的顺序与时间达成共识。PoH 以加密时间戳取代这一过程,有效降低了共识开销,从而提升交易处理速度。值得注意的是,PoH 本身并非独立的共识算法,而是作为时间记录层,辅助 Solana 基于权益证明(PoS)的共识机制 Tower BFT 运行。

核心要点

  • 连续哈希序列:PoH 通过将上一个哈希的输出作为下一个哈希的输入,构建一条连续哈希链(sequential hashing)。由于每次哈希运算都需要消耗一定时间,某个哈希值的存在本身即可证明其之前的所有哈希必然已按顺序完成计算——这意味着事件顺序无法被伪造。

  • 充当可信的全局时钟:在传统分布式系统中,节点之间的时间同步是一个难题。PoH 为区块链提供了一个内嵌的加密时钟,无需依赖外部时间戳服务器,所有参与者均可验证事件的相对顺序。

  • 与 Tower BFT 的关系:PoH 本身不负责达成共识,实际的共识由 Tower BFT 完成。PoH 为其提供底层时间信息,验证者在 PoH 所构建的槽位(slot)与纪元(epoch)结构之上进行投票。

  • 与出块者调度的协同:Solana 会提前指定每个槽位的出块者(leader)验证节点。PoH 的时间流动与出块者调度表保持同步,确保每位出块者在其槽位内准确处理交易,并在时间节点到来时顺畅移交给下一位出块者。

  • 在 Alpenglow 中被废弃:PoH 曾是 Solana 的标志性技术,但在即将推出的 Alpenglow 升级中将被彻底移除。固定时隙调度机制(fixed slot scheduling)将取代 PoH,预计能够实现更简洁、更快速的共识流程,并以新的方式承担原先由 PoH 完成的时间记录职责。

关联概念

PoH 与 Solana 的整体共识架构紧密相连。并行执行依托 PoH 所构建的时间结构与出块者调度表运作。Gulf Stream 利用 PoH 提供的出块者调度信息,将交易提前路由至对应的出块者。与 PoH 关联最为密切的概念是 Alpenglow——正是因为 Alpenglow 要彻底取代 PoH,理解 PoH 的工作原理,便成为理解 Alpenglow 究竟改进了什么的关键所在。


程序派生地址(PDA)

定义

程序派生地址(Program Derived Address,PDA)是 Solana 中由程序(智能合约)通过数学方式生成的一类特殊地址,其对应的私钥并不存在。普通的 Solana 钱包地址由公私钥对构成,私钥持有者可自由管理该地址下的资产。而 PDA 则是通过将特定程序的 ID 与种子(seed)值组合,推导出椭圆曲线之外的一个点(off-curve point),因此不存在任何对应的私钥,只有该程序本身才能对 PDA 进行"签名"并实施控制。

核心要点

  • 解决托管保管问题:在 DeFi 场景中,托管(escrow)功能要求第三方临时持有资金。传统方案需要某一方(或多签)持有管理密钥,这本身存在内部人员挪用或遭受黑客攻击的风险。由于 PDA 不存在私钥,任何人都无法擅自取走 PDA 中保管的资金——资金的流动只能在所属程序的逻辑允许的条件下进行。

  • 仅程序可为 PDA 签名:Solana 运行时允许特定程序以其所属 PDA 的名义进行签名,这一机制称为"程序签名"(program signing),或"带签名者的跨程序调用(CPI with signer)"。正是凭借这一机制,程序才能移动 PDA 账户中的资产或修改其数据。

  • 确定性地址生成:只要程序 ID 和种子值相同,PDA 始终生成同一个地址。这种确定性(deterministic)特性确保任何参与者都能提前计算并验证特定 PDA 的地址,从而保障透明性与可预测性。

  • 广泛的应用场景:除托管外,PDA 还被广泛应用于 AMM(自动做市商)流动性池、NFT 元数据存储账户、用户状态存储账户、链上配置数据等众多场景,是 Solana DApp 开发的核心编程模式。

  • 与以太坊的比较:以太坊智能合约同样拥有自己的地址并可持有资产,但 Solana 的 PDA 凭借其独特的账户模型与程序所有权结构,以更明确、更精细的方式实现了资产托管。

关联概念

PDA 与 Solana 的整体编程模型息息相关。在与并行执行的关系上,包含 PDA 的交易同样需要预先声明该 PDA 账户,以便纳入并行调度。在与本地费用市场的关系上,当大量用户同时访问同一 PDA(例如热门 DEX 的流动性池)时,该账户的手续费将随之上涨。PDA 是 Solana DApp 安全设计的基石,在 Alpenglow 升级落地后,也将作为编程模型的核心要素得以保留。


本地费用市场

定义

本地费用市场(Local Fee Markets)是 Solana 的手续费定价机制——手续费并非由全网拥堵程度决定,而是在单个账户(account)层面独立确定。在以太坊中,基础费用(base fee)取决于整体网络需求,某个 DApp 出现拥堵时,与之毫无关联的其他交易手续费也会随之攀升。而在 Solana 的本地费用市场中,当某个账户集中涌入大量交易时,只有涉及该账户的优先手续费(priority fee)会上涨,其他账户的交易不受任何影响。

核心要点

  • 账户级别的手续费定价:Solana 的每笔交易均包含基础手续费(base fee)和可选的优先手续费(priority fee)。当大量交易竞相访问同一账户时,针对该账户的优先手续费竞争便会随之出现。这一效应在热门 NFT 铸造或 DeFi 清算(liquidation)等需求高度集中的场景下尤为显著。

  • 与以太坊全局费用市场的对比:在以太坊上,一场热门的 NFT 铸造活动可能导致全网 gas 价格骤升,使得一笔普通的代币转账也变得代价高昂。Solana 的本地费用市场从机制设计上解决了这一问题,将拥堵的影响范围严格限定在相关账户之内。

  • 与并行执行的协同效应:本地费用市场与并行执行结合时能发挥最大效用。当拥堵账户的相关交易为争夺优先处理权而支付高额手续费时,访问其他账户的交易可在独立的并行执行通道中以低廉手续费正常处理,互不干扰。

  • 现实局限——垃圾交易攻击脆弱性:本地费用市场在理论上设计优雅,但在极端垃圾交易攻击或机器人流量泛滥时,其实际表现仍受到批评。当垃圾交易分散攻击多个账户,或网络层面出现全面饱和时,仅凭本地费用机制难以保障网络整体质量。这也是 Solana 过去多次出现性能下降的原因之一。

  • 与 QUIC 升级的配套:为了弥补垃圾交易问题,Solana 将交易传输协议从 UDP 切换为 QUIC,并引入了基于质押权重的服务质量保障(stake-weighted QoS)等补充措施。这在一定程度上也承认了本地费用市场机制本身的不足。

关联概念

本地费用市场是建立在并行执行架构之上的手续费机制。包含 PDA 的账户同样受到本地费用市场的影响——热门程序的 PDA 往往成为手续费竞争的焦点。Gulf Stream 在将交易转发给出块者的同时,也会携带优先手续费信息,供出块者据此决定交易处理的优先级。Alpenglow 通过大幅提升共识速度,有望间接减轻手续费竞争中的时间压力。


Gulf Stream

定义

Gulf Stream 是 Solana 的交易转发(transaction forwarding)协议。在比特币、以太坊等大多数区块链中,交易会被广播至公开的内存池(mempool),由所有节点保存,再由出块者(矿工或验证节点)自行挑选打包。Gulf Stream 则采取了截然不同的方式——它将交易直接发送给当前及即将上任的出块者(leader),而非广播至全网。这一机制之所以可行,是因为 Solana 基于 PoH 的出块者调度表可以提前确定未来多个槽位的出块者身份。

核心要点

  • 无内存池架构:Solana 不维护公开的内存池。借助 Gulf Stream,交易无需广播至全网,而是直接路由至所需的出块者节点,从而消除了广播环节产生的网络开销与延迟(latency)。

  • 利用出块者调度表:得益于 PoH 所构建的出块者调度表,Solana 网络中的所有节点都能提前知晓未来多个槽位的出块者安排。Gulf Stream 充分利用这一信息,将交易不仅发送给当前出块者,还提前转发给后续出块者,使其在开始生产区块之前便已备好待处理的交易。

  • 降低延迟:在公开内存池模式下,交易需先在全网传播,再由出块者挑选,这一过程不可避免地引入传播延迟。Gulf Stream 缩短了这一传播路径,减少了交易抵达出块者所需的时间,从而加快了交易确认速度。

  • 对 MEV 的影响:没有公开内存池,以太坊上常见的抢先交易(front-running)型 MEV 便难以实施。然而,在 Solana 中,出块者通过对收到的交易进行重新排序(reorder)来提取 MEV 的方式依然存在,相关讨论也在持续深入。

  • 中心化隐患:交易被直接路由至少数预定出块者的架构,理论上赋予了这些出块者审查(censor)特定交易或操纵处理优先级的能力,这也是外界对 Solana 架构去中心化程度提出质疑的论点之一。

关联概念

Gulf Stream 离不开历史证明(PoH)所提供的出块者调度表作为支撑。在 Alpenglow 升级中,随着 PoH 被彻底移除,出块者调度方式将随之调整,Gulf Stream 协议也预计将进行相应改造。在与本地费用市场的关系上,经由 Gulf Stream 转发的交易会携带优先手续费信息,出块者据此决定交易处理的优先顺序。Turbine 与 Gulf Stream 形成互补——若说 Gulf Stream 负责将交易汇聚至出块者,那么 Turbine 便负责将已生成的区块分发至其余验证节点。


Turbine

定义

Turbine 是 Solana 的区块传播(block propagation)协议。出块者生成区块后,需要将其传递给网络中的所有验证节点(validator)。若直接向数千个验证节点传输大体积区块数据,所需的网络带宽将极为庞大。Turbine 的解决方案是将区块拆分为称为"碎片(shred)"的细小数据片段,再通过分层树状结构逐级传播,从而大幅降低单个节点的带宽压力,使整个区块传播过程更加高效。

核心要点

  • 分片传播机制:Turbine 将区块切割为多个碎片(shred),每个碎片只有数百字节大小。这些碎片通过树状拓扑结构在验证节点之间逐层转发,每个节点只需接收并转发一小部分数据,而非承担完整区块的传输负荷。

  • 与 BitTorrent 的类比:Turbine 的设计理念与 BitTorrent 的点对点文件分发协议有异曲同工之妙——将数据分散分发,而非由单一来源向所有接收方传输完整数据,从而充分利用网络中各节点的上行带宽资源。

  • 纠删码(Erasure Coding)容错:Turbine 引入了纠删码技术,使节点即便未能收到全部碎片,也能通过已有的部分碎片恢复出完整区块数据。这大幅提升了网络在丢包或节点故障情况下的鲁棒性。

  • 规模化扩展能力:随着验证节点数量的增加,传统广播方式的带宽消耗会呈线性增长。Turbine 的树状分发结构将这一扩展压力分散至整个网络,使得节点数量增加时,单个节点的网络负担不会显著上升。

  • 与 Gulf Stream 的互补关系:Gulf Stream 负责在区块生产前将交易汇聚至出块者,Turbine 则负责在区块生产后将其高效分发至全网。二者共同构成了 Solana 交易生命周期中信息流动的完整闭环。

关联概念

Turbine 与并行执行紧密相连——只有验证节点及时收到完整的区块数据,才能有效验证并行处理的交易结果。Gulf Stream 与 Turbine 形成互补,覆盖了出块前后的两个阶段。在 Alpenglow 升级中,Turbine 的底层数据传播职能将由全新设计的 Rotor 层承接,进一步优化区块传播的速度与效率。


Alpenglow

定义

Alpenglow 是 Solana 计划推出的重大底层升级,将从根本上变革其共识与数据传播机制。此次升级的核心内容包括:以固定时隙调度(fixed slot scheduling)取代历史证明(PoH)机制、引入 Votor 共识协议以实现 1–2 轮投票即可达到最终确定性(finality),以及部署全新的 Rotor 数据传播层。Alpenglow 的终极目标是将 Solana 的中位最终确定时间从当前约 12.8 秒大幅压缩至 100–150 毫秒,同时彻底弃用历史证明机制。

核心要点

  • 废弃 PoH,引入固定时隙调度:PoH 作为 Solana 早期的标志性创新,其核心作用在于为网络提供可信的时间顺序记录。Alpenglow 以固定时隙调度取而代之——通过预先约定的固定时间间隔来组织出块节奏,不再依赖连续哈希序列来证明时间的流逝。这一转变简化了底层时间机制,为更快速的共识流程奠定基础。

  • Votor 共识协议:Alpenglow 引入的 Votor 协议旨在仅通过 1–2 轮验证节点投票即可达成交易的最终确定性。相比之下,现有的 Tower BFT 机制通常需要数十个确认槽位,最终确定延迟较高。Votor 大幅缩短了这一流程,是实现 100–150 毫秒最终确定性目标的关键所在。

  • Rotor 数据传播层:Rotor 是取代现有 Turbine 协议的新一代区块传播方案,专为配合 Alpenglow 的整体架构而优化设计。其目标是在保持高效大规模数据分发的同时,进一步降低传播延迟,使更快的共识流程能够落到实处。

  • 最终确定性的跨越式提升:从 12.8 秒压缩至 100–150 毫秒,意味着 Solana 的最终确定速度将提升约 100 倍。这一量级的改善将深刻改变用户体验,尤其在跨链桥接、高频交易、支付等对确认延迟高度敏感的应用场景中,其影响将尤为显著。

  • 对现有生态的影响:Alpenglow 的升级将影响 Solana 现有协议栈的多个层面。Gulf Stream 的出块者调度逻辑、验证节点的投票机制以及数据传播流程均需相应调整。不过,并行执行与 PDA 等核心编程模型将得以保留,链上应用程序无需进行大规模改造。

关联概念

Alpenglow 是本章所有概念的汇聚点。它直接取代了历史证明(PoH),是理解 PoH 何以被弃用的核心背景。Rotor 层将承接并升级 Turbine 的职能。固定时隙调度的引入也将促使 Gulf Stream 的交易转发机制进行相应调整。同时,Alpenglow 将与并行执行继续协同运作,在保留现有吞吐量优势的前提下,为 Solana 带来质的飞跃——从高性能区块链迈向兼具高性能与快速最终确定性的新一代基础设施。

ChartMentor

이 개념을 포함한 30일 코스

并行执行 포함 · 핵심 개념을 순서대로 익히고 실전 차트에 적용해보세요.

chartmentor.co.kr/briefguard

BG分析这个形态会怎样?

查看'并行执行'在真实图表中如何被BriefGuard分析检测。

查看实际分析