文章

14. Circle STARK、STIR、WHIR 与现代哈希型 PCS

14. Circle STARK、STIR、WHIR 与现代哈希型 PCS

资料快照:2026-07-29。近年方案仍在快速演进,本篇明确标注论文性质与实现性质。

1. 传统 STARK 对字段的隐藏要求

经典 FFT/FRI 希望 $\mathbb F_p^*$ 中存在很大的 2-power 子群。因为

\[|\mathbb F_p^\*|=p-1,\]

需要

\[2^n\mid(p-1).\]

这让 root-of-unity FFT、rotation $X\mapsto\omega X$ 和 FRI 的 $x,-x\mapsto x^2$ 都很自然。

但有些机器友好的素数并不满足。例如 Mersenne-31

\[p=2^{31}-1\]

\[p-1=2(2^{30}-1),\]

所以 $p-1$ 只含一个因子 2,无法提供大型 radix-2 乘法子群。另一方面

\[p+1=2^{31}\]

却是纯 2 次幂。Circle STARK 的核心就是:把 domain 从大小整除 $p-1$ 的乘法群搬到大小整除 $p+1$ 的圆群。

2. 有限域上的圆群

定义圆锥曲线

\[\mathcal C(\mathbb F_p) =\{(x,y)\in\mathbb F_p^2:x^2+y^2=1\}.\]

群运算模拟复数乘法:

\[(x_1,y_1)\odot(x_2,y_2) = (x_1x_2-y_1y_2,\, x_1y_2+x_2y_1).\]

单位元与逆元:

\[\mathbf 1=(1,0),\qquad (x,y)^{-1}=(x,-y).\]

封闭性来自

\[(x_1x_2-y_1y_2)^2 +(x_1y_2+x_2y_1)^2 =(x_1^2+y_1^2)(x_2^2+y_2^2)=1.\]

2.1 为什么群大小是 $p+1$

当 $p\equiv3\pmod4$ 时,$-1$ 在 $\mathbb F_p$ 中不是平方。令 $i^2=-1$,扩域元素

\[z=x+iy\in\mathbb F_{p^2}\]

的 norm 是

\[N(z)=(x+iy)(x-iy)=x^2+y^2.\]

圆群正是 norm-one subgroup。norm map

\[\mathbb F_{p^2}^\*\to\mathbb F_p^\*\]

的 kernel 大小为

\[\frac{p^2-1}{p-1}=p+1.\]

对 M31,圆群因而有 $2^{31}$ 个元素,提供大型 2-power cyclic domains。

flowchart LR
    M["传统域<br/>F_p* 大小 p-1"] --> A["M31 只有很小的 2-adicity"]
    C["圆群 C(F_p)<br/>大小 p+1"] --> B["M31 得到 2^31 级链"]
    A --> S["传统 radix-2 STARK 不合适"]
    B --> T["Circle FFT / Circle FRI"]

3. 为什么 M31 算术快

因为

\[2^{31}\equiv1\pmod{2^{31}-1},\]

对较宽整数 $a$ 可把高 31 位折回低位。若

\[a=a_{\mathrm{lo}}+2^{31}a_{\mathrm{hi}},\]

\[a\bmod p \equiv a_{\mathrm{lo}}+a_{\mathrm{hi}}\pmod p.\]

重复一次并做条件减法即可归约许多乘法结果。它适合 32-bit words、SIMD 与 GPU;但“单次域乘法更快”不等于整个 proof system 必然更快,Circle FFT、扩域运算、hash 与 memory traffic 仍须整体 benchmark。

小基域也意味着 challenge 空间不够大。S-two 使用 M31 上的扩域来承载安全挑战与组合值;官方文档把相应 secure field 记为 QM31。最终 soundness 仍由完整错误项决定。

4. 从单变量多项式改为圆上的函数空间

传统 STARK 在

\[\mathbb F[X]\]

里工作。Circle STARK 在坐标环

\[\mathbb F[x,y]/(x^2+y^2-1)\]

里的受限二元函数空间工作。因为在圆上有 $y^2=1-x^2$,高次 $y$ 可消去,每个函数可理解为

\[a(x)+y\,b(x).\]

论文定义的完整 circle polynomial space $\mathcal L_N$ 维数是

\[\dim \mathcal L_N=N+1.\]

用于大小为 $N$ 的 FFT/evaluation code 的是其中的子空间 $\mathcal L’_N\subset\mathcal L_N$,满足

\[\dim \mathcal L'_N=N.\]

因此,真正扮演“次数小于 $N$ 的单变量多项式空间”角色的是 $\mathcal L’_N$;不能把完整 $\mathcal L_N$ 的维数也写成 $N$。这一处区分还会影响 interpolation 唯一性、rate 与 proximity code dimension 的计数。

4.1 domain 是 twin coset

设 $G_{n-1}$ 是圆群的 2-power 子群,论文使用形如

\[D =Q\odot G_{n-1} \;\cup\; Q^{-1}\odot G_{n-1}\]

的 twin coset,大小 $N=2^n$。两个 cosets 互为 inverse,恰好适合第一轮把

\[(x,y)\quad\text{与}\quad(x,-y)\]

配对。

4.2 FFT basis

若 $j=(j_0,\ldots,j_{n-1})$ 是二进制位,Circle STARK 论文的一组 FFT basis 形如

\[b_j^{(n)}(x,y) = y^{j_0} v_1(x)^{j_1} \cdots v_{n-1}(x)^{j_{n-1}},\]

其中 $v_k$ 是嵌套 circle domains 的 vanishing polynomials。它类比 monomial/FFT basis,但与 circle domain 的逐层折叠对齐。

Circle FFT 能在 $O(N\log N)$ 量级在点值和该 basis 的系数之间转换。重要的不是把“$X$ 换成 $(x,y)$”,而是同时替换:

  • polynomial space;
  • evaluation domains;
  • vanishing functions;
  • FFT basis;
  • FRI folding;
  • DEEP quotient。

5. Circle folding 的几何

圆群 doubling 为

\[\left[2\right]\!(x,y) =(x^2-y^2,2xy) =(2x^2-1,2xy).\]

第一轮可把 inverse pair

\[(x,y),\ (x,-y)\]

合并,消去 $y$ 方向;后续 $x$ 坐标递归遵循 Chebyshev 型映射

\[x\mapsto 2x^2-1.\]

这取代传统 FRI 的

\[x\mapsto x^2.\]
flowchart TB
    D0["circle twin coset"] --> P0["配对 (x,y) 与 (x,-y)"]
    P0 --> D1["降到 x 坐标的子问题"]
    D1 --> P1["映射 x ↦ 2x²-1"]
    P1 --> D2["更小的嵌套 domain"]
    D2 --> R["重复并最终直接检查"]

Circle FRI 同样遵循“每轮先绑定 oracle、再采样随机 folding challenge、最后抽查路径”的安全结构。只是 pair、basis 与 vanishing function 已不再是传统乘法子群版本。

6. Circle vanishing 与 DEEP quotient

单变量 DEEP quotient 是

\[\frac{f(X)-f(z)}{X-z}.\]

圆上不能随意拿 $x-P_x$ 代替,因为一个 $x$ 坐标通常对应 $(x,\pm y)$ 两点,且函数空间的 pole/degree 结构不同。Circle STARK 为点 $P$ 定义适合圆曲线的单点 vanishing function $v_P$,使用

\[q=\frac{f-f(P)}{v_P}.\]

论文证明该 quotient 仍落入受控 circle function space;必要时先在扩域中表示,再拆成 base/secure field 上的分量。

这是一个普遍教训:PCS/FRI 的 DEEP reduction 必须与底层 polynomial/function space 的 divisor 结构兼容,不能只搬运单变量公式。

7. AIR 在圆上如何工作

trace 行沿圆群子群排列。若 generator 为 $G$,相邻行从点 $P$ 移到

\[P\odot G.\]

因此 transition constraint 由

\[C\bigl(T(P),T(P\odot G)\bigr)=0\]

描述。圆上函数空间对相应 translation 的控制性质,使 next-row relation 与 degree bookkeeping 仍可高效处理。

整体 STARK 流水线保持不变:

flowchart LR
    T["trace on circle domain"] --> I["Circle interpolation"]
    I --> Q["circle constraint quotient"]
    Q --> C["random composition"]
    C --> F["Circle FRI"]
    F --> M["Merkle queries"]

变的是代数几何底座,不是 AIR→quotient→proximity 的宏观架构。

8. S-two:Circle STARK 的系统化实例

2026 年的 S-two whitepaper描述:

  • M31 上的 Circle STARK;
  • “flat AIR” circuit model;
  • 多 table/component 的 proof of proximity;
  • cross-domain correlated agreement 的安全分析;
  • 在 Johnson bound 范围内的多表 Circle FRI 结论,以及更强参数所依赖的 list/line-decoding conjectures。

8.1 为什么多表不是简单批处理

zkVM 的 components 可能有不同 trace lengths 和 domains。随机合并

\[F=\sum_i\alpha^iF_i\]

后,需要保证“folded/combined word 接近某个 codeword”确实来自各原表上相互一致的候选,而不是不同 domains 上的错误恰巧相关。

cross-domain correlated agreement 正是在分析这种现象:

flowchart TB
    A["table A:domain D_A"] --> C["随机组合 / 多表 Circle FRI"]
    B["table B:domain D_B"] --> C
    C --> F["folded word 看似接近"]
    F --> Q{"是否来自 A、B 上相关且合法的候选?"}
    Q -->|"需要 correlated agreement 定理"| S["系统 soundness"]

8.2 S-two 与 zero-knowledge

S-two 是 validity proof system 与高性能 Circle STARK 实现,但其官方文档在本资料快照时明确说明相应系统不提供 witness-hiding 的 zero-knowledge。不要因为项目位于 “ZK” 生态就省略隐私属性核对。

9. STIR:通过 rate improvement 减少查询

传统二元 FRI 每轮 domain 与 degree 都约减半,所以码率 $\rho=d/N$ 大致不变。STIR 的名字是 Shift To Improve Rate:一轮把 degree 减少更大因子 $k$,同时 domain 只减少约 2 倍。

粗略地,

\[\rho_{\mathrm{next}} \approx \frac{d/k}{N/2} =\frac2k\rho.\]

当 $k>2$,码率逐轮下降,后续 code distance 更大,所需查询随层数减少。

论文给出的渐近对比是:对 $\lambda$ bit soundness,FRI 的查询量典型含

\[O\left( \lambda\frac{\log d}{\log(1/\rho)} \right),\]

而 STIR 达到形如

\[O\left( \log d+ \lambda\log \frac{\log d}{\log(1/\rho)} \right).\]

STIR 仍是 RS proximity test,而不是新的算术化。它可以替换 proof stack 中的 FRI 层,但实际收益取决于 field size、参数、Merkle layout 和 verifier/proof-size 目标。

10. WHIR:把 proximity 与约束一起折叠

WHIR 引入/使用 constrained Reed–Solomon code。令一个 smooth RS codeword 同时对应 multilinear polynomial $\widehat f$,定义

\[\operatorname{CRS} [\mathbb F,L,m,\widehat w,\sigma] = \left\{ f\in\operatorname{RS}[\mathbb F,L,m]: \sum_{b\in\{0,1\}^m} \widehat w(\widehat f(b),b) =\sigma \right\}.\]

这条 sumcheck-like constraint 很灵活:

  • 可表达 multilinear evaluation $\widehat f(z)=y$;
  • 可表达 polynomial IOP 的聚合约束;
  • folding 时不仅缩小 code,还递归更新 constraint。

WHIR 综合了:

  • BaseFold 中将 sumcheck 与 code folding 结合的思想;
  • STIR 的 rate-improving 思想;
  • out-of-domain sampling;
  • mutual correlated agreement 的 list-preservation 分析。
flowchart LR
    R["RS proximity"] --> C["constrained RS<br/>附带 sumcheck target"]
    C --> F["rate-improving folding"]
    F --> C2["更小 constrained RS"]
    C2 --> V["快速最终验证"]

它可以作为 univariate 或 multilinear PCS,并直接承载 evaluation query。论文报告的某组参数中,degree $2^{22}$、100-bit security 的 PCS opening 通信约 63 KiB、验证约 360 微秒;这是论文实例而非跨硬件保证,选型时应复现实测与安全模式。

11. BaseFold 与 Binius:边界已经超出传统 STARK

11.1 BaseFold

BaseFold 从 foldable codes 构造 field-agnostic multilinear PCS:

  • 工作对象是 multilinear polynomial;
  • 与 sumcheck 自然组合;
  • 不要求特定 2-adic prime field;
  • 仍采用编码/哈希型透明路线。

它与 FRI 共享 folding 思想,但不是经典单变量 RS-on-multiplicative-coset FRI。

11.2 Binius

Binius 论文在二进制塔域上构造高效 SNARK:

  • 小到 $\mathbb F_2$ 的数据无需嵌入大素域后浪费表示;
  • 使用适合小域的 multilinear PCS;
  • 给出 HyperPlonk product/permutation 与 Lasso lookup 的二进制域适配;
  • 对 Keccak 等 bit-oriented computation 特别有吸引力。

它说明现代 proof system 的分类更适合写为

\[(\text{arithmetization}, \text{polynomial space}, \text{code/PCS}, \text{field}),\]

而不是只分“SNARK”与“STARK”两个桶。

12. 2026 年的 ZK IOPP 前沿

2026/391 预印本 Zero-Knowledge IOPPs for Constrained Interleaved Codes 给出 honest-verifier zero-knowledge 的 constrained interleaved-code IOPP,并声称相对非 ZK 先进方案仅有可忽略级开销。核心部件包括:

  • ZK sumcheck interactive oracle reduction;
  • ZK code-switching;
  • 可组合的 honest-verifier ZK 定义;
  • round-by-round knowledge soundness。

这条路线很重要,因为长期以来最快的 hash-based PCS/IOPP 往往先优化 soundness 与速度,隐私层需要额外高成本 masking。应同时注意:

  • 它是 2026 年预印本,不能自动代表所有 FRI/WHIR 实现;
  • honest-verifier ZK、Fiat–Shamir 后 non-interactive ZK 与 malicious-verifier 安全需要按论文 compiler 条件区分;
  • 使用某个含 zk-codes 模块的软件库,不等于上层 protocol 已正确启用和证明 ZK。

13. 当前技术谱系

方案主要空间核心创新更像哪一层
FRI单变量 RS保持码率的低度折叠IOPP
DEEP-FRI单变量 RS域外采样消歧IOPP / opening reduction
Circle FRI圆曲线函数空间使用 $p+1$ 的 smooth groupIOPP
STIR单变量 RS递归降低码率IOPP
WHIRconstrained RS + MLEsumcheck constraint + rate improvementIOPP / PCS
BaseFoldmultilinear + foldable codefield-agnostic PCSPCS
Biniusbinary tower + multilineartiny-field 原生 arithmetization/PCS完整 SNARK 路线
S-twoflat AIR + Circle FRIM31、多表系统化与安全分析proving system

14. 如何选择研究方向

  • 目标是理解现有 AIR/STARK:先掌握 FRI/DEEP-FRI,再学 Circle FRI。
  • 目标是高性能 M31 zkVM:研究 Circle FFT、QM31、LogUp 与多表 correlated agreement。
  • 目标是 multilinear PCS 或 sumcheck-heavy SNARK:研究 BaseFold、WHIR。
  • 目标是 bit-oriented computation:研究 binary tower fields、Binius 与相应 lookup。
  • 目标是隐私而非只做 validity:单独核对 ZK encoding、模拟器和 non-interactive compiler。

15. 边界与常见陷阱

  1. Circle group 的 smoothness 来自 $p+1$,不是突然让 $\mathbb F_p^*$ 变 smooth。
  2. circle polynomial 的 degree/function space 不能按普通二元总次数随意替代。
  3. next-row 是圆群 translation;domain/index order 错误会破坏 AIR 语义。
  4. Circle DEEP quotient 必须使用适合曲线的 vanishing function。
  5. M31 小域速度快,但 challenge/soundness 需扩域和完整参数分析。
  6. STIR/WHIR 的论文 benchmark 不能直接外推到任意 circuit、hash 或硬件。
  7. list-decoding conjecture 模式与 fully proven 参数必须明确区分。
  8. 多 table 不等于若干单表 soundness 的简单乘积。
  9. “hash-based”只描述主要 commitment 路线;QROM、hash 实例和 transcript 仍需核对。
  10. 新 ZK IOPP 论文不自动给旧版 prover 增加零知识。

16. 自测

  1. 证明圆群运算保持 $x^2+y^2=1$。
  2. 用 norm map 解释为什么 M31 圆群大小为 $2^{31}$。
  3. 传统 FRI 的 $x^2$ 与 Circle folding 的 $2x^2-1$ 分别来自什么群映射?
  4. 为什么 circle function 不能只用 $x$ 坐标表示?
  5. 若 STIR 一轮 degree 降 4 倍、domain 降 2 倍,码率如何变化?
  6. constrained RS code 如何把 evaluation claim 表成 sumcheck-like constraint?

参考


上一篇:Plonky3 的 FRI、LogUp 与原生递归 · 下一篇:递归、累积与折叠 · 返回:总目录

本文由作者按照 CC BY 4.0 进行授权