Poqeth:以太坊后量子签名验证开源库与链上性能评估

本文介绍了 poqeth 开源库,该库在以太坊 Solidity 中实现了 WOTS+、XMSS、SPHINCS+ 和 MAYO 四种后量子签名算法的验证。文章重点评估了这些算法在链上验证的 Gas 成本及两种验证模式,并探讨了通过 EVM 预编译或 STARK 证明来增强以太坊量子抗性的未来方向。

TL;DR: 我们预见到一个拥有账户抽象 (Account Abstraction) 和量子计算机的未来。在那个可能并不遥远的未来,后量子签名将由链上合约进行验证。在这项新工作中,我们实现并评估了在链上验证四种后量子签名的 Gas 成本:WOTS+、XMSS、SPHINCS+ 和 MAYO。我们邀请社区通过 poqeth(一个在 Solidity 中实现这些验证算法的开源库)来审查、扩展并与我们合作。我们期待未来 Gas 成本能有巨大的改进。

相关资源:

image

如何为以太坊交易选择合适的后量子签名方案?

为以太坊选择合适的数字签名并非易事,因为区块链环境的限制与 TLS 等场景完全不同。在以太坊语境下,庞大的公钥是不可接受的。

俗话说“实践出真知”,我们需要实现这些签名方案的验证算法,以真实了解它们在 EVM 中的运行速度。这正是我们在 poqeth 中所做的工作。

两种评估的验证模式

我们考虑了两种验证模式:

  1. 链上验证 (On-chain verification):由合约验证完整签名。
  2. 反对者验证模式 (Naysayer verification mode):合约仅在签名存在错误时才需要检查。在这种情况下,合约只需被说服“签名是不正确的”即可,这比验证整个签名的速度要快得多。

image

Poqeth:可扩展的以太坊后量子签名验证库

我们决定实现并评估三种基于哈希的签名方案(WOTS+、XMSS 和 SPHINCS+)以及一种多变量二次项 (multivariate-quadratic) 签名方案 MAYO。针对每种方案,我们提出了最优参数选择,以在 NIST 安全级别 1 下最小化链上验证成本。

未来方向与开放性研究问题

EVM 中的后量子签名验证预编译合约 (Precompiles)

我们是否应该在 EVM 中固化某些签名验证算法?目前已有两个 EIP 提议为 Falcon 签名增加预编译合约 (Precompiles)(参见 EIP-7592EIP-7619)。或者,协议应该更加模块化,仅支持如 SIMD 操作等功能,这将显著加速 MAYO 等多变量二次项签名的运算。

签名验证的简洁证明

也许在未来,我们可以使用链上 STARK 证明来证明一批后量子签名的有效性。这种方法可以有效分摊大量签名的验证成本。Drake、Khovratovich、Kudinov 和 Wagner 最近的论文以及这项研究中也采用了类似的方法。

基准测试更多后量子签名算法

扩展 poqeth 库以实现和评估更多后量子签名方案将非常有意义。如果你有兴趣在此领域合作,请联系我们。

相关阅读

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

0 条评论

请先 登录 后评论
以太坊中文
以太坊中文
以太坊中文, 用中文传播以太坊的最新进展