后量子以太坊交易之路由账户抽象(AA)铺就

本文为机器翻译
展示原文
以下是文章的中文翻译:

感谢 Nicolas Bacca、V神、Nicolas Consigny、Renaud Dubois、Simon Masson、Dror Tirosh、Yoav Weiss 和 Zhenfei Zhang 的富有成果的讨论。

这是我们探讨在以太坊实施后量子签名方案可行性的系列文章的第3部分。在第1部分中,我们讨论了将以太坊转向抗量子未来所涉及的基本挑战和考虑因素。在第2部分中,我们深入探讨了 Falcon,分析了它的优势、弱点以及将其集成到以太坊交易框架中的实际障碍。在本期中,我们在此基础上探讨了如何利用账户抽象(AA)将 Falcon 集成到以太坊中。我们将检查所需的架构变更、使用 AA 实现后量子安全的好处,以及使这种方法可行的潜在挑战。

你说的是 ERC-4337 吗?

在讨论账户抽象(AA)时,自然会想到ERC-4337,因为它目前是在以太坊上实现 AA 最突出和最广泛采用的方法。ERC-4337 提供了一种在不需要对以太坊协议进行更改的情况下实现智能合约钱包的方法,这使其成为集成像 Falcon 这样的后量子签名方案的强有力候选。
特别是,我们可以从SimpleWallet智能合约或利用RIP-7212的智能合约中获得灵感,探索如何在 ERC-4337 框架内有效地集成 Falcon。

SimpleWallet

SimpleWallet是一个基于智能合约的钱包,旨在在以太坊上实现账户抽象。与使用传统私钥进行交易不同,SimpleWallet 智能合约允许更大的灵活性,通过启用自定义验证逻辑,并可能支持新的加密签名方案,如Falcon。例如,在后量子以太坊的背景下,SimpleWallet可以被改编为使用Falcon 签名,从而允许更灵活、更安全和更具未来性的交易处理。这种智能合约方法将允许以太坊账户进化并支持后量子密码学,而无需对底层以太坊协议进行更改。

FalconSimpleWallet

FalconSimpleWallet将是SimpleWallet的修改版本,将ECDSA替换为基于 Falcon 的密码学。与 ECDSA 不同,"纯"Falcon 不支持从签名中恢复公钥 - 这意味着不能使用 ecrecover。相反,基于 Falcon 的钱包必须直接对存储的公钥进行签名验证。
然而,正如Renaud Dubois指出的,Falcon 论文第3.12节介绍了一种密钥恢复模型。这种方法允许恢复公钥,但代价是密钥大小翻倍。虽然这可以为 ecrecover类功能提供一种潜在的解决方案,但增加的密钥大小会带来额外的考虑因素,影响链上效率。

这种差异意味着基于 Falcon 的钱包需要以太坊地址到公钥的显式映射,需要采取不同的授权方法。与依赖 ecrecover来推导签名者身份不同,FalconSimpleWallet将显式存储和引用公钥进行验证。

此外,将 Falcon 集成到以太坊虚拟机(EVM)需要偏离NIST 标准实现。Falcon 依赖于SHAKE进行哈希,但由于SHAKE 在 EVM 中不受原生支持,我们需要使用一种更EVM 友好的哈希函数,如Keccak。这可以确保在链上验证 Falcon 签名时的兼容性和效率。

感谢Zhenfei Zhang贡献了一个基于 Keccak256 的 PRNG 实现,进一步弥合了 Falcon 与以太坊密码学栈之间的差距。

给我看看演示!

你可以在GitHub 上的 FalconSimpleWallet找到演示。这个项目展示了一个钱包,它将传统的 ECDSA 替换为基于 Falcon 的验证,针对以太坊不断发展的安全需求进行了定制。

特别感谢ZKNox - 他们在Falcon Solidity 实现上的出色工作,将验证成本从2400万 gas 降低到360万 gas。这一突破不仅优化了 gas 使用,也使后量子安全距离实际部署在区块链上又近了一步。祝贺 ZKNox 用这种创新解决方案铺平了道路!

房间里的大象

虽然我们已成功将智能钱包签名转换为抗量子(PQ)安全,但仍存在一个关键问题:捆绑器交易仍依赖于传统的ECDSA签名方案。这意味着,即使在账户抽象框架内的个人用户操作(UserOps)可以使用 Falcon,最终提交到以太坊内存池的交易仍由捆绑器使用ECDSA签名。

要完全从交易管道中删除 ECDSA,很可能需要在L1 协议层面进行更改,具体通过EIP-7701/RIP-7560

(额外部分)批处理

正如在第2部分的"Gnarly"部分中提到的,有正在进行的研究,探讨有效聚合 Falcon 签名,包括涉及Labrador的工作。如果这种方法被证明是高效的,我们可以利用EIP-7766(ERC-4337 的签名聚合)来优化 AA 框架内的 Falcon 签名聚合 - 类似于这个 VerificationGateway 合约中聚合 BLS 签名的方式。

没有 EIP-7702 的汤!

正如在EIP-7702的背景下讨论的,该提案可能允许将账户转换为ERC-4337账户并添加Falcon支持,但仍保留ECDSA密钥。EIP-7702的问题在于,ECDSA 密钥在此框架内仍然有效,这引入了潜在的安全风险。即使账户在设置代码后开始使用 Falcon,ECDSA 密钥的存在也会使账户面临风险。攻击者可能会恢复并误用 ECDSA 密钥来破坏账户。

这就是为什么EIP-7702量子抗性的角度来看是有问题的:它确立了易受量子攻击的ECDSA。相反,我们应该关注原生账户抽象(AA),它消除了对 ECDSA 的任何依赖,通过像上述SimpleWallet这样的智能合约钱包提供了更强大、更抗量子的方法。

结论

在本期中,我们探讨了如何利用账户抽象(AA)Falcon这种后量子签名方案集成到以太坊中。通过过渡到基于 Falcon 的智能钱包签名,我们可以确保以太坊交易的未来安全和抗量子性。

虽然在 AA 框架内采用基于 Falcon 的钱包是一个有前景的步骤,但对捆绑器交易仍依赖ECDSA签名仍然存在挑战。克服这一问题需要在协议层面进行更改,可能通过EIP-7701RIP-7560,以完全消除交易管道中的 ECDSA。

此外,正如在第2部分"Gnarly"部分中讨论

总之,虽然我们在将后量子安全性集成到以太坊方面取得了重大进展,但在捆绑器协议层面仍然存在关键挑战,需要解决以确保向抗量子未来的顺利过渡。

来源
免责声明:以上内容仅为作者观点,不代表Followin的任何立场,不构成与Followin相关的任何投资建议。
喜欢
收藏
评论