# 后量子证明

> 举措 QL-01 与 QL-02。用格承诺取代基于配对的承诺，并选用与之匹配的域，使证明核心不再依赖离散对数。

QL-01 · QL-02 格承诺 换域 状态：积极开发中

## 什么会被攻破，又在哪里

远地虚拟机 v1.0.0 之下的每一个密码学假设都涉及 BN254。Mercury 和 KZG 在代数群模型中、q-DLOG 假设下是可靠的；递归树折叠的是配对检查；判定器是 Groth16。在规模足够的量子计算机上，Shor 算法能求解离散对数，上述每一个假设也随之失效。客户程序（guest）的计算依然如故，但证明它正确运行的那份证明将不再有任何意义。

这种依赖集中在承诺上。每个分片的每一列都用它来承诺，每次打开都以它的配对收尾，而递归的存在正是为了折叠这些配对。换掉承诺，证明核心的其余部分就再没有任何依赖离散对数的东西。

## QL-01 · 格承诺

格承诺是一个线性映射 `t = A·s mod q`，作用于一个元素很小的向量 `s`。只要没有人能找到一个被该矩阵映射为零的短向量，它就具有绑定性：这就是 Module-SIS，ML-DSA 和 ML-KEM 这两项 NIST 后量子标准所依赖的假设族，背后有最坏情况归约和数十年的密码分析支撑。

它保留了 KZG 对远地虚拟机最有用、而基于哈希的承诺所放弃的那一点：**它是同态的。** 对多个数据块的承诺可以用挑战系数组合起来，组合结果只需一个向量即可打开。批量处理一个分片的各列、延迟检查、沿树向上折叠，都是线性运算，而线性运算在迁移之后依然成立。Merkle 路径则根本无法组合。

代价是一种别处没有的约束：承诺只绑定短向量，每次组合都会让向量变长，证明者必须证明它仍然足够短。近两年的各种方案，主要区别就在于如何支付这一代价，而且进展很快。对于 `2^30` 个系数的多项式，已发表的 Module-SIS 方案给出的求值证明为 **53 至 72 KB**，验证时间则从 2024 年的 2.8 秒降到 2026 年的 **8 至 16 毫秒**。专题文章 [Lattice-Based Polynomial Commitment Schemes](https://www.gweb3networks.com/expositories/lattice-based-polynomial-commitments.html) 逐一梳理了这些方案，并把这些数字与基于哈希的一方对照解读。

## QL-02 · 换域

格方案并不属于 BN254 的世界。主流构造工作在小素数模数上，为保证可靠性，求值点取自扩域；这适合小域证明系统，而不适合 254 位的系统。因此承诺的迁移会把域一并带走：v2.0.0 **为算术化换域**，把每个电路从 BN254 的标量域迁移到与承诺相匹配的小域上。

这次迁移本身就能收回成本：

- **每一层都更便宜。** GKR 证明者的时间都花在域运算上，而小域中的一次乘法只是 254 位域中一次乘法的零头。该引擎最核心的节省在于中间层从不承诺；这一点与剩下每一层都更便宜的运算叠加在一起。
- **承诺更便宜。** 承诺一个执行轨迹列，是对一组小取值数位做一次线性映射，成本按非零项计算，而不是在曲线上做多标量乘法。
- **引擎原样延续。** GKR 和求和校验（sumcheck）在任何域上都有定义。挑战移到扩域上；反向过程、层模型以及建立在其上的各项论证都保持原有结构。

需要重建的，是一切以大域为前提的部分：能宽裕地放进一个 BN254 元素的字级数值、按 254 位模数确定大小的范围论证和进位、规范性链（canonicity chain），以及递归格式中的域单元。每一项都会针对新域重新推导，并像 v1.0.0 的那些部分一样写成规范，配有自己的参照（oracle）和篡改孪生。

## 结算

以太坊现有的验证预编译合约都基于配对。后量子证明核心如何在这条链上结算，最后一步中有哪些部分可以建立在格之上，属于同一项工作计划，并会在发布之前以与核心同等的严谨程度写成规范。

返回[任务简报](https://apogee.gweb3networks.com/docs/quantum-leap)。
