Solana验证器客户端详解:你需要知道的一切

  • syndica
  • 发布于 2024-10-01 21:55
  • 阅读 50

本文概述了 Solana 验证器客户端的关键方面,包括验证器与客户端的基本概念,并重点介绍了可用的不同 Solana 客户端——Agave、Jito-Solana、Sig 和 Firedancer。此外,还深入了解了运行验证器的要素,包括硬件要求和经济考虑,旨在为开发人员、有抱负的验证器以及对 Solana 内部运作方式感兴趣的读者提供有价值的信息。

作为一种区块链,Solana 以其卓越的吞吐量和可扩展性脱颖而出,这得益于其验证者客户端的性能。这些专门的软件实现使节点能够执行诸如区块生产、交易验证和共识等基本任务。

本文提供了 Solana 验证者客户端基本方面的高级概述。我们将探讨验证者与验证者客户端的基本定义,并重点介绍可用的不同 Solana 客户端——Agave、Jito-Solana、Sig 和 Firedancer。最后,我们将深入了解运行验证者需要什么,包括硬件要求和经济考虑因素。

无论你是开发者、有抱负的验证者,还是仅仅对 Solana 的内部运作感到好奇,本指南都提供了关于你需要了解的关于 Solana 验证者客户端的简洁而全面的概述。

验证者和验证者客户端的基础知识

首先,重要的是要理解 Solana 生态系统中与验证者和节点相关的一些基本概念和区别。

验证者 vs. 验证者客户端

验证者是 Solana 等区块链上的计算节点的通用术语。验证者在维护网络完整性和安全性方面发挥着至关重要的作用。他们验证交易、提出新区块并确保符合网络规则。他们会执行检查,例如签名验证,以确保交易是合法的并符合网络的协议。

验证者客户端是一种特定的软件实现,使验证者能够连接到 Solana 区块链并执行其所需的职责。验证者客户端允许节点执行必要的操作,例如验证交易和生成区块。虽然不同的客户端都将遵循相同的通用协议,但每个特定客户端的实现方式可能不同。例如,以太坊和 Solana 都有用不同编程语言实现的多个客户端。

![](https://img.learnblockchain.cn/2025/06/12/1-Language-Diversity.png)

验证者节点 vs. RPC 节点

与验证者相关的另一个重要区别是验证者节点远程过程调用 (RPC) 节点之间的区别。虽然验证者和 RPC 节点对于 Solana 都是不可或缺的,但它们服务于不同的目的和功能。

Solana 验证者节点负责提出和验证新区块、参与共识协议以及保护网络。他们根据其性能和正常运行时间获得奖励,从而确保区块链的稳健性和可靠性。验证者使用历史证明 (PoH) 等机制对交易进行时间戳,并使用委托权益证明 (dPoS) 参与共识。

Solana RPC 节点促进了开发者、用户和区块链之间的交互。它们提供 API 来查询区块链数据和提交交易,但不参与共识过程或区块创建。RPC 节点对于 dApp 至关重要,无需验证者角色固有的开销即可访问实时区块链数据。

诸如 Syndica 之类的 RPC 提供商提供了一种弹性节点架构,该架构可以自动扩展 RPC 节点,并且可以在它们之间进行负载平衡请求。此架构专为 Solana RPC 设计。

根据特定的验证者客户端,如果验证者节点的运营商启用它,则该节点还可以提供 RPC 功能。这通常需要付出性能代价,因为节点现在必须在与 Solana 网络的其余部分保持同步的同时为 RPC 请求提供服务。

要了解更多信息,请深入阅读我们关于 了解 Solana RPC 的文章。

![](https://img.learnblockchain.cn/2025/06/12/2-Blockchain-Network--1-.png)

Solana 中的验证者功能

现在我们已经确定了关键区别,我们可以回顾一下验证者在 Solana 上下文中的主要功能。这些功能可以大致分为三类:

  1. 区块生产
  2. 区块验证和重放
  3. 参与共识

这些功能都是 Solana 核心协议的一部分,必须由每个 验证者 执行。但是,不同的 验证者客户端 可能会以不同的方式实现这些功能。

区块生产

Solana 协议的一个重要方面是,验证者轮流单独担任领导者角色。领导者承担着为区块链生产新区块的角色。如果验证者没有担任领导者角色,它会将新收到的交易转发给当前领导者。当验证者成为领导者时,它会聚合来自各种验证者/RPC 客户端的传入交易,执行它们,并将它们组装成一个新区块。领导者利用 Solana 的 历史证明 (PoH) 机制来持续对交易进行时间戳,从而实现可验证且一致的事件顺序。新形成的区块以及更新的账本状态的签名由领导者广播到网络中的其余验证者。

区块验证和重放

当验证者从领导者那里收到最新区块的交易时,它会重新执行(重放)交易并执行多项检查以保证有效性。这些检查包括验证数字签名以确保交易已由账户持有人授权,检查交易格式是否正确,并确保区块符合 PoH 机制设置的预期顺序和时间。每个验证者都希望计算出完全相同的更新账本状态的最终签名,这使他们有信心投票支持新的交易区块。

参与共识

Solana 利用委托权益证明 (dPoS) 机制进行网络共识,该机制依赖于验证者根据其质押的 SOL 比例对区块进行投票。在这个系统中,任何 SOL 代币持有者都可以将其代币委托给验证者,从而使该验证者在投票时获得额外的权重并添加新区块作为领导者。质押的 SOL 数量越高,验证者的投票权重和被选为领导者的可能性就越大。验证者参与投票过程以确认和最终确定区块,至少需要三分之二的验证者投赞成票才能确认区块。

验证者通过多种奖励结构在经济上受到激励,我们将在本文的后面部分更详细地介绍这些奖励结构。维护高正常运行时间和最佳性能对于验证者来说至关重要,以最大限度地提高其奖励,因为停机时间和错过的时段会被处以罚款。具有强大性能设置的验证者将吸引更多的 SOL 委托,从而提高其盈利潜力。

为了帮助监控和优化验证者性能,可以使用许多公共 Solana 验证者仪表板。这些工具提供了对关键指标的实时洞察,例如交易确认时间、权益分配、APY 和佣金变化。验证者和质押者可以使用这些仪表板来跟踪业绩、接收诸如违规之类的事件警报,以及比较各种因素下的验证者。

例如,Stakewiz 提供了一个全面的 仪表板,该仪表板使用专有分数对验证者进行排名,该分数考虑了十几个指标,例如投票成功率、跳过率和权益分配。该仪表板还以可视化方式表示权益集中度,通过高亮显示权益较低的验证者来鼓励去中心化。

有关与验证者相关的仪表板和工具的完整列表,请参阅本文末尾的其他资源部分。

Solana 验证者客户端

目前有两个不同的 Solana 验证者客户端投入生产:AgaveJito-Solana。两个新的验证者客户端正在开发中:FiredancerSig。在本节中,我们将提供每个客户端的高级概述。

Agave

Anza 开发(以前是 Solana Labs 的一部分),语言:Rust

主要特性/创新:

  • 第一个 Solana 客户端: Agave 是由 Anza(前 Solana Labs 工程师的开发团队)从原始 Solana Labs 验证者软件中派生出来的。Anza 现在独立维护客户端的更新和功能增强。Agave 仍然是 Solana 上的主要客户端,因此,它是第一个集成由 Solana Labs 提出的新功能和协议升级的客户端。
  • 高性能: 作为原始的 Solana 验证者客户端,Agave 的革命性设计实现了极高的吞吐量和低延迟的交易处理,从而确立了 Solana 作为领先区块链的声誉。Agave 利用 Rust 的性能和安全特性,并采用先进的算法和数据结构来最大限度地提高交易验证和区块生产的效率。
  • 安全性和可靠性: Agave 的安全性通过积极的审计和及时的漏洞检测得到加强。Kudelski Security 审计了客户端的架构,并在 他们的报告 中强调需要进一步的大规模测试和改进,以处理诸如网络分区和资源耗尽之类的风险。Solana 基金会还为 Solana 的关键安全问题提供赏金,这已被证明是一种有价值的额外保障。例如,专门研究区块链的安全公司 BlockSec 在 Solana 的虚拟机 (rBPF) 中发现并修补了一个关键漏洞,然后才影响到主网。
  • 积极维护: Anza 会定期举行社区参与和反馈会议。使用 Agave 的验证者将站在 Solana 技术进步和网络改进的最前沿。例如,SIMD-0096 就是这样一项改进,这是一项最近的协议更改,用于调整优先级费用分配给验证者的方式。

资源:

客户端 GitHub 存储库:https://github.com/solana-labs/solana & https://github.com/anza-xyz/agave

Jito-Solana

Jito Labs 开发,语言:Rust

主要特性/创新:

  • MEV 集成: Jito-Solana 是第一个定制的 Solana 验证者客户端,它将 MEV 市场直接集成到其代码库中。这允许验证者和质押者通过 MEV 机会获得额外的奖励。MEV 搜索者向 Jito-Solana 市场提交交易包,验证者在其区块中包含出价最高的包。此系统使时段领导者能够从出价最高的 MEV 搜索者那里获得小费,从而显着提高其潜在收入。
  • 区块引擎: Jito Labs 区块引擎通过链下区块空间拍卖集成了中继器、搜索者和验证者。它模拟交易组合并将收入最高的包转发给验证者时段领导者以供区块包含。
  • 减少垃圾邮件: Jito-Solana 提供的主要改进之一是内置的打击网络垃圾邮件的机制。使用中继器和拍卖来处理高价值交易可以优先处理合法的交易并阻止垃圾邮件,从而有助于提高整体网络效率。
  • 安全性和可靠性: Jito-Solana 已经过严格的安全审计,包括由 NeodymeHalborn 进行的审查,这两家都是信誉良好的区块链审计机构。该客户端旨在具有弹性,即使在高网络负载下也能确保验证者保持正常运行时间和有效性能。
  • 兼容性和易用性: 验证者无需修改其现有硬件即可运行 Jito-Solana,并且除了 MEV 奖励减少 5% 之外,没有其他费用,这些奖励是增量的,不会影响质押奖励。这种易于集成使其成为希望优化其运营和盈利能力的验证者的一个实际选择。

资源:

Sig

Syndica 开发,语言:Zig

主要特性/创新:

  • 针对每秒读取次数 (RPS) 进行了优化: Sig 的开发重点是优化每秒读取次数 (RPS),这与优化每秒交易次数 (TPS) 的更典型方法不同。具体而言,Sig 旨在比 Agave 客户端更有效地处理繁重的读取调用,从而减少网络上的时段延迟。当节点因读取操作不堪重负并且无法与网络的其余部分保持同步时,时段延迟是 Solana 生态系统中常见的问题。
  • 代码可读性: Sig 的构建重点是可读性和简单性,从而提高了开发人员的代码可访问性并降低了新贡献者的入门门槛。Sig 旨在提供比其他客户端更简单的 Solana 验证者实现。 Zig 编程语言具有支持此目标的特定功能,例如透明的控制流和强大的错误处理,从而使代码库更易于维护和随时间扩展。
  • 底层优化: Zig 编程语言还允许 Sig 利用一些现代语言功能进行底层性能优化。Zig 与 C 代码无缝互操作的能力提供了显着的性能优势,并降低了某些错误的风险。例如,Zig 促进了使用高级系统功能,如用于高效异步 I/O 操作的 io_uring 和用于高性能网络数据包处理的 eBPF XDP。

资源:

Firedancer

Jump Crypto 开发,语言:C

主要特性/创新:

  • 高吞吐量: Firedancer 旨在突破交易处理的界限,达到每秒超过 100 万笔交易 (TPS)。预计这种性能提升将极大地提高 Solana 的能力,远远超过其当前 50,000 TPS 的理论限制。
  • 模块化架构: Firedancer 包含多个独立的 C 进程,称为瓦片,它们协同工作以处理各种区块链操作,例如数据包处理、区块分发和签名验证。这种模块化方法使每个瓦片都能够充分利用 CPU 的核心。它还通过确保即使在某些组件被破坏或发生故障时,系统也能保持运行来增强安全性和容错能力。
  • 内核旁路网络: Firedancer 采用使用 AF_XDP 的高性能内核旁路网络来实现高性能数据包处理。这种技术允许直接从网络接口缓冲区读取,绕过传统的内核网络堆栈并实现更快的数据处理。
  • 安全性和稳健性: Firedancer 利用了受高保证环境启发的安全模型,例如通常受到频繁攻击的 Web 浏览器。此外,Firedancer 尽量减少对第三方库的依赖来执行关键功能,从而减少潜在的攻击面和漏洞。
  • 零停机升级: Firedancer 的升级设计为无缝的,能够替换或更新各个瓦片而不会导致停机。这是通过存储验证者状态的共享内存对象来实现的,从而使系统在更新期间能够平稳地继续运行。

资源:

运行验证者

在 Solana 网络上运行验证者需要技术知识和对所涉及的财务动态的理解。在本节中,我们将介绍运行验证者节点的技术要求和经济性。我们还将介绍验证者必须监控的关键性能指标,以及社区可用的其他工具和资源。

技术要求

运行 Solana 验证者需要特定的硬件,以确保最佳性能和可靠性。虽然建议使用以下规范,但验证者应进行自己的性能测试。

最低和推荐硬件规范:

  • 中央处理器
    • 12 核/24 线程或更多
    • 2.8GHz 基本时钟速度或更快
    • SHA 扩展指令支持
    • AMD Gen 3 或更高版本
    • 英特尔 Ice Lake 或更高版本
    • AVX2 指令支持(使用官方发布二进制文件,否则自行编译)
    • 支持 AVX512f 会有所帮助
  • 内存
    • 256GB 或更多,建议使用具有 512GB 容量的主板
    • 建议使用纠错码 (ECC) 内存
  • 磁盘
    • PCIe Gen3 x4 NVME SSD 或更好
    • 为了支持 Solana 上的大量帐户:500GB 或更大,高 TBW(总写入字节数)
    • 账本,存储历史区块和交易数据的地方:1TB 或更大。建议使用高 TBW
    • 操作系统:(可选)500GB 或更大。SATA 可以
    • 操作系统可以安装在账本磁盘上,但测试表明使用单独的账本磁盘可以获得更好的性能
    • 帐户和账本可以存储在同一磁盘上,但由于高 IOPS,不建议这样做
    • Samsung 970 和 980 Pro 系列 SSD 在验证者社区中很受欢迎
  • 显卡
    • 目前没有必要
    • 验证者社区中的运营商目前不使用 GPU

重要的是要注意,如果运营商的目标也是提供 RPC,则运行验证者节点的硬件要求会更高。这包括需要更多的线程(因此,可用的内核和 RAM)来为这些请求提供服务。根据预期的 RPC 容量,可能还需要高带宽 NIC(网络接口卡)。

网络和数据带宽:

验证者必须具有稳定且高速的互联网才能管理数据进入和退出,这可能很大,具体取决于网络负载。

  • 最低:1Gbps 对称,商业级互联网连接
  • 首选:10Gbps 以获得最佳性能

软件:

预构建的二进制文件适用于支持 AVX2 的 CPU 上的 Linux x86_64(建议使用 Ubuntu 20.04)。MacOS 或 WSL 用户可以从源代码构建。

如果你正在考虑运行验证者,则有许多免费工具可以简化设置和维护。例如,solv 是一个开源 CLI,可简化 Solana 验证者管理,提供用于设置、性能监控、密钥管理、快照和质押的命令。

有关支持验证者设置和监控的更多工具和资源,请参阅其他资源部分。

验证者经济学

在决定是否运行验证者时,应考虑不同的成本和收入来源。我们将在下面介绍每一个。

硬件和服务器成本

运行 Solana 验证者的运营成本非常高,这主要是由于所需的高性能硬件和持续的服务器费用。验证者通常租用专用服务器硬件,因为内部管理硬件可能既复杂又昂贵。一个常见的选择是来自 LatitudeOVHcloud 等公司的裸机产品。服务器提供商通常会收取额外的数据出口成本,这是一个重要的成本组成部分,因为验证者客户端必须与 Solana 网络通信。根据特定的硬件配置和区域,租用验证者服务器的成本可能超过每月 700 美元。

投票和交易成本

运行验证者还会产生投票确认区块和参与共识机制的成本。每笔投票交易都会产生费用,通常每次投票 0.000005 SOL(5,000 lamports)。鉴于一个 epoch 跨越大约 2 到 3 天,并且验证者需要对每个区块进行投票,这可能导致每年大约 300-350 SOL 的成本,或大约每天 1 SOL。

总而言之,在服务器租用、数据带宽和投票成本之间,运行验证者的成本每年可能在 40,000 美元到 70,000 美元之间,具体取决于各种因素,例如你的服务器配置和数据使用情况。

质押奖励

权益奖励是 Solana 网络上验证者的主要收入来源,并且每个时期从通货膨胀池中分配一次。单个时期内单个验证者的奖励的基本公式如下:

![](https://img.learnblockchain.cn/2025/06/12/3-Staking-Rewards-Sum.png)

请注意,权益收益率和权益金额将取决于你是通过将 SOL 委托给验证者(并支付佣金)来间接质押,还是自己运营验证者并直接质押 SOL(并可能对额外的委托资金收取佣金)。

接收权益委托可能是验证者经济模型的重要组成部分。验证者可以吸引质押者,他们会将他们的 SOL 委托给验证者的节点,从而增加验证者的权益权重和被选为领导者的机会。然后,验证者根据其佣金率赚取由其委托权益产生的奖励的一部分。该过程包括设置投票帐户并确保 SOL 储备。为了参与质押,验证者必须确保其基础设施满足必要的性能标准,以提供可靠的服务并证明委托人的信任。

在上面的权益奖励公式中,总权益金额将包括验证者的自质押 SOL 加上从委托资金中赚取的佣金。验证者的总收益率可以计算如下:

![](https://img.learnblockchain.cn/2025/06/12/4-Validator-Staking-Yield.png)

从上面的公式中,我们可以看到收益率取决于以下因素:

  • 通货膨胀率: 这是由 Solana 协议预先确定的,并且每年都在下降。验证者受益于通货膨胀计划早期阶段的更高奖励。年度通货膨胀率在 2021 年初始化为 8%,并且设置为逐年下降 15%。通货膨胀目前约为 5%,最终将达到每年 1.5% 的长期固定利率。
  • % SOL 质押: 质押的总 SOL 的比例直接影响分配给验证者的奖励。目前,这个数字约为 SOL 供应量的 2/3。
  • 佣金率: 验证者收取的此佣金率通常在 0-10% 之间,并且是委托人为质押其资金而支付给验证者的价格。来自佣金的收入激励验证者保持高正常运行时间和性能,以吸引更多委托权益。
  • 验证者正常运行时间: 验证者的正常运行时间和成功的投票参与率最终将决定他们最终获得的奖励份额。
![](https://img.learnblockchain.cn/2025/06/12/5-SOL-Inflation-Schedule-vs-SOL-Total-Supply.png)

交易费用和 MEV

Solana 验证者还可以从交易费用和最大可提取价值 (MEV) 中获得收入。Solana 上的交易费用包括基本费用(0.000005 SOL)和可选的优先级费用,用于优先处理区块内的交易。

MEV 表示从包含、排除或重新排序区块内的交易中获得的利润。利用特定客户端(如 Jito-Solana)的验证者可以获得额外的 MEV 奖励。

结合质押奖励、交易费用和 MEV,平均验证者每月赚取大约 1.5 SOL;但是,这个数字将完全取决于验证者的总质押金额。

验证者利润计算器有助于通过考虑上面讨论的所有不同变量来估计潜在收益。例如,Cogent 验证者利润计算器 使用实时区块链数据来帮助验证者做出关于收益的明智决策。有关可用计算器的完整列表,请参阅其他资源部分。

监控性能指标

适当的监控对于维护高性能 Solana 验证者至关重要。验证者应使用 PrometheusGrafana 和其他工具来跟踪实时指标。以下是最重要的关键性能指标的摘要。

  • 节点指标: CPU、RAM、交换文件、磁盘空间、网络利用率和其他节点指标将有助于识别诸如内存泄漏、低效的代码执行或硬件限制之类的问题。在客户端版本升级期间或网络内出现新的使用模式时,尤其重要的是要监控这些问题。
  • 验证者正常运行时间: 验证者处于活动状态的时间百分比,即验证和参与共识。当验证者未在线时,网络会认为其有过失,并且其性能指标将受到负面影响。为了最大限度地提高奖励并最大限度地减少罚款,请确保你的节点具有足够的权益、足够的计算资源,并及时更新到最新版本的验证者客户端,从而实现 100% 的正常运行时间。
  • 验证者跳过率: 当处于领导者位置时,验证者未能在其分配的时段窗口期间生成已确认区块的Slot百分比。如果验证者有过失,或者大多数验证者投票支持不同的分叉,则可能会发生跳过。高性能验证者通常的跳过率低于 5%。
  • 验证者身份帐户余额: 用于支付投票交易费用的验证者帐户的余额。如果此帐户耗尽 SOL,则验证者将无法投票并变为过失。
  • 平均根距离: 验证者与网络最高区块之间的区块高度距离。定期将你的验证者的平均值与网络中的其他验证者进行比较。
  • 平均投票距离: 与根距离类似,这是验证者的投票相对于所有验证者中最新投票的距离。
  • 后续领导者跳过率: 与跳过率类似,但针对紧随你的领导者窗口之后的领导者进行测量。如果后续领导者的表现不佳,你的验证者可能无法在领导者交接过程中有效地传播区块。
  • APY: 验证者的权益帐户余额的增长率。年百分比收益率 (APY) 本质上是你的验证者的底线。目前,验证者获得的 APY 大约为 7%。将你的 APY 与其他验证者进行比较以评估整体性能。

附加资源:

Solana Labs 官方的关于运行验证者的文档提供了关于设置、维护和优化 Solana 验证者和 RPC 节点的全面指南,以及高效运行的最佳实践和先决条件。

Solana 基金会的新委托计划通过测试网参与、激励付款和投票成本覆盖,支持节点运营商最大限度地提高去中心化、可靠性和性能。满足性能标准的节点运营商可以从基金会获得匹配的权益,并逐步建立独立性,该计划旨在帮助新的验证者建立自己并增加其权益,同时为网络的去中心化做出贡献。

验证者设置和监控工具

智能验证者工具包 (SVT) 通过分析、警报和链上消息传递来简化 Solana 验证者的设置、监控和控制,提供从基本监控到完整节点控制的不同级别的管理。

“solv”CLI 工具通过提供用于设置节点、监控性能、管理密钥、处理快照和质押的命令来简化 Solana 验证者管理。

Solana 验证者管理器使用 Ansible 脚本自动执行引导和维护 Solana 验证者节点的过程,这些脚本遵循一致、可靠的节点管理的最佳实践。

本 AWS 指南展示了如何在 AWS 上部署 Solana 共识和 RPC 节点,涵盖了节点类型、推荐的 EC2 配置以及单节点和高可用性部署的设置选项。

Solana 导出器是 Solana 验证者节点的模块化监控解决方案,以 Rust 语言实现。它包括 Prometheus 导出器、用于轻松部署的 Docker 容器和示例 Grafana 仪表板。该工具通过 Prometheus、Grafana 和警报的设置说明,帮助你监控验证者性能、管理权益池和跟踪集群运行状况。

Solana 验证者监控工具可以使用 Telegraf 轻松设置 Solana 验证者的性能监控,以收集指标并将其发送到仪表板,从而帮助运营商以最小的资源影响来跟踪验证者和服务器性能。

验证者利润计算器

这些计算器允许 Solana 验证者通过调整服务器成本、佣金率、委托权益、Solana 价格和运营成本来估算其收益。它们可以使用实时区块链和市场数据来帮助构建更详细的潜在利润预测,包括毛利润、验证者费用和复利回报的影响。

公共 Solana 验证者仪表板

  • 原文链接: blog.syndica.io/a-solana...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
syndica
syndica
News & research from Syndica: low latency Solana RPC, data streams, Sig Validator & more