先把 NTT 说清楚
EVM 里的预编译合约,是直接写进客户端代码、跳过解释执行的特殊功能地址,哈希和签名验证都靠它完成。EIP-7885 想往里加的新功能是数论变换,英文缩写 NTT。数论变换可以理解为在有限域上进行的快速傅里叶变换:把一个长度为 n 的向量变换到另一个表示下,在这个表示里做两个向量的逐元素乘法,再变换回来,结果等于原来两个向量对应的多项式相乘。没有变换时,多项式乘法需要平方级别的运算次数;借助 NTT,次数降到准线性。对格密码而言,核心操作恰好就是这种多项式乘法,NTT 因此是格方案能不能跑快的关键部件。
提案要解决的两件事
这份草案的动机文本给了两个方向。第一个是量子威胁。今天以太坊外部账户用的 ECDSA 签名基于椭圆曲线离散对数问题,理论上足够强大的量子计算机可以把它攻破。后量子的替代路线里,DILITHIUM、FALCON 这类基于格的签名方案是主流候选,而它们的验证算法剥到最里面就是多项式乘法。提案者的判断是:与其把某一个具体签名方案整个塞进 EVM,不如只提供 NTT 与逆 NTT 这两个通用算子——有了它们,验证算法的其余部分用普通合约逻辑就能写,将来换方案也只是换上层拼装,这叫密码敏捷性。第二个方向是扩容。STARK 这类证明系统的验证器同样重度依赖多项式运算,一个 NTT 预编译同时服务抗量子与扩容两类需求,是提案的卖点。
规格与定价
按草案文本,提案引入四个预编译地址:正向变换 NTT_FW 与逆向变换 NTT_INV,各定价 600 gas;再做向量化的模乘 NTT_VECMULMOD 和向量化模加 NTT_VECADDMOD,两者按输入规模用公式计价。域参数要求阶 n 是 2 的幂、素数 q 满足 q 同余 1 模 2n 的标准格密码设定。需要如实交代的是状态:这份 EIP 在官方仓库中标注为 Draft,预编译的具体地址在规格里仍写作待定,也没有被排进任何已确认的升级。它呈现的是方向性尝试,不是即将上线的功能。
读这类提案应有的距离
预编译是 EVM 里牵一发动全身的部件:地址空间稀缺,定价影响所有节点的性能预算,任何引入都要经过长期审计与测试网验证。看到草案里写好的 600 gas 就断言链上后量子时代的费用,是把提案时间表读错了;反过来,因为方案还是草案就认为量子威胁不需要准备,也同样是误读。对用户而言,现阶段能做的防御性准备很朴素:不必恐慌迁移,但关注官方路线图的更新,理解大额长期资产的密钥暴露面,避免把公钥反复暴露在链上。
风险提示:本文涉及密码学与协议演进的技术介绍,不构成投资建议,不构成对任何资产安全性的保证。重大资产操作请咨询专业人士并关注官方公告。
为什么是算子而不是方案
一个常见疑问是:直接把某一种后量子签名塞进 EVM 岂不是更快?草案的回答是否定的,理由有两层。技术层:格签名的验证核心就是多项式乘法,把变换、逆两个算子和配套运算交给预编译,签名方案的其余骨架用普通字节码即可拼装;将来算法参数更新,改的是上层合约而不是共识代码。生态层:后量子签名标准近两年已在国际上定稿,主流方案正是基于格的多项式构造,链上的敏捷性意味着不必赌某一个方案笑到最后。风险面同样要摊开:预编译地址一经分配就永久占用,定价若低于真实验证成本会制造 DoS 套利空间,所以地址与价格这两个待定项迟迟不落,是流程而不是疏漏。对普通用户,这份草案现阶段不改变任何地址格式、签名流程或资产安全性。
发表评论
还没有评论,来说两句吧。
评论区为展示样式,提交不会被处理。