Solana需要做出哪些改变才能实现量子就绪?

  • Helius
  • 发布于 3天前
  • 阅读 30

本文探讨了Solana区块链过渡到后量子密码学的必要性和潜在变化。文章分析了量子计算对现有加密算法的威胁,并讨论了Solana在账户地址、交易签名、Votor和Rotor等关键组件上可能需要进行的调整,以适应后量子密码学。文章还驳斥了关于量子计算威胁的一些常见误解,并对Solana未来发展方向提出了建议。

感谢 Kobi, Lostin, Quentin, Ichigo, AsenecaDean 审阅了本文的早期版本。

近几个月来,各种危言耸听的说法 广为流传,认为我们只有几年的时间可以迁移到后量子密码学,而 Solana 将成为这种情景下的首批受害者之一。 无论人们对这种紧迫性有何看法,或者是否接受这种说法,了解在今天的条件下,如果 Solana 要过渡到后量子密码学,协议需要做出哪些改变,将有所帮助。

量子计算简介

量子计算是一种有别于基于二进制逻辑的经典模型的计算范式。 量子计算机不是严格地将信息处理为零和一,而是基于qubits(量子比特)运行,qubits 是遵循量子力学规则的物理系统。 一个量子比特可以同时占据多种状态(一种称为叠加的属性),使量子处理器能够并行探索许多可能的解决方案。

量子计算的重要性不在于加速所有计算,而在于加速非常具体的问题。 尽管量子设备具有理论上的强大功能,但今天的量子设备还远远不能以有意义的规模运行这些算法。

没有人知道何时,甚至是否,量子计算机能够达到威胁现代公钥密码学所需的规模。 为了破解像 Ed25519 这样的方案,量子计算机需要成千上万到数百万个稳定的量子比特、极高质量的纠错,以及足够长的相干时间来运行像 Shor 算法这样的深度量子电路。 今天,这样的机器纯粹是理论上的。 现有的量子处理器在嘈杂、短暂的物理量子比特上运行,其错误率太高,无法进行任何有意义的破解密码学的尝试。 最先进的设备仅提供数百到数千个物理量子比特(而不是逻辑量子比特),并且它们的门保真度和相干特性仍然比实际攻击所需的水平低几个数量级。

即便如此,量子计算的潜在长期影响非常重大,以至于对安全至关重要的系统(包括区块链)必须考虑过渡到后量子原语将意味着什么。

量子攻击

现代密码学依赖于经典计算机无法有效破解的硬度假设。 量子计算机引入了两种主要算法,它们威胁着不同的密码学原语:Shor 算法Grover 算法

Shor 算法可以有效地破解(它允许攻击者从公钥推导出私钥)RSA、Diffie-Hellman,以及对 Solana 至关重要的椭圆曲线密码学,包括 Ed25519,它是 Solana 协议中使用的核心签名方案。 这使得 Shor 成为一种有意义的长期量子威胁。

Grover 算法仅为暴力搜索提供二次加速。 它将 SHA-256 的有效安全性降低到 128 位,这仍然远远超出任何实际的威胁范围。 对于对称密码学、Merkle 树和哈希,扩展经典硬件仍然比构建大型、具有 Grover 能力的量子机器更具成本效益。 因此,Grover 不是 Solana 长期安全模型中一个需要认真考虑的问题。

由于大规模量子计算机将从根本上打破当今的公钥密码学,因此出现了一个称为后量子密码学 (PQC) 的完整领域,旨在开发即使在受到量子攻击的情况下也能保持安全的方案。

到目前为止,NIST(美国国家标准与技术研究院)已经标准化了两种后量子数字签名方案:

  1. ML-DSA,基于格,源自 CRYSTALS-Dilithium
  2. SLH-DSA,基于哈希,源自 SPHINCS+

两者都使用比当今使用的椭圆曲线原语大得多的公钥和签名。 除非量子计算机成为迫在眉睫的威胁,否则这使得早期迁移对于像 Solana 这样的高吞吐量系统来说是不切实际的。

还有 FN-DSA(基于 FALCON,被设计为 ML-DSA 的较小替代方案),它目前仅作为草案提案存在,尚未获得 NIST 批准。

方案 公钥大小 签名大小 安全性 PQ 就绪
Ed25519 32 B 64 B 128 位
ML-DSA 1312 B 2560 B 128 位
FN-DSA 897 B 666 B 128 位
SLH-DSA 64 B 7856 B 128 位

后量子密码学仍处于非常活跃的开发阶段。 在任何能够针对 Ed25519 运行 Shor 算法的量子计算机存在之前,很可能会发现更有效的方案。 早期非标准方法,例如 HAWK 签名,看起来很有希望,但仍处于研究阶段。

随着互联网带宽遵循尼尔森定律,并且Solana 的交易大小限制在 2026 年已经增加到 4096 字节,合理的做法是推迟完全 PQ 迁移,直到有更有效的方案可用,同时为协议的最终过渡做好准备。 同时,也可以依赖于基于完善的基于哈希的一次性签名方案(例如 Winternitz)的 vault 结构,即使面对量子攻击,它也能提供长期的安全性。 这些解决方案今天在 Solana 上已经存在。

本文仅关注 Solana 中依赖 Ed25519 的共识关键部分。 完全的后量子迁移还涉及其他组件,例如验证器通信、加密网络通道和对称密码学,这些领域同样需要 PQ 安全或混合替代方案,但这超出了本概述的范围。

地址和交易签名

Solana 的外部所有账户 (EOA) 使用其公钥作为地址,Ed25519 的 32 字节公钥既充当标识符,又充当验证密钥。 后量子方案改变了这种模型,并且这些更改自然会在新的地址格式和交易版本下引入,而不是修改现有的 TX 格式。

  • PQ 公钥要大得多,因此 32 字节的地址不能再直接编码公钥。 相反,地址将成为 PQ 公钥和签名方案标识符的哈希
  • 如果在迁移期间 PQ 地址与现有的 Ed25519 地址共存,则必须构造地址空间,以使 PQ 派生的哈希不能与 Ed25519 曲线上的点冲突,从而确保不存在这些地址的 Ed25519 私钥。 这反映了 PDA 如何通过使用 bump seed 来避免成为有效的 Ed25519 点。
  • PDA 安全性不受影响,因为 PDA 依赖于 SHA-256 的第二原像抗性,这不会受到 Grover 算法在未来任何合理应用的影响。
  • 今天的交易 ID 是交易中的第一个 Ed25519 签名。 由于 PQ 签名要大得多,因此必须进行更改。 一种自然的替代方案是将交易 ID 定义为交易数据负载的哈希,使其与签名无关且与未来兼容。

除了用户帐户之外,Solana 中的所有授权密钥也是 Ed25519 公钥。 这包括协议或程序级别授权的每种形式:帐户所有者、铸币授权、冻结授权、升级授权、质押和提取授权、验证器身份密钥和投票授权密钥。 它们都只是在不同语义角色下的 Ed25519 密钥对,因此属于与用户地址和交易签名密钥相同的后量子迁移约束。

正如我们将在 Votor 部分中看到的那样,目前没有像 BLS 这样的聚合签名的 PQ 等效项。 如果将来出现这样的方案,我们也可以聚合消息正文上的签名,并在具有多个签名的交易上节省大量空间,甚至可能比 Ed25519 使用更少的空间。

Votor

Votor(即 Alpenglow 共识升级的投票部分)依赖于验证器之间的全对全投票结构。 验证器每插槽向所有其他验证器发送投票,一旦达到法定人数,就可以形成证书。

今天,这是有效的,因为 BLS 聚合提供了紧凑的签名和聚合证书。 在 PQ 设置中,情况发生了变化。

目前没有实际可部署的 BLS 聚合的 PQ 类似物。 存在几个研究方向,包括基于格的聚合思想,例如 Chipmunk。 虽然它们看起来都不是根本不可能的,但它们的效率还不足以满足 Solana 的实时要求。 还有一种基于 STARK 的聚合,原则上可以证明许多签名的有效性,但是为数百个验证器签名生成证明仍然太慢……目前。

如果我们在不久的将来必须转向签名聚合,则可以调整 Votor,以便显着降低带宽影响。 验证器仅将完整证书转发给下一个或两个 Leader 以及一小部分随机的 stake,而不是将它们广播给所有peer。 带宽需求增加,但仍与当前 pre-Alpenglow gossip layer 相当。

当然,减少验证器的数量也可以缓解问题。 如果未来的协议更改或经济设计导致验证器集大大减少,则 PQ 时代投票和签名处理的带宽和计算要求将变得更加易于管理。 较少的验证器会减少全对全通信的大小,降低证书形成的成本,并使即使是次优的 PQ 聚合方案在实践中也更可行。 但是,这种减少会在去中心化和容错方面带来自身的权衡,因此需要仔细权衡系统的安全目标。

Rotor (Turbine)

Rotor(Turbine 协议的继承者),Alpenglow 升级的数据传播协议,是 Solana 的单继电器网络,可以快速有效地传播块。 它的工作原理是让 Leader 将块分解为称为 slice(或前向纠错集)的更大单元,每个单元由多个 shred 组成。 Slice 提供前向纠错结构,而 shred 充当 MTU 大小的数据包,通过 Rotor 分发。 然后,Leader 仅将 shred 发送到树的第一层中的一小部分节点; 这些节点中的每一个都验证 shred 并将它们转发给自己的子节点,从而以容错方式利用许多节点的带宽,而不是要求 Leader 广播给每个人。 因为 Rotor 将此结构与前向纠错相结合,所以节点只需要接收一部分 shred 就可以完全重建块,从而使系统能够抵抗数据包丢失,同时保持极高的吞吐量。

为了防止恶意和无效的 shred 通过网络传播,每个 shred 都包含一个 Leader 的签名,这是可行的,因为 Ed25519 签名很小。 PQ 签名要大得多,通常超过 MTU 限制,因此将一个签名嵌入到每个 shred 中是不可行的。

出现了两种与 PQ 兼容的现实方法:

A) 每个 slice(FEC 集)一个签名

一个可行的方向是:

  • 增加 slice(FEC 集)的大小
  • 验证器之间验证通道以防止恶意节点注入无法追踪的伪造 shred
  • 计算该 slice 中所有 shred 的 Merkle 根,并让 Leader 仅对该根进行签名(这已经是系统目前的工作方式)
  • 每个 shred 都包含其 Merkle 证明,但不包含签名

验证器通过针对已签名根的 Merkle 证明来验证 shred 的真实性。 无效的 shred 会立即被拒绝,从而保持流水线和与 Rotor 的 stake-weighted 中继设计兼容。

B) 整个块一个签名

另一种可能的方法是:

  • Leader 仅对最终的块哈希进行签名(即所有 shred 的向量承诺)
  • Shred 在插槽中转发,没有任何基于签名的立即身份验证
  • 在块完成时,验证器验证一个 PQ 签名,并检查所有接收到的 shred 是否与经过身份验证的块哈希匹配

在这种模式下:

  • 验证器无法在插槽期间检测到无效的 shred,因为在看到块签名之前,他们无法验证真实性
  • 块完成后,会检测到无效的 shred; 可以识别负责的中继器,并在 Rotor 中暂时将其列入黑名单
  • 这种方法还需要验证器之间的验证通道

这两种策略都避免了将大型 PQ 签名嵌入到每个 shred 中的需要,这是 PQ 世界中 Rotor 的主要瓶颈。

误解

误解 1: “如果量子计算机打破了非对称密码学,我们面临的问题将不仅仅是密码被破解。

人们经常声称,一旦量子计算机能够破解公钥密码学,整个数字世界就会立即崩溃:银行、政府、支付网络,一切都会崩溃。 实际上,中心化系统可以更容易地迁移到新的密码学。 银行或政府可以在内部轮换密钥、更新基础设施,并强制用户采用新的安全通道。

公共区块链不能。 区块链不能在没有用户自己签署迁移交易的情况下集中轮换数百万个用户密钥。 每个用户都必须使用他们当前的私钥(这正是变得容易受到攻击的东西)将其资产转移到后量子安全地址。 这使得去中心化系统的迁移比任何中心化服务都复杂得多且时间敏感。

误解 2: “如果你从未花费过某个地址中的资金,那么你是安全的。”

这仅对某些链(例如,比特币)部分正确。 在这种设计中,币通常被锁定在哈希后面(例如,P2WPKH),并且公钥仅在用户花费该地址中的资金时才变得已知。 在此之前,实际的公钥是隐藏的。 但是,一旦发生一次花费,这种保护就会消失。 一旦暴露,该公钥将永远暴露,并且在后量子世界中,它将成为 Shor 算法的目标。

但是,Solana 使用不同的模型:每个地址都是一个公钥。 没有“隐藏”层,也没有来自哈希的预图像保护。 因此,一旦存在足够强大的量子机器,Solana 上的每个外部所有账户默认情况下都容易受到 Shor 的攻击。 这里不存在未花费地址的安全网。

误解 3: “量子计算机指日可待。”

尽管去年在工程方面取得了令人印象深刻的进展,但量子计算机仍然非常有限。 今天的设备可以运行 Shor 算法的玩具版本,通常在分解像 21 这样的数字时进行演示,这很简单,并没有提供真正的密码分析价值。

破解现代密码学将需要成千上万到数百万个稳定的量子比特、极低的错误率、长相干时间和深层、经过纠错的电路。

误解 4: “Grover 算法使哈希函数毫无用处。”

Grover 算法为暴力搜索提供二次加速。 对于 SHA-256,这意味着将 256 位安全性降低到大约 128 位。 与构建一台甚至可以大规模执行 Grover 的量子机器的巨大难度相比,这仍然远远超出任何实际的攻击范围。

对于对称密码学、Merkle 树和基于哈希的结构(包括 Solana 上的 PDA),经典的扩展比依赖量子攻击更便宜、更实用。

误解 5: “量子计算机可以从你的公钥中提取你的助记词。”

没有任何量子算法可以神奇地从公钥中推导出助记词。 助记词在数学上并没有嵌入在公钥中,也没有任何通过公共信息暴露钱包助记词的可逆映射。 量子计算机可以从公钥中推导出私钥,但它们无法进一步“向上游”重建最初生成该密钥对的助记词。

助记词通过单向密钥派生函数派生私钥,并且 Shor 算法无法反转这些函数。 量子攻击者获得你的私钥已经是灾难性的——他们可以签署交易——但是他们仍然无法克隆或恢复你的助记词,这可以使用不同的派生路径来保护你的新 PQC 密钥。

结论

Solana 不需要很快迁移到后量子密码学。 实现这一点需要更改交易格式以携带更大的 PQ 公钥,需要逻辑来确保派生的地址哈希是离曲线的(可能使用 bump/salt 来避免冲突),并需要支持在运行时验证多个 PQ 方案。 最大的成本将是增加的交易大小和更高的验证计算,因为 PQ 签名的处理成本高于 Ed25519。 实际量子计算机的时间表范围从“几年”到“永不”,而且今天的 PQ 签名方案对于围绕极高吞吐量优化的系统来说非常庞大且缓慢。

但是,如果最终有必要进行迁移,那么路径在概念上是明确的。 所有这些变化都不是不可能的,但它们会重塑 Solana 的一些对性能最敏感的子系统。 好消息是,当出现可信的量子威胁时,密码学领域可能会看起来截然不同,并且可能会存在更有效的 PQ 原语。

参考文献

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

0 条评论

请先 登录 后评论
Helius
Helius
https://www.helius.dev/