本文介绍了 poqeth 项目,这是一个在以太坊上实现并评估 WOTS+、XMSS、SPHINCS+ 和 MAYO 等抗量子签名方案的 Solidity 库。文章分析了链上验证与 Naysayer 验证模式的 Gas 成本,并探讨了未来通过预编译合约或 STARK 证明来降低验证开销的研究方向。
我们预见到一个拥有账户抽象和量子计算机的未来。在那个或许并不遥远的未来,后量子签名(Post-Quantum Signatures)将由链上合约进行验证。在这一新工作中,我们实现并评估了四种后量子签名在链上的 Gas 成本:WOTS+、XMSS、SPHINCS+ 和 MAYO。
我们邀请社区成员查看、扩展并与我们合作开发 poqeth。这是一个开源库,使用 Solidity 实现了这些验证算法。我们期待未来在 Gas 成本方面能有巨大的改进。欢迎提交 PR、Issue、评论和提问!

为以太坊选择合适的数字签名并非易事,因为区块链环境的限制与 TLS 等场景完全不同。在以太坊语境下,庞大的公钥是不可接受的。更多讨论请参阅我们论文的引言或 Antonio 最近在 ethresear.ch 发布的文章。
俗话说“实践出真知”,我们需要实现这些签名方案的验证算法,以真实了解它们在 EVM 中的运行速度。这正是我们在 poqeth 中所做的工作。
我们考虑了两种验证模式:
即由合约验证完整的签名。
在反对者验证模式中,只有在签名出现错误时,合约才需要检查签名。即使在这种情况下,合约也只需要被说服该“签名是不正确的”,这比验证整个签名的速度要快得多。

我们决定实现并评估三种基于哈希的签名方案(WOTS+、XMSS 和 SPHINCS+)以及一种多变量二次签名方案 MAYO。对于每种方案,我们都提出了最优参数选择,以在 NIST 安全级别 1 下最小化链上验证成本。
我们是否应该在 EVM 中固化(enshrine)某些签名验证算法?目前已有两个 EIP 提议为 Falcon 签名增加预编译:参见 EIP-7592 和 EIP-7619。或者协议应该更加模块化,仅支持如 SIMD 操作等功能,这将显著加速 MAYO 等多变量二次签名的处理。
也许在未来,我们可以使用链上 STARK 证明来证明一批 PQ 签名的有效性。这种方法可以有效地分摊大量 PQ 签名的验证成本。Drake、Khovratovich、Kudinov 和 Wagner 在最近的一篇论文中采用了类似的方法。另请参阅这项出色的工作。
扩展 poqeth 库以实现和评估更多 PQ 签名将非常有意义。如果你有兴趣在此课题上合作,请联系我们。
相关阅读:
- 原文链接: ethresear.ch/t/poqeth-ef...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!