先说清楚定位:EIP-8051 是一份还在草稿阶段的协议提案,它提议给 EVM 增加新的预编译合约,专门用来验证 ML-DSA 签名。ML-DSA 是美国国家标准与技术研究院(NIST)在 FIPS-204 标准里发布的基于模格(模块格)的抗量子数字签名方案,2024 年正式发布文本。这份提案在 2025 年 10 月创建,编号挂靠 EIP-7932 的签名算法注册表框架,至今没有进入任何主网升级计划。理解它,等于提前看懂以太坊为量子计算远期风险准备的一条技术路线。
为什么签名算法需要换一轮
今天以太坊的账户安全建立在 secp256k1 椭圆曲线之上:私钥签名的不可伪造性,来自椭圆曲线离散对数问题在经典计算机上很难。密码学界的普遍评估是,足够规模的量子计算机配合 Shor 类算法可以攻破这类问题,而基于格结构的签名方案目前没有已知的同级别量子算法。这是概率意义上的长期风险,不是明日的火警,所以提案原文用的措辞也是长期风险。真正的麻烦在于迁移周期:地址格式、签名格式、钱包、节点验签逻辑全链条换一遍,往往以年计,等危机出现再动手就晚了。
提案定义了两个验证入口
EIP-8051 的规格部分给出两个预编译。第一个叫 VERIFY_MLDSA,严格按 FIPS-204 的验证流程实现,内部哈希用 SHAKE256,验证结果与任何符合 NIST 标准的实现互通。第二个叫 VERIFY_MLDSA-ETH,为链上成本做了两处改造:把 SHAKE256 换成基于 Keccak 的伪随机生成,直接复用 EVM 已有的 KECCAK256 预编译;同时把公钥里的多项式以数论变换(NTT)域的形式存放,验证时省掉一次正变换,代价是这种编码不再是 FIPS 标准编码,需要在链下做一次转换。一个求互操作,一个求便宜,两条腿同时铺。
预编译这条路好在哪
把新算法做成预编译,等于在 EVM 之外预装一个验签车间:合约用一次调用传进消息、签名和公钥,返回真假。相比用 Solidity 手写格运算,预编译可以把实现语言和编译链都交给客户端团队,性能与审计都在客户端层面解决。这也解释了它为什么要挂 EIP-7932:那张注册表想把备用签名算法的接口统一起来,避免每个算法各发明一套调用约定。
一份草稿该读出什么信息
第一,状态字段是草稿,编号只代表获得讨论资格,不代表路线承诺,历史上大量草稿止步于此。第二,它只解决链上验签这一格,地址生成、密钥管理、账户层迁移方案都不在其范围内,抗量子迁移是一整套工程而不是一个预编译。第三,链上验签贵,格签名的公钥与签名都比椭圆曲线大一个量级,ML-DSA 的公钥和签名尺寸以千字节计,调用费与数据费都会体现这一点,提案的 ETH 变体就是为压成本而生的。
一笔直觉账
普通用户短期内不需要改任何东西:现有地址不会被提案改动,量子威胁也没有在明天到期。值得盯的信号有三个:客户端参考实现是否稳定、gas 定价是否在测试网跑出可接受数字、以及 EIP-7932 注册表本身推进到哪一步。三者齐头并进时,链上才可能真正出现第二种验签车间。
量级差带来的成本账
把量级差异摆到台面上:经典 ECDSA 的公钥按三十三字节计,签名通常在七十多字节上下;ML-DSA 的公钥与签名则以千字节计,具体数字随安全参数档位变化,细节见 FIPS-204 文本。这个量级差进入链上会体现在两个地方:调用预编译要把大公钥与大签名整个递进去,输入数据的 gas 随之上升;签名若要落进状态或日志,存储与数据费用也同步放大。ML-DSA-ETH 变体想省的正是这一层——把公钥换成数论变换域表示、把哈希换成链上更顺手的 Keccak,都是在跟字节数与哈希轮数讨价还价。
风险提示:本文是提案文本的解读,不构成投资建议;提案内容可能随社区讨论修改或作废,请以提案仓库页面为准。
发表评论
还没有评论,来说两句吧。
评论区为展示样式,提交不会被处理。