FRI 低次测试是什么?STARK 证明如何靠折半与抽查验证多项式 图 1
FRI 低次测试是什么?STARK 证明如何靠折半与抽查验证多项式 · 图 1

只抽查几个点,敢信整个函数

很多 Rollup 的证明系统最终都会归结为一句话:证明者声称某个函数是一个低次多项式。函数在成千上万个格点上都有取值,验证者既不想也不能把整个函数收下来重算,只能随机挑几个位置询问取值。FRI(Fast Reed-Solomon IOP of Proximity)就是为这种场景设计的低次测试:它是 STARK 体系里的多项式承诺方案,安全性建立在一个朴素事实上——一个与所有低次多项式都相距很远的函数,随便抽查大概率当场露馅;反过来说,能被抽查反复骗过的函数,必然与某个低次多项式几乎处处一致,证明者就等于交出了可被重建的代数对象。这条路线不依赖配对、不依赖离散对数,只依赖哈希函数的随机性,因而常被列为抗量子方向的候选之一。

折半:每轮把次数砍一刀

机制示意(图片由 Agnes 生成,非产品界面或数据图)

FRI 的主循环叫 folding。验证者抛出一个随机挑战数 λ,证明者据此构造一个新函数:把定义域里配对的两个点(比如 x 与 -x,或更一般的一个陪集)上的取值,用含 λ 的线性组合压成一个新格点上的值。数学上这等价于把多项式次数除以一个常数因子,比如二。上一轮的取值对新函数来说被唯一锚定——任何不一致都会在后续抽查中暴露。如此重复对数次,多项式次数呈几何衰减,最后低到证明者可以直接把整个小函数发给验证者,后者逐点检验”确实是这个次数”。

抽查如何串起所有轮次

折叠本身会把错误稀释,所以每轮之间还要靠查询钉牢:验证者在新一轮的定义域里随机选位置,要求证明者交出该点的值,并沿路交回上一轮相关的若干取值,自己重算折叠等式是否成立。直觉上,若证明者提交的函数离任何低次多项式都有可观距离,每一轮被随机抽中”露馅点”的概率都有下界,多轮独立抽样叠加后,蒙混过关的概率按折叠倍率呈指数衰减;查询次数与目标安全强度的换算在 Haböck 的综述里给了面向不同参数的建议表。交互里的随机挑战最后由 Fiat-Shamir 变换用哈希摘要替代,协议变成一次性提交、链上可验的非交互证明,验证开销只剩若干次哈希。

它承诺了什么、没承诺什么

FRI 检验的是”距离低次空间足够近”,这被称为邻近性(proximity)问题:函数与 Reed-Solomon 码的最小距离越远,被抽查命中的概率越高。要注意的是它不直接证明某个计算轨迹正确——正确性由上层 AIR 或约束系统编码成”轨迹矩阵满足一组低次约束”,FRI 只负责”这个编码结果确实是低次多项式的求值”这一层,两层合起来才构成完整论证。近年学界对 FRI 在极端参数区间的可靠性界仍有持续修正,2026 年出现的新型折叠与界改进工作也说明这是活跃领域;部署方选参数时应以最新的可靠性文献而非多年前的经验值为准,这点对安全评审是实质要求而非免责声明。

谁在用、用户看到什么

采用 STARK 路线的链与证明器——如 Cairo 流水线、基于 Plonky3 的证明系统与一批 zkVM——底层普遍跑着 FRI 或其变体。终端用户的直观感受有三层:证明体积随安全参数近似线性增长、验证只花若干个哈希计算,因此验证成本可以低到写进链上合约;无需可信设置,意味着新链上线不必组织一场”仪式办砸即全链作废”的密钥生成典礼;而哈希主导的成本结构,让证明性能的改进主要跟随哈希实现与并行化工程,而不是密码学硬件。具体到某条链使用什么参数、证明延迟多少,都以该项目当前文档与状态页为准,本文不代其承诺任何数字。