Alpenglow 是 Solana 共识算法的重大改革,旨在提高性能、简化协议并增强安全性。它通过 Rotor 改进区块传播,通过 Votor 改进投票机制,从而将交易最终确认时间从 12.8 秒缩短至 100-150 毫秒,同时降低验证者的运营成本。Alpenglow 还引入了“20+20”的弹性模型,提高了网络的容错能力,预计将于明年年初部署到 Solana 主网。
35 分钟阅读
2025 年 5 月 26 日
感谢 Brady、Wen Xu、Kobi、Quentin Kniep、Roger Wattenhofer 和 Anatoly Yakovenko 审阅本文档的早期草稿。
Alpenglow 共识算法代表了迄今为止对 Solana 核心协议的最重大改革。它借鉴了区块链研究的最新进展,从根本上重新架构了整个网络中达成共识的方式。
Alpenglow 是 Anza 新研究部门 的工作成果,该部门由世界顶级 计算机科学机构 之一的苏黎世联邦理工学院 (ETH Zurich) 的 Roger Wattenhofer 教授领导。作为分布式系统领域的权威专家,Wattenhofer 教授此前曾与人合着了 2024 年的论文《加粗 Halting the Solana Blockchain with Epsilon Stake 加粗》,该论文揭示了 Solana 当前共识协议中可能存在的活跃性漏洞。Wattenhofer 教授与他之前的博士生 Kobi Sliwinski 和 Quentin Kniep 一起在 Anza 工作。
该团队的任务是重新设计 Solana 的共识算法,使其更有效且可证明正确,同时保留其基于 Turbine 的架构。Alpenglow 结合了分布式系统研究的许多最新进展,尤其是在处理对抗性网络行为方面。
Alpenglow 这个名字源于德语单词 Alpenglühen,意思是“阿尔卑斯山的 glow”。它指的是日出或日落时在山峰上看到的 striking 的光线,是对该协议瑞士起源的致敬。
以下是 Alpenglow 预计将带来的主要好处的摘要。本文的其余部分将更深入地探讨每一个要点。
Alpenglow 对 Solana 的最主要好处是,交易最终确认时间缩短 100 倍,即用户交易在区块链网络上扎根的速度。根据验证者的地理位置,这将从 12.8 秒降至 100-150 毫秒,使 Solana 能够与更中心化的 Web2 基础设施竞争,并支持实时应用程序。
*根据地理位置和集群分布而波动。
借助 Alpenglow,所有共识活动都在链下进行。这将减轻交易处理单元 (TPU) 和重放的负载,它们将不再需要处理投票交易。
Alpenglow 还可以显着改善 小型验证者的经济效益。投票交易费用是验证者最大的运营开支。通过链下投票消除这些费用,参与成本将大大降低,从而使小型验证者更容易运营,并降低了为网络安全做出贡献的门槛。
其他优势包括简化的承诺逻辑和更慢的账本增长,因为投票交易不再消耗区块空间或膨胀账本大小。
这种转变还具有消除 Solana 每秒交易数 (TPS) 指标歧义的额外好处。如今,TPS 通常以两种方式报告:包括投票交易的总 TPS 和仅计算非投票交易的真实 TPS。
Alpenglow 通过消除 Solana 的几个遗留组件来简化达成共识的过程,包括历史证明、Tower BFT 和使用 gossip 进行投票传播。虽然它融入了现代区块链研究的前沿进展,但它并没有引入不必要的复杂性。
我们希望拥有尽可能简单的协议。性能是我们开发协议时的首要任务,但简单性也很重要
Roger Wattenhofer
Anza 研究主管
Alpenglow 的 Votor 和 Rotor 为未来的升级奠定了基础,例如 异步执行 和 多个并发 leader (MCL),从而使 Solana 能够进一步提高性能和协议演进。
历史证明 (PoH) 不是一种共识算法。相反,它是一种有助于达成共识的工具。这种混淆可能源于它的命名法——“X 证明”,对于那些熟悉工作量证明和 stake 证明的人来说,这意味着引用对象是一种共识算法。将其视为通过高效的交易处理来简化共识的“预共识”算法更有益。
从高层次上讲,PoH 是一种去中心化的时钟,用于证明对抗性网络中的时间。更正式地说,PoH 是一种加密时间戳函数,允许节点在不相互通信的情况下就事件顺序达成一致。它使用顺序的抗原像哈希函数来创建哈希链。Leader 使用这些哈希将时间戳应用于区块,以证明经过了一定的时间。由于所有哈希都已链接,因此 PoH 提供了历史记录,证明数据存在于特定时间点。
这种方法与其他链不同,后者通常在共识期间决定区块的排序,然后在事后添加时间戳。相反,在 Solana 上,首先构建一个加密可验证时钟,交易会针对该时钟进行流式传输,并且共识会验证预先排序的交易日志。哈希链接使时间排序变得无可争议。
Tower BFT 在分片(即部分区块)已传播到其他验证者并且网络已重放它们以确定该区块是否成为账本的一部分后运行。从概念上讲,它是一种类似于 pBFT 的共识算法,旨在利用历史证明的全网时钟。验证者不需要为每个 slot 进行同步共识,而是根据他们已经观察到的历史证明序列预先提交到未来的 slot,从而实现连续的区块生产。
验证者为每个 slot 投出一张票,并由他们的投票账户签名。对给定分叉的投票会导致该分叉被锁定(即超时)。锁定是指指定的 slot 周期,在此期间,验证者无法对另一个分叉进行投票。其想法是强制验证者提交到一个分叉,如果他们想切换分叉,则会以指数方式增加锁定。每次验证者对后代 slot 进行投票时,每个投票都会携带一个锁定计数器,从而创建一个“投票塔”的承诺。因此,如果验证者投票支持区块 X,那么他们将被禁止在指数级增长的未来 slot 数量(例如,1、2、4、8...)内对任何冲突的分叉进行投票。破坏锁定可以被证明和惩罚,尽管 slashing 尚未进入主网。
Solana 在 Tower BFT 下实现了两个级别的最终确认:乐观确认 和 确定性最终确认。
当生成一个新区块并且 ≥66% 的 stake 投票支持它时,该区块将被识别为领先或规范分叉的一部分。这被称为乐观确认,因为一旦超过三分之二的人投票支持它,该区块就会被标记为“已确认”的 承诺级别。Solana Labs(现在的 Agave)客户端的 v1.3 中引入了乐观确认,通过在区块正式最终确定之前将其视为已完成来改善用户体验。
自 Solana 的创世区块以来,没有乐观确认的区块被回滚过。 要做到这一点,需要至少三分之一的总 stake 在 66% 已经诚实投票后显示一个冲突的分叉。等效地,一旦一个区块的乐观确认计数达到 ~87% 的 stake,攻击者就需要 ≥20% 的相同 stake 进行双重签名,这是一种可证明地可 slashing 的行为。虽然在严格的共识理论意义上不是绝对的最终确认,但乐观确认在实践中提供了强大的保证。对于几乎所有用例来说,这些区块都可以被视为已完成——因此 Solana 的最终确认通常被引用为 500-600 毫秒以用于实际目的。
真正的确定性最终确认要求一个区块在投票塔中达到最大的锁定,这相当于确认它的 32 个堆叠投票。也就是说,必须在该区块之上构建 32 个以上的区块才能被视为“已完成”或扎根于网络中。鉴于 32 个 slot 的要求和 ~0.4 秒的 slot 时间,区块达到确定性最终确认的时间约为 ~12.8 秒。一旦锁定投票深度使回滚成为不可能,就会实现确定性最终确认。
历史证明和 Tower BFT 帮助 Solana 实现了高吞吐量和快速的、乐观的确认。但是,这种设计在成本、延迟、活跃性和验证者操作方面存在一些限制。
每个验证者都必须不断地对每个 slot 进行投票,才能为共识做出贡献。投票是与投票程序交互、消耗网络资源和支付费用的交易。
Solana 上大约 四分之三的交易是投票交易,这占用了大量的网络开销,同时给验证者每个 slot 带来了实际成本。这种对持续投票的不必要依赖导致了高开销和成本,这些开销和成本随着处理的 slot 数量和集群中验证者数量的增加而增加。
虽然乐观确认很快,但确定性最终确认却并非如此。与更新的共识协议(如 Sui 的 Mysticeti)相比,~12.8 秒的速度很慢,后者自称最终确认时间约为 ~500 毫秒。这对于需要绝对确定性的应用程序(如交易所)来说会产生问题。在实践中,用户信任已确认的区块。但是,网络仍然需要维护长的分叉历史,以防在最终确定之前进行潜在的 minor 重组。
乐观确认和确定性延迟之间的差距是一种权衡:Tower BFT 以较慢的最终确认速度为代价,优先考虑活跃性,并具有较短的分叉突发事件窗口。即使没有任何攻击或共识错误,~12.8 秒的最终确认速度与更快的最终确认链和现有的 Web2 基础设施相比也相形见绌。
Tower BFT 要求超过三分之二的验证者在线并做出响应,才能确认和最终确定新区块。如果超过三分之一的 stake 离线或网络严重分区,共识可能会停滞。Solana 仍然可以生成区块,从而优先考虑活跃性,但网络可能无法达到投票阈值来乐观地确认这些区块。在最坏的情况下,正如 Solana 最近的中断 中所见,等待投票或无法处理乐观分叉的验证者可能会触发网络停止,需要协调重启。
这是 BFT 共识的经典限制。Solana 没有内置对大量验证者暂时无响应的容忍度。因此,Solana 的活跃性在极端条件下受到了影响,因为该协议无法很好地处理低于共识超多数阈值的情况。Tower BFT 必须 继续生成区块,但只有不到 60% 的 stake 在线。这意味着这些区块永远无法达到乐观确认,并且可能会被回滚。
Tower BFT 对验证者提出了很多要求:持续的投票交易、强大的网络、客户端升级、避免违规以及持久化“塔状态”。如果验证者重新启动或丢失其最新的塔状态,则他们可能会投出违反先前锁定承诺的投票,从而导致投票积分的损失。
该协议对历史证明的持续哈希和 gossip 传播投票的依赖意味着验证者会努力跟上 Solana 的 ~400 毫秒 slot 时间。Solana 的高硬件要求(尽管随着时间的推移会降低)也是不容忽视的。此外,无论 stake 如何,所有验证者都必须对每个 slot 进行投票才能最大限度地提高奖励,这意味着小型验证者在很大程度上支付的费用和工作量与大型验证者相同。由于 leader slot 是按比例分配给 stake 的,因此拥有更多 stake 的验证者会生成更多区块,从而收取更多其他验证者支付的投票费用。这会创建一个循环价值流,其中投票费用会有效地将资本重新分配给 stake 更高的验证者。
此外,Solana 当前的共识机制使得重复区块重放变得非常复杂,因为客户端需要管理同一 slot 的多个候选者。Votor 的证书系统保证每个 slot 提交单个哈希或显式跳过,从而使重复区块重放变得微不足道。
The design of Tower BFT, albeit innovative, results in a fair amount of validator operational complexity.
Alpenglow围绕两个核心组件构建:
在以下部分中,我们将详细探讨这些组件。
Rotor 是一种增强的区块传播协议,它建立在 Solana 现有的 Turbine 设计 之上,并对效率和简单性进行了关键改进。与使用扇出为 200 的多层树结构的 Turbine 不同,Rotor 使用单跳模型 (2δ)。
区块被分成切片,然后使用 Reed-Solomon 纠删码将每个切片编码成多个分片。为了确保分片的真实性,leader 会创建分片哈希的 Merkle 树并对根进行签名。每个分片都包含其在此树中的路径以及 leader 的签名。
每个分片都直接发送到中继节点。然后,中继将它们的分片广播到网络中的所有节点,下一个 leader 排在第一位。这种单层方法减少了延迟并简化了传播路径。它也出奇地快:
在 1Gb/s 的带宽下,传输 n = 1,500 个分片需要 18 毫秒(远低于大约 80 毫秒的平均网络延迟)。要达到总 stake 的 80%,我们需要到达 n ≈ 150 个节点,这仅需约 2 毫秒。投票消息更短,因此花费的时间更少
Alpenglow 白皮书
Leader 和分片中继都是通过 stake 加权抽样选择的,这意味着每个节点负责按与其 stake 成比例地传输数据。由于纠删码的原因,节点只需要接收一部分分片即可重建原始区块切片。
与 Turbine 的一个显着区别是,Rotor 仅传输每个分片的单个纠删码版本,从而无需像 Turbine 那样发送单独的数据和恢复分片。虽然冗余(即数据扩展比率)保持不变,但这种设计消除了任何与转发数据分片相关的奇怪游戏,并确保了协议设计的简单性。
Rotor 的架构也与 多播系统(如 DoubleZero) 兼容,从而提供了区块传递方式的灵活性。由于区块传播消耗大量带宽(目前,大型验证者每秒接近 150,000 个出站数据包),因此 Rotor 引入了一种模式,其中中继因分发数据而获得奖励,从而使激励措施与支持网络性能相一致。
Alpenglow 白皮书没有定义计算或分配奖励的具体机制。但是,它指出 Rotor 奖励应考虑消耗的带宽,预计中继更多数据的节点将获得更大的奖励份额。
Blokstor 是节点存储和管理从 Rotor 接收的区块数据的地方。更正式地说,Blokstor 是一种管理切片存储的数据结构。当收到一个分片时,如果满足某些条件,则其内容会被添加到 Blokstor 中,这些条件包括:
当 Blokstor 收到 slot(b) 的第一个完整区块 b 时,它会发出一个事件“Block(slot(b), hash(b) hash(parent(b)))”。Blokstor 还可以执行修复程序来收集和存储同一 slot 的替代区块。当一个区块被最终确认时,Blokstor 必须仅将该区块存储在给定的 slot 中。
Votor 是 Aplenglow 的新投票和最终确认引擎,取代 Tower BFT 来公证和最终确定区块。从 Simplex 系列研究中汲取灵感,以提高效率和简单性,并将其应用于 stake 证明背景。
Simplex 证明,在轮换 leader stake 证明设置中,可以在一轮或两轮中以极小的消息达成拜占庭协议,前提是网络延迟存在严格的上限。Votor 从 Simplex 中获取以下想法:
从高层次上讲,Votor 确保对于每个 slot,要么有一个跳过证书,表明该 slot 已被跳过,要么有一些已公证的区块,这些区块建立在已公证区块的规范链之上。为了使区块被公证,它必须具有有效的证书。验证者不是用投票淹没 gossip,而是将轻量级投票消息广播到 stake 加权的对等集,作为一种“直接发送”网格,而不是传统的 Solana gossip。一旦达到仲裁,任何节点都可以使用 Boneh-Lynn-Shacham (BLS) 签名方案将这些签名聚合到一个证书中。由于聚合的证书标头是锚定在链上的内容,因此消除了对每个 slot 投票交易的需求。
Votor 使用分层并发投票机制,该机制分为两个投票路径:
这两个路径同时运行,并且首先满足其阈值的路径将最终确定该区块。一旦 leader 完成提取父区块,它就可以开始传输下一个区块,同时投票仍在累积,因此每 ~400 毫秒就会生成一个区块,正如 Solana 旧的共识所确保的那样。这种设计确保如果第一轮未能获得 ≥80% 的 stake 批准,则 Votor 会回退到第二轮投票。它还确保两个冲突的区块不能同时达到最终确认,因为 stake 会重叠。
Pool 是一种数据结构,它由每个节点维护,充当投票活动和证书生成的本地账本。它会记住为每个 slot 和每个节点收到的投票。当收到足够的投票时,会生成相应的证书。当将新收到或自行构建的证书添加到 Pool 时,它会被广播到所有其他节点。
尽管多个验证者几乎可以在同一时间伪造证书,但他们都在聚合该证书的相同签名集,因此逐字节输出是相同的。一个例外是回退证书,因为可能有多达三个不同的认证需要流通。给定 slot 的所有类型中永远不会超过四个唯一的证书,并且每个唯一的证书仅广播一次。这种方法可以防止投票垃圾邮件,同时仍然允许任何诚实的节点在 Pool 显示仲裁的那一刻立即构建和共享证书。
投票作为单个 UDP 数据包流式传输到所有验证者,这些验证者会记住为每个 slot 和每个节点收到的投票。根据 Votor 的规定,给定区块的公证和最终确认由以下三个条件决定:
由于 Rotor 以单跳传播区块数据,并且 Votor 的目标最高延迟约为 ~150 毫秒(我们将在下一节中更深入地介绍这一点),因此不再需要在 Solana 上使用去中心化的时钟。相反,一个简单的同步假设就足够了。Alpenglow 用 400 毫秒的全局超时常量取代了历史证明。这是在同步网络条件下,任何两个诚实节点之间假定的最大网络延迟。
实际上,超时系统的工作方式如下:
Alpenglow 引入了一个系统,其中每个验证者都在本地和独立地测量超时。因此,Solana 不需要像历史证明这样的单个,哈希驱动的时钟。由于消息只是一个 UDP 数据包,并且 Rotor 只是单跳,因此即使在压力下,400 毫秒的限制也是现实的,而无需进行哈希处理。验证者将不再需要持续地研磨哈希,可以对区块进行投票而无需受到锁定,并且替代客户端(例如 Firedancer)将不会被迫复制 Agave 客户端的历史证明实现。
验证者还可以通过发送 SkipVote 消息来跳过一个 slot。如果 ≥60% 的 stake 投出 SkipVote 消息,则会生成一个跳过证书,并且该 slot 会被正式跳过。跳过投票的奖励权重与公证投票相同,因此验证者没有理由在 leader 行为不当时保持沉默。请注意,一旦 Alpenglow 的经济模型最终确定,这可能会发生变化。
每当验证者确定他们无法最终确定该 slot 的区块时,他们都会为该 slot 发送 SkipVote。这可能是由于达到超时,丢失区块或生成无效或格式错误的区块。如果 leader 的四 slot 窗口的第一个 slot 触发了任何一个条件,则验证者会将整个窗口标记为坏,以便迭代窗口中剩余的 slot,并为他们尚未投票的每个 slot 发出 SkipVote。因此,整个四 slot 窗口可以折叠成一轮跳过。这些投票中的每一个仍然适用于一个 slot,但由于大多数验证者都执行相同的突发操作,因此所有三个挂起的 slot 大约在同一时间达到 60% 的阈值。这是为了防止集群在离线 leader 超时时通过三个以上的空 slot 闲置。
显然,这会在区块生产中留下空白。但是,由于这些快速跳过证书,slot 的节奏会继续不间断。这简化了分叉选择并提高了连贯性,因为跳过证书充当了该 slot 的规范“空区块”,因此所有诚实的节点都将跳过作为结果采用。因此,没有竞争分叉,并且跳过不会导致持久分叉,从而允许常规区块生产 timing。
Votor 下的验证者奖励基于参与投票和证书生成。通过投票为共识做出贡献的节点,无论是赞成 ( NotarVote) 还是反对 ( SkipVote) 区块,都会获得同等的奖励。这鼓励诚实参与,确保节点根据自己的状态进行投票,而不是试图预测或与大多数人保持一致。
此时尚未指定确切的奖励实施。
Anza 的模拟显示,Alpenglow 在大约 100-150 毫秒内最终确定一个区块,具体取决于快速最终确认 (Fast-Finalization) 还是回退(即慢速最终确认)路径公证该区块。快速最终确认路径的目标是 ~100 毫秒的延迟,而回退路径的目标是 ~150 毫秒的延迟。
网络延迟为任何分布式系统中的通信设置了基本的下限。例如,如果 leader 位于纽约,而大部分 stake 位于欧洲,则节点向其他网络节点发送信息的单向延迟中位数可能达到约 200 毫秒。地理位置较近的节点的延迟较低(例如,位于同一数据中心或区域内的节点),而位于全球南部或其他偏远地区的节点的延迟显着较高。
Alpenglow 的整体最终确认时间是下限的 2 倍。也就是说,共识开销是原始网络基础的 2 倍乘数。因此,如果 leader 和超多数 stake 之间的最长单向跃点是,例如,~70 毫秒(即 ~140 毫秒 RTT),则快速路径最终确认应落在 120-150 毫秒范围内。
Anza 模拟的延迟直方图显示,65% 的 stake 在原始网络延迟的 50 毫秒内最终确定。这意味着大多数验证者几乎在数据到达时立即投票。
苏黎世 leader 直方图还表明 400 毫秒的全局超时是一个安全的同步限制,但将需要进行更多测试以进一步确认此常量。
借助 Alpenglow,确定性承诺远低于任何竞争的 L1,从而使 Solana 的链上体验更接近传统 Web2 服务的体验。
Alpenglow 的共识是对传统 BFT 共识的改进,后者维护对控制网络高达 33% 的 stake 的攻击者的弹性。这表示为“3f + 1”。Alpenglow 基于 Martin 和 Alvisi 在 Fast Byzantine Consensus 中引入的 5f + 1 边界,将这些边界降低到网络 stake 的 20%。它使用“20+20”弹性模型,其中安全性分为两个部分:
保证安全性,前提是总的对抗性 stake ≤20%,并且不能阻止至少 60% 的诚实参与者参与一个分叉。这些条件使得协议视为最终的任何投票阈值(即一轮快速投票,两轮后备投票)都足够高,以至于无法获得另一个分叉的冲突阈值。如果对抗性验证者试图等同(即,对两个不同的分叉进行投票,或在同一个 slot 中生成两个不同的区块),则诚实的节点将最终收到其冲突的签名。这很容易识别,并且理想情况下,将来会导致应受惩罚的行为,例如 slashing。
此外,如果 leader 试图生成无效的区块,则诚实的验证者将只是拒绝投票支持它。Alpenglow 的直接通信投票模型使恶意行为者很难隔离或掩盖 stake 中的诚实节点,因为他们最终将被诚实多数派的投票所揭露。充其量,恶意 leader 可能会迫使共识进入其较慢的路径或导致一个 slot 的延迟,但它不能永久停止或转移链。
在部分同步条件下,只要尊重故障阈值,就可以保证活跃性。这意味着在某些网络延迟之后,诚实的验证者将能够在某个区块上进行通信并收集 ≥60% 的 stake。如果恰好 20% 的总 stake 处于脱机状态,则如果所有其余诚实的节点都投票,则快速路径_可能_仍然成功。如果总 stake 中超过 20% 的 stake 处于脱机状态,则网络将始终回退到二级投票的后备路径。仍然保证最终确认,尽管速度较慢。因此,良性故障主要会影响性能而不是安全性。
Alpenglow 经过明确设计,具有很高的崩溃弹性,可以处理恶劣的网络条件。也就是说,Alpenglow 将继续保持安全并在 20% 的恶意和 20% 无响应的 stake 方案中运行。
但是,这并不能解决所有可以想象的故障。Alpenglow 对 Solana 来说是一项重大改进,但是如果违反其假设,则它并不能完全消除网络停止或中断的风险。需要 ≥60% 的 stake 才能生成新区块,并且 ≥20% 的恶意 stake 可能会阻止共识或导致故障。但是,在定义的限制内,Alpenglow 保证在一轮或两轮投票中确保安全和活跃。
尽管是 Solana 当抢跑的基础,但删除历史证明不会以任何有意义的方式削弱安全性。如前所述,通用 400 毫秒的绑定取代了历史证明哈希时钟。即使网络出现重大延迟,Votor 在 stake 中的重叠(即,≥80% 一轮和 ≥60% + ≥60% 两轮)也可以防止诚实的验证者批准两个不同的分叉。
但是,它确实会更改活跃性保证,因为活跃性确实依赖于同步消息,只要诚实的消息在此延迟内到达,活跃性就会保持。Rotor 的单跳数据传播和单数据包投票意味着即使在压力下,延迟也始终在 400 毫秒的范围内。
总而言之,删除历史证明将消除对持续哈希研磨的依赖,从而消除了任何哈希停止攻击向量。如上所述,它还更改了活跃性保证。但是,删除历史证明不会以任何有意义的方式削弱安全性。
Alpenglow 放弃了拜占庭容错的略微降低,以实现亚秒级的确定性最终确认、对大型良性中断的优雅处理以及更容易识别恶意验证者。这些要点可以概括如下:
Votor 同时运行两条路径,这意味着两种统计都从相同的第一轮投票流中更新,以便第一个超过其阈值的证书最终确认区块。重叠的权益集合(即 ≥60%)确保两个冲突的区块永远无法同时达到最终确认。
这种新设计对验证者的运营后果是积极的:
取消投票费用显著降低了潜在验证者的准入门槛。反过来,投票费用使得较小的验证者在熊市期间更加依赖通货膨胀奖励。考虑到 SIMD-228 存在争议的投票,它的取消 可能需要未来讨论关于 Solana 的通货膨胀。根据当前讨论的 Alpenglow 实现,这样的减少将 将盈利所需的最小 SOL 数量从 ~4850 SOL(~80 万美元)减少到 ~450 SOL(~7.5 万美元),这是使用 Cogent Crypto 的验证者利润计算器 计算得出的。
Solana 验证者不再需要每个 slot 进行投票签名。这意味着验证者身份密钥可以位于硬件安全模块 (HSM) 中,而不会有任何性能风险,从而有效降低了热钱包风险。
每个区块聚合一个证书取代了每个 epoch 数千个单独的投票交易,从而减少了 leader-slot 网络负载。
Solana 的 Tower 式指数锁定表被移除。现在,验证者只需要在内存中跟踪最新的证书链,从而缩短了重启时间。
这种新设计的运营后果对 RPC 提供商大多是积极的,但也有一些可能会带来潜在的可扩展性问题:
这种新的最终确认级别将消除 已确认(即,乐观的) 和 已最终确认(即,已扎根的) 承诺级别 之间的历史差距。例如,这意味着任何等待两个确认级别的 UX 逻辑(例如,显示微调器直到最终确认)都可以简化为单个证书检查。
鉴于 Solana 当前的需求,由于缺少投票交易,账本增长将减少大约四分之三。这也意味着减少快照大小和存档。然而,鉴于预计的区块限制 CU 增加目标,这在实践中如何发挥作用还有待确定。
有了 Alpenglow,轮询交易不再有意义,因为最终确认会在 ~100-150 毫秒内到达,并编码在单个证书中。通过为应用程序、浏览器或机器人生命周期保持打开状态的推送通道获取最终确认信息,并将每个新证书广播给每个订阅的客户端,会更有意义。痛点从数百万个微小的 HTTP 轮询转移到数十万个实时套接字。
任何持续保存账户数据超过四分之一秒的缓存都可能显示陈旧数据,因为证书会在 100-150 毫秒内解决一个区块。边缘缓存、CDN 和第 7 层代理将需要极短的 TTL 或证书感知清除Hook。
Alpenglow 于 5 月下旬在纽约 Accelerate 会议上正式亮相。下一个阶段涉及发布正式的 Solana 改进文档 (SIMD),该文档将通过 GitHub、Solana 治理论坛 和 Solana Tech Discord 向社区开放提案以征求反馈。
在社区审查期之后,该提案将进入验证者社区的 链上治理投票。与此同时,新设计将经过广泛的测试,以确保性能和安全性。
如果所有阶段都按计划进行,预计将在明年初部署到 Solana 主网。
过渡到新的共识协议是一项重要的任务,但有重要的先例。以太坊 2022 年的合并 表明,一个主要的实时网络可以成功地改变其核心共识机制,从工作量证明转向权益证明,而不会中断运营。也就是说,仍然存在许多风险,但这并非完全是未知的领域。
这种转变还需要迁移指南,以便应用程序、SDK、钱包和机器人在 Alpenglow 将 已确认 和 已最终确认 承诺级别折叠为单个证书检查时不会无声地中断。任何显式轮询两个承诺级别或默认为 已确认 承诺级别的代码都将停止工作。在 Alpenglow 上线之前,需要就文档、lint 警告、RPC 方法和通用代码架构进行协调的生态系统努力。
治理风险是另一个需要考虑的因素。最近的 SIMD-228 投票 表明,Solana 作为一个真正的去中心化网络运作,即使是核心开发人员和知名社区成员支持的提案,也不能保证通过。然而,Alpenglow 引入的即将到来的变化,特别是投票成本的降低,对验证者,尤其是较小的运营者,总体上是有利的。因此,我们认为治理阻力的可能性相对较低。
到目前为止,Alpenglow 白皮书和相关材料没有明确说明奖励验证者投票活动或补偿 Rotor 中继带宽使用的确切机制。该白皮书还明确指出,作弊会受到惩罚,但实际上是谁提交了惩罚,惩罚有多大,以及所讨论的惩罚是自动的还是治理驱动的,都没有具体说明。这些遗漏使得验证者经济学的关键方面未定义,并且可能成为生态系统中激烈争论的点。
Alpenglow 还将从根本上重组 Solana 上当前的 MEV 格局。延迟仍然是关于 MEV 的一个驱动因素,因为一些有利可图的策略依赖于镜像 TPU 流量或垃圾邮件取消并在乐观确认之前以特定顺序替换交易。这一切都发生在当前 ~500-600 毫秒的窗口中,Alpenglow 试图将其缩短到 ~150 毫秒。乍一看,领导者,特别是已经托管定制区块构建基础设施的验证者,可能会获得更大的 MEV 份额,而独立的延迟套利者可能会发现他们的优势消失,除非他们继续开发更快、更精细的交易系统。
与 Solana 当前的共识架构相比,Alpenglow 的设计更灵活地采用多领导者框架——称为 多个并发领导者 (MCL)。正如 Anatoly Yakovenko 指出的,第一个 MCL 原型可能需要启动两个共享相同 Rotor 集的 Alpenglow 实例并同时发布所有碎片。Rotor 会扇出并行流,而 Votor 会对每个通道进行公证。但是,会出现几个执行层问题。即,
虽然 Alpenglow 的设计通过消除共识级别的阻塞因素,帮助 MCL 成为一个现实的路线图项目,但在这些未决问题得到解答之前,它仍然是一个有希望的、未来 的工作。
本报告探讨了 Alpenglow 的核心组件,并研究了它们如何重塑 Solana 的共识模型。我们还分析了技术改进、验证者经济学的变化、网络级影响以及对性能、简单性和可扩展性的好处。
Alpenglow 白皮书标志着 Solana 的转折点,不仅在协议设计方面,而且在开发理念方面也是如此。Solana 首次发布了其共识算法的正式正确性证明,标志着从其传统的经验性、工程驱动的方法转向更严格、研究支持的基础。这种演变反映了一个不断成熟的生态系统,该生态系统继续优先考虑性能,但现在增加了形式化验证的纪律。
弃用历史证明 (PoH) 代表了网络身份中类似的象征性转变。虽然 PoH 的实际重要性经常被夸大,但它长期以来一直是 Solana 的标志性创新,在技术入门中占据突出地位,并且已成为该品牌的代名词。它的删除标志着一个时代的结束和新时代的开始。Solana 正在成长。
- 原文链接: helius.dev/blog/alpenglo...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!