争分夺秒:构建以太坊的后量子防御

  • yq_acc
  • 发布于 1天前
  • 阅读 34

本文详细阐述了以太坊为应对量子计算威胁所做的努力,介绍了ETH2030团队构建的后量子加密栈。该方案旨在通过引入哈希和格基密码学、STARKs递归聚合技术以及EIP-8141帧交易等,解决当前以太坊在共识层、数据层、执行层和应用层中面临的量子漏洞,从而确保以太坊在量子时代的长期安全。

Image

在时间耗尽之前构建以太坊的后量子防御

2026年2月26日,Vitalik Buterin 发布了一份详细的抗量子路线图,其中指出了以太坊中易受量子计算攻击的四个支柱:共识层BLS签名、数据可用性KZG承诺、EOA ECDSA签名以及应用层ZK证明。当今以太坊中的每一个主要密码学原语都依赖于离散对数问题或椭圆曲线配对。Shor算法可以破解所有这些。Metaculus 预测,在2030年之前出现能够破解密码学的量子计算机的可能性为20%。

这不是一个遥远的威胁。以太坊基金会于2026年1月成立了一个专门的后量子安全团队,由Thomas Coratger领导,并提供200万美元的研究奖金。Vitalik 本人曾在布宜诺斯艾利斯Devconnect上警告说,椭圆曲线密码学“可能在2028年下届美国总统选举之前被破解”。EF Strawmap将“后量子L1”列为以太坊的五大北极星之一:通过基于哈希的方案实现长达数百年的密码学安全。ETH2030 (eth2030.com) 现在包含一个完整的后量子密码学栈,跨越7个包中的46个源文件、6个签名算法、13个定制EVM预编译,以及基于STARK的递归证明聚合,其中包含真实的约束评估和FRI多项式折叠。对EIP-8141和ethresear.ch STARK内存池规范进行了三轮逐行审计,发现并修复了所有26个漏洞。所有代码都已编译、测试(48个包,通过20,900+个测试),并在一个带有I+分叉激活的Kurtosis开发网中运行。以下是我们构建了什么以及其重要性。

Vitalik的量子脆弱性四大支柱

“今天,以太坊中有四件事容易受到量子攻击:共识层BLS签名;数据可用性(KZG承诺+证明);EOA签名(ECDSA);应用层ZK证明(KZG或groth16)。”Vitalik Buterin,

X/Twitter

, 2026年2月26日

这四个领域中的每一个都依赖于数学问题,而Shor算法可以在足够强大的量子计算机上以多项式时间解决这些问题。每个领域的解决方案都不同,但它们有一个共同点:用基于哈希或基于格的替代方案替换椭圆曲线操作,然后使用STARK(其本身具有抗量子特性)来聚合由此产生的更大签名和证明,使其大小可控。

Image

后量子栈

ETH2030的PQ实现不是一个简单地附加在顶部的单一库。它是一个全面的栈替换,涵盖了共识层、数据层、执行层和应用层。crypto/pqc/ 包包含33个实现真实格操作的源文件,另有13个PQ特定文件分布在 consensus/core/types/core/vm/das/proofs/txpool/ 中——总共46个文件,没有一个是存根。ML-DSA-65 使用模多项式算术和基于Module-LWE问题的Fiat-Shamir拒绝采样。Falcon-512 实现了带有NTT域多项式乘法的NTRU格操作。SPHINCS+ 提供无状态基于哈希的签名作为保守的备用方案。

Image

签名格局:从65字节到49千字节

Vitalik的路线图线程提出了一个关键观察:ECDSA验证大约需要3,000 gas,但基于哈希的抗量子签名大约需要200,000 gas。这种66倍的成本增加是为什么天真的PQ迁移会严重影响以太坊吞吐量的原因。解决方案,正如Vitalik所描述的,是在EIP-8141帧交易下的协议层递归STARK聚合,其中每个交易的签名都可以被STARK证明替换,并且一个区块中的所有证明都聚合成一个单一验证。

ETH2030实现了六种签名算法,涵盖了权衡的全部范围。ML-DSA-65 (FIPS 204) 为交易签名提供了签名大小和验证速度的最佳平衡。Falcon-512 提供最小的PQ签名,仅690字节,非常适合带宽受限的环境。SPHINCS+ 是保守的选择,具有49KB的签名,但除了哈希碰撞抵抗性之外没有其他数学假设。XMSS/WOTS+ 为L1共识提供了长期的有状态选项,并支持可配置的树高。

Image

算法注册表 (EIP-7932)。ETH2030 实现了一个统一的调度注册表,注册了5种算法(ML-DSA-44/65/87、Falcon-512、SLH-DSA)。该注册表提供线程安全的验证调度、gas成本调度以及未来算法的可扩展性。PQ方案无法进行公钥恢复,因此明确的公钥传输是强制性的。gas成本的一致性通过 ValidateGasCostsMatch() 来强制执行,该函数交叉检查注册表gas成本与EVM gas表(core/vm/gas_table.go 中的 GasPQVerify()),防止两个系统之间出现偏差。

NTT预编译:地址0x15处的EIP-7885

基于格的签名验证和STARK证明验证都需要快速多项式乘法。在经典硬件上,数论变换(NTT)将计算复杂度从O(n²)转换为O(n log n)。在Solidity中执行此操作成本过高。地址0x15处的NTT预编译提供了对两个域进行本地速度多项式评估的功能:BN254标量域(用于ZK应用)和Goldilocks域(用于STARK友好型算术)。

Image

NTT预编译在I+分叉级别激活,同时在地址0x0201至0x0208激活了8个数论整数(NII)预编译,提供模幂运算、域乘法、域逆运算和批量验证。这些13个定制预编译共同为智能合约提供了对后量子密码学底层数学原语的高效访问。

递归STARK聚合:每个区块一个证明

Vitalik路线图的核心洞察是,更大的PQ签名不必意味着更大的区块。协议层递归STARK聚合将所有交易签名和证明压缩为每个区块一个证明。ETH2030 端到端地实现了这个流水线:STARK证明者在Goldilocks域上生成具有真实代数约束评估(每个约束、每行 sum(coeff[i] × trace[row][col]degree) mod p)的证明,FRI多项式折叠带有Merkle认证路径,并且递归组合引擎每500毫秒链接一次证明。内存池聚合层强制执行两个有意义的约束(哈希一致性和gas限制)以及在区块构建前的广播层上的128KB每主题带宽限制。

Image

“解决方案仍然是协议层递归签名和证明聚合。节点每500毫秒生成一次递归STARK证明,验证所有有效对象,将带宽开销限制为每个tick一个证明,而不是每个交易一个证明。”Vitalik Buterin, 量子抵抗路线图, 2026年2月26日

EIP-8141 帧交易。PQ迁移路径依赖于EIP-8141帧交易,该机制允许每个交易的签名被STARK证明替换。ETH2030 实现了完整的帧交易生命周期:带有每帧执行模式(APPROVE/VERIFY/SENDER)的FrameTx 类型,EVM中的APPROVE和TXPARAM操作码,帧之间的瞬时存储隔离,正确的nonce增量时机,以及对帧计数、模式和目标约束的交易池验证。针对EIP规范进行了三轮逐行审计,修复了26个漏洞,包括APPROVE范围推断、日志哈希归属和P2P广播的序列化。

共识层:PQ证明和链安全

替换BLS证明签名可能是风险最高的PQ迁移。以太坊的共识依赖于每个Slot聚合数千个验证者签名。BLS12-381通过代数聚合使其高效。基于格的签名不能原生聚合,这就是Vitalik呼吁基于STARK的聚合来处理大量数据的原因。

ETH2030的共识PQ模块实现了一个渐进式过渡。PQAttestation 包含一个Dilithium3签名和一个经典的ECDSA/BLS备用方案。验证首先尝试PQ签名,如果该验证者的PQ被禁用,则回退到经典签名。PQChainSecurity 模块强制执行使用SHA-3/Keccak-f[1600]的抗量子攻击区块哈希,并跟踪已注册PQ密钥的验证者百分比。FinalityBLSAdapter 将终局最终性系统桥接到PQ:当 PQFallbackEnabled 设置为true时,最终性投票通过PQ算法注册表使用 SignVotePQ/VerifyVotePQ,确保最终性链免受量子攻击者的侵害。

Image

数据层:格blob承诺

KZG承诺提供了优雅的多项式承诺特性,但依赖于椭圆曲线配对。ETH2030实现了两种PQ替代方案。第一个是基于Merkle树的承诺,使用Keccak-256,将blob分割成32字节的块,并带有从叶到根的认证路径。这是保守的选择,仅依赖于哈希碰撞抵抗性。第二个是Module-LWE格承诺(c = A*s + e + m),匹配Kyber-768参数(k=2, n=2),在MLWE硬度假设下提供代数绑定。

正如Vitalik所指出的,STARK缺乏2D数据可用性采样(DAS)所需的线性特性。ETH2030的实现使用1D PeerDAS采样和基于格的托管证明,这与Vitalik描述的“可管理,但还有很多工程工作要做”的方法相符。DAS层还包含一个 STARKCommitment 类型,该类型将STARK证明承诺嵌入到blob数据中,从而将证明聚合和数据可用性系统连接起来。

分叉激活和开发网测试

PQ组件在I+分叉级别激活(目标是在路线图时间线上的2027年)。ETH2030现在支持在 eth2030-geth 二进制文件上使用 --override.iplus=0 作为CLI标志,该标志在启动时修补go-ethereum的布拉格预编译映射,以包含所有13个定制预编译。Kurtosis开发网配置通过 el_extra_params 传递这些覆盖,从而在创世时启用I+分叉激活。

Image

开发网结果(2026年2月27日)。带有创世时I+分叉激活的Kurtosis开发网生成区块,在2个EL + 2个CL节点之间达成共识,并验证了所有13个定制预编译。地址0x15处的NTT预编译通过 eth_call 为BN254正向/逆向NTT和Goldilocks正向NTT返回有效结果。定制预编译被注入到go-ethereum的布拉格和大阪预编译映射以及EIP-2929地址列表中,确保在I+分叉级别正确激活。

这对以太坊的量子时间线意味着什么

Vitalik称量子迁移是“一套非常具有侵入性的变更”,并提议将最大的步骤与密码学切换捆绑在一起。ETH2030的实现验证了这一评估。PQ栈跨越7个包中的46个源文件,引入了13个预编译,需要一个新的分叉级别,并改变了每笔交易的gas经济学。但它也表明这些组件可以组合:Dilithium证明流入STARK聚合,NTT预编译同时服务于格验证和STARK证明检查,EIP-8141帧交易提供了可替换签名机制,最终性BLS适配器将终局最终性桥接到PQ,并且算法注册表为未来的NIST批准方案提供了清晰的扩展点。

Vitalik早期工作提供了紧急备用方案。他2024年3月在ethresear.ch上的帖子描述了一种硬分叉机制,如果量子计算机突然出现,可以使用STARK证明BIP-32种子知识来保护用户资金。ETH2030的STARK证明者和递归组合基础设施正是这种紧急分叉所需的构建块。

“这可能是‘以太坊的最后一个哈希函数’,因此明智选择非常重要。”Vitalik Buterin 谈论PQ迁移的哈希函数选择

哈希函数问题仍未解决。Vitalik确定了三个候选者:带有额外轮次的Poseidon2,Poseidon1(不易受近期Poseidon2攻击但速度慢2倍),以及BLAKE3(最有效的传统哈希)。ETH2030目前使用Keccak-256和SHA-256作为哈希后端,并带有一个可插拔的 HashBackend 接口,随时准备替换社区选择的任何哈希。EF提供的100万美元Poseidon加固奖金表明,答案可能比预期更快到来。

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

0 条评论

请先 登录 后评论
yq_acc
yq_acc
江湖只有他的大名,没有他的介绍。