Agave 4.1 更新:你需要知道的一切

Helius 发布于 2026-06-30 16:10 阅读 15

Agave 4.1 是 Solana 核心验证器客户端的重要升级,专注于性能提升和未来扩展。

Agave 4.1 更新:你需要知道的一切

简介

在 Agave 4.1 中,Solana 的核心验证器客户端持续稳步演进,在提供性能改进的同时,也为更大区块、200ms Slot 时间以及最终 Alpenglow 的上线奠定了基础。

4.1 发布周期值得注意的更新

  • 更快的发布节奏,重大版本现在每六周发布一次
  • 持续的 Alpenglow 准备工作,包括 BLS 公钥管理*、验证器入场券*以及社区测试集群
  • XDP 采用率超过关键网络阈值
  • 额外的 Pinocchio 重写,包括 p-memo 和 p-ATA
  • 降低验证器 RAM 使用量
  • 为 200ms Slot 做准备**

\* 特性门控升级

\\ 预计在 Agave 4.2 中实现

除了核心客户端的工作,Anza 和更广泛的生态系统也在并行推进若干重大举措:

  • Constellation: Constellation 提出了在规模化的生产区块链上首个形式化的、协议级别的多并发提议者(MCP)实现。Constellation 没有给单个领导者广泛的交易包含自由裁量权,而是引入了提议者和证明者,限制领导者可以从有效区块中排除的内容。
  • 量子加固: Anza 的研究团队已开始探索如何保护 Solana 免受未来量子对手的攻击,包括对后量子签名、账户迁移、共识签名、区块传播和链上签名验证的研究。
  • 经济升级: 新一轮的代币经济学提案也在酝酿中。SIMD-550 提议将 Solana 的通缩率翻倍,从 -15% 提高到 -30%,而 SIMD-553:资源和包含费用 提议将当前的签名费用拆分为支付给领导者的基础包含费用和基于请求成本单位销毁的资源费用。
  • 新的治理工具: 下一轮的经济提案也正在通过改进的治理基础设施形成。新工具不仅允许验证者,还允许质押者直接参与 Solana 治理,扩大了核心协议变更的决策参与范围。

现在有太多事情在发生。

Agave 4.1 减少 RAM 使用量

无论你是验证者运营者还是开发者,本指南都为你提供了充分利用最新改进所需的更新和见解。本文的每一节都是独立的,读者可以专注于最相关的主题。

在撰写本文时,Agave v4.1.0-rc.1 已被推荐在主网上普遍使用。验证者们,是时候升级了!

Alpenglow 准备就绪

Alpenglow 共识升级的许多基础工作正在 Agave 4.1 发布周期中落地。这些变更使网络为从 Tower BFT 过渡到 Alpenglow 做好了准备,包括投票程序中的 BLS 密钥管理、验证器入场券和快速领导者交接标记。

社区测试集群

Alpenglow 在主网激活的剩余路径现在在很大程度上依赖于大量的真实世界测试。自五月以来,一个由大约 100 个地理分布验证器组成的社区测试集群一直在实时网络环境中运行该升级,在主网激活之前测试 Solana 当前基于 Tower BFT 的共识与 Alpenglow 之间的过渡。

目标是使启动过程尽可能平稳。集群上的验证器一直在 Tower BFT 和 Alpenglow 之间切换,在实际运营者条件下演练迁移路径,而不是仅依赖受控的内部测试。讨论在 Solana Tech Discord 的 ag-community-cluster 频道 中进行,集群的实时活动可以通过来自 Valid BlocksStaking FacilitiesNoders 的社区仪表板进行跟踪。

Alpenglow 测试集群

BLS 公钥管理

SIMD-0387:投票账户中的 BLS 公钥管理 将在 Agave 4.1 发布周期中激活。这为投票程序添加了所需的基础设施,使验证器能够在 Alpenglow 之前在其投票账户中注册 BLS 公钥。Alpenglow 使用 BLS 聚合签名,使投票的聚合和验证成本更低,但 BLS 公钥与当前使用的 Ed25519 投票授权密钥不同。

验证者可以在其投票账户中添加 BLS 公钥,同时继续使用现有的 Ed25519 投票授权密钥进行操作。一旦 Alpenglow 激活,没有注册 BLS 公钥的投票账户将无法参与新的投票过程。

Alpenglow 验证器入场券(VAT)

Agave 4.1 发布周期还将包括主网激活 SIMD-0357,该提案实现了验证器入场券(VAT)。VAT 旨在保持类似的验证器成本结构,因为 Solana 正在从当前 Tower BFT 下的投票交易模式过渡。

目前,验证者在投票时持续支付投票交易费用,对于持续投票的验证者,每个 epoch 累计约 2.1 SOL。在 Alpenglow 下,这些投票交易被新的共识设计取代,因此 SIMD-0357 引入了每 epoch 一次的入场成本。每个有资格参与 Alpenglow 投票的验证者每个 epoch 支付 1.6 SOL 的 VAT,保持类似的经济壁垒,同时降低 Alpenglow 启动后验证者集合立即不受控制地扩张的风险。

实现是在 epoch 边界处理的。当进入新 epoch 时,运行时计算下一个 epoch 的验证者集合,筛选出同时拥有注册 BLS 公钥和足够 lamports 支付 VAT 及租金的投票账户,然后从这些被接受的验证者的投票账户中扣除 VAT。这些 lamports 直接发送到焚烧炉账户。如果超过 2,000 个验证者符合条件,则投票集合按质押权重设定上限,选择排名靠前的合格验证者。

从操作上讲,这改变了验证者运营者需要将资金存放在何处。当前投票交易费用从验证者身份账户支付,该账户必须是一个热密钥对以进行正常的验证者操作。使用 VAT,入场成本改为从投票账户中扣除。

快速领导者交接标记

最后,SIMD-0337:Alpenglow 快速领导者交接标记 的激活将添加新的区块标记,允许 Alpenglow 领导者在区块开始时声明区块的父区块,并在必要时在流式传输该区块时更新父区块。这些标记支持快速领导者交接,旨在减少领导者之间的同步延迟。

更大的 XDP 采用率与通往 1 亿 CU 的道路

XDP(eXpress Data Path) 是 Agave 用于加速 Turbine 的高性能网络路径。它允许 Agave 在网络接口卡附近加载 eBPF 程序,使分片流量绕过标准 Linux 数据包处理路径的大部分。XDP 的采用对于网络实现 1 亿 CU 区块的长期目标至关重要。

采用率现已跨越一个重要阈值。本月早些时候,网络出现了"翻转",运行 XDP 的领导者多于不运行的。目前,超过三分之二的网络已激活 XDP。Agave 4.1 通过移除 XDP 支持的实验性标签,并将旧的 --experimental-retransmit-xdp-* 标志替换为 --xdp-interface--xdp-cpu-cores--xdp-zero-copy 来反映这种成熟度。在 Agave 4.2 中,XDP 计划默认启用。

对于尚未切换的验证者运营者,Solana 基金会升级页面Anza 的设置指南 提供了实用的兼容性检查清单,涵盖内核支持、网络硬件、验证者能力、启动标志和验证步骤。下面是一个有用的驱动和 NIC 兼容性指南。

驱动和 NIC 的 XDP 兼容性指南

更多 Pinocchio 程序重写

p-token 的成功上线最近证明,对 Solana 最常用的程序进行有针对性的重写可以释放出显著的网络级计算节省。作为 SPL Token 程序的即插即用替代品,p-token 将计算单元(CU)消耗降低了约 95%,这意味着标准代币交易的效率提升了约 19 倍。Token 程序指令以前占区块总 CU 使用量的约 10%。通过将这些指令的成本降低到原来的约 5%,p-token 释放了接近 9.5% 的总区块容量。

p-token 中的"p"代表 Pinocchio,这是一个由 Anza 开发的用于编写 Solana 程序的优化、高性能、零依赖库。Pinocchio 替代了标准的 solana-program crate,后者在指令和账户数据处理中广泛使用了零拷贝类型。

Anza 现在正在使用 Pinocchio 重写其他核心程序。目标不是引入新标准或强制进行应用层面的迁移,而是使现有的、广泛使用的程序执行起来显著更便宜。

P-memo 程序

第一个例子是 p-memo,它是 SPL Memo 程序的 Pinocchio 重新实现,已经在主网上线。Memo 程序很小,但效率提升仍然惊人。在没有签名者的情况下,p-memo 消耗 287 个 CU,而当前的 Memo 程序消耗 2,022 个 CU,约为现有成本的 14%。一旦有签名者,差异变得更加显著:有一个签名者时,p-memo 使用 513 个 CU,而当前程序使用 13,525 个 CU;有两个签名者时,p-memo 使用 628 个 CU,而当前程序使用 25,111 个 CU;有三个签名者时,p-memo 使用 743 个 CU,而当前程序使用 36,406 个 CU。这意味着在签名者较多的情况下,p-memo 将计算消耗减少到当前程序成本的 2-4%。

P-ATA 程序

p-ATA 的工作也在进行中,它是关联代币账户程序 的 Pinocchio 重新实现。ATA 程序定义了钱包、代币铸币厂和用于持有该铸币厂的代币账户之间的标准映射。它提供了一种确定性方法来派生用户的关联代币账户,并允许任何人在该账户不存在时为接收者创建它。

ATA 程序是网络上第五大被调用的程序。根据 Anza 团队的估计,它出现在约 11.9% 的交易中,并占约 13.3% 的总 CU 消耗。该重写可以将加权平均 CU 使用量降低 80.9%,并且随着与 p-ATA 一起添加的新指令,预计还会有进一步的节省。按当前网络使用量计算,这大约相当于全局主网 CU 节省 10%。在 Anza 的采样中,p-ATA 每个区块释放了超过 278 万个 CU。

P-token、p-memo 和 p-ATA 可能不是这项工作的终点。Token-2022 程序是另一个需求很高的程序。更广泛地说,Anza 使核心程序成为 no_std 的努力为以更少的依赖和更低的计算成本重写更多 Solana 基础程序奠定了基础。

减少程序入口点开销

计划在 Agave 4.1 发布周期期间激活的一个相关变更是 SIMD-0449:程序输入中的直接账户指针,它优化了程序入口点。目前,ABIv1 sBPF 程序必须解析程序输入中序列化的账户部分以找到账户边界,并构建传递给程序的账户切片。SIMD-0449 通过让 VM 在程序输入中附加一个直接账户指针切片来改变这一点,使用 VM 在准备调用时已经知道的边界信息。

这对于 Pinocchio 风格的程序尤其相关,因为账户解析占入口点成本的很大一部分。使用直接账户指针,入口点可以在不遍历整个账户部分的情况下访问账户,从而使入口点计算无论账户数量多少都基本恒定。

更新的基准测试中,一个包含 64 个账户的 Pinocchio 入口点从 504 个 CU 下降到估计的 7 个 CU,而较小的账户集也收敛到相同的低 7 个 CU 成本。

减少至 200ms Slot

最令人期待的性能改进之一是将 Solana 的目标 Slot 时间从 400ms 减少到 200ms。这不太可能在 Agave 4.1 发布周期中推出,更可能随 Agave 4.2 一起进入主网。然而,尽快将这一重要升级带到主网的动力越来越大。

SIMD-0525:减少Slot时间 提议分阶段推出,从 400ms Slot 到 350ms,然后 300ms,再 250ms,最后达到 200ms。每个步骤都是特性门控的,让客户端团队和运营者有机会在进入下一阶段之前观察更短 Slot 下的网络。Anza 已经在内部测试了数月的 200ms Slot,团队认为网络已准备好进行激进的 Slot 时间缩减。对重放阶段的改进使这一变更更加实用:重放一个完整的 400ms Slot 现在大约需要 40ms。

动机很简单。更短的 Slot 减少了用户的确认和最终性延迟。它们还缩短了每个领导者的时间窗口。目前,Solana 的领导者跨度是四个连续 Slot,这给领导者在 400ms Slot 下提供了 1.6 秒的窗口。在 200ms Slot 下,该窗口降至 800ms。这通过减少恶意领导者在下一个领导者有机会产生区块之前可以延迟、重新排序或选择性包含交易的最坏情况时间,改善了市场结构。

更短的 Slot 还为应用程序提供了链上更细粒度的时间视图。这对于需要判断 Slot 新鲜度的系统很重要,包括预言机消费者和专有的 AMM 风格做市商。

该提案经过精心设计,以避免改变 Solana 的经济学。slots_per_year 按反比例增加,以保持 SOL 通胀时间表。在 Alpenglow 下,验证器入场券(VAT)成本也随 Slot 时间阶段进行缩放,使入场成本保持在预期的大约每天 0.8 SOL 附近。此外,每 Slot 的工作限制与更短的目标 Slot 时间成比例减少,因此网络每秒可以处理的工作量大致保持不变。

几个核心假设保持不变。领导者跨度仍然是四个 Slot,epoch 仍然固定为 432,000 个 Slot,每 Slot 的 tick 数仍然是 64。由于 epoch 在 Slot 数量上固定,200ms Slot 将 epoch 的长度从大约两天减少到一天。

一个争议点是在 Alpenglow 之前激活更短 Slot 时间对验证者投票成本的影响。更快的 Slot 意味着每天更多的投票,因此验证者每天的投票成本更高。投票交易费用是验证者运营者最大的单项成本。投票交易的定价统一为 0.000005 SOL,这些交易成本每天约为 1.086 SOL。在 200ms Slot 下,这些成本将大致翻倍。

其他值得注意的更新

在 Agave 4.1 发布周期中,还有几个较小但值得注意的改进即将激活,从更精确的验证者佣金率到新的加密原语,以及移除可升级加载器中的一个拒绝服务攻击向量。

验证者佣金率提高精度

作为 Agave 4.1 发布周期的一部分,特性门控的 SIMD-0291:以基点计算的佣金率 升级将在主网激活。目前,验证者佣金率只能设置为整数百分比。这意味着验证者可以将佣金设置为 5% 或 6%,但不能设置为 5.5%、5.25% 或 5.01%。

通过此更新,验证者可以通过以基点为单位设置佣金率来获得更精细的控制,其中 100 个基点等于 1%。投票程序增加了一个新的 UpdateCommissionBps 指令,允许投票账户上的授权提款人以更高的精度更新验证者的通胀奖励佣金。对于验证者来说,这使得佣金设置更加灵活和具有竞争力。

这一变更是与新的 Vote Account V4 相关的若干更新之一。它还有助于为预计激活 SIMD-0123:区块收入分配 做好准备,该提案将使区块奖励在协议内分配。

SHA-512 系统调用

SIMD-0512:Sha512 系统调用 引入了一个新的系统调用,使链上程序能够通过运行时直接访问 SHA-512 哈希,使用一个与现有哈希系统调用(如 sol_sha256sol_keccak256sol_blake3)接口一致的接口。

SHA-512 是 Ed25519 签名验证中使用的核心原语,它已经作为内部依赖存在于 Agave 和 Firedancer 验证者客户端中。然而,到目前为止,它还没有暴露给链上程序。在链上直接哈希一条短消息是昂贵的,将消耗数千个 CU,而通过系统调用则少于 100 个 CU。

使用 sol_sha512,程序可以以系统调用的成本计算 SHA-512 哈希,并直接接收标准的 64 字节摘要。该变更是增量的且特性门控的,因此不使用新系统调用的程序不受影响,现有的哈希系统调用保持不变。

加固可升级加载器

Agave 4.1 发布周期还将看到特性门控的 SIMD-0431:加载器 V3:最小扩展程序大小 发布,该提案为加载器 V3 的 ExtendProgram 指令添加了最小扩展大小。一旦激活,程序必须至少扩展 10,240 字节(10 KiB),除非程序数据账户的大小距离 10 MiB 的最大账户大小已不足 10 KiB。

这一变更解决了当前可升级加载器中的一个细微的拒绝服务攻击向量。ExtendProgram 是无需许可的,意味着任何人都可以扩展可升级程序的数据账户,甚至小到一个字节。由于每次扩展都会使当前 Slot 的程序缓存条目失效,一次廉价的一字节扩展可以暂时中断对程序的访问。

该变更并没有使 ExtendProgram 变成需要许可的,而是保留指令的无许可设计,同时使滥用在经济上不具吸引力。在新的 10 KiB 最小值下,每次扩展花费大约 0.072 SOL 的免租金 lamports。

对于合法的程序升级,影响应该是有限的。需要少于 10 KiB 额外空间的程序将需要扩展至完整的最小值(10 KiB),但额外容量仍可用于未来的升级。该 SIMD 还保持指令的账户、签名者要求、CPI 限制和现有的多重签名工作流程不变。

结论

Agave 4.1 是一个实质性的客户端升级,汇集了广泛的性能改进和优化。展望未来,Agave 4.2 将变得更加重要,包括更大的 4096 字节交易大小、减少至 200ms 的 Slot 时间,以及可能期待已久的 Alpenglow 共识升级。

更多资源

  • 原文链接: helius.dev/blog/agave-v4...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~

相关文章

0 条评论