1. 引言
Eli Ben-Sasson等人2018年论文《Fast Reed-Solomon Interactive Oracle Proofs of Proximity》。该论文又俗称FRI。
Reed-Solomon(RS)码在:
- 构建quasilinear probabilistically checkable proofs(PCPs)
- 构建具有perfect zero knowledge和polylogarithmic verifiers的interactive oracle proofs(IOPs)
中承担重要角色。而证明RS码中的membership所需的巨大具体计算复杂度是在实践中部署此类PCP/IOP系统的最大障碍之一。为此,本文为RS码提出了一种新的interactive oracle proof of proximity(IOPP),将其称为Fast RS IOPP(FRI),原因在于:
- 1)它看起来像无处不在的Fast Fourier Transform(FFT)
- 2)其Prover的计算复杂性是严格线性的,其Verifier的计算复杂性是严格logarithmic的(而FFT计算复杂度是quasi-linear的,并不是严格线性的)。
之前的RS IOPPs和PCPs of proximity(PCPPs),即使针对polynomially large query complexity,其proving time也是super-linear的。
对于block-length为 N N N的codes:
- (interactive)FRI Prover的计算复杂度 < 6 ⋅ N <6\cdot N <6⋅N;
- (interactive)FRI Verifier的计算复杂度 ≤ 2 ⋅ log N \leq 2\cdot \log N ≤2⋅logN;
- query复杂度为 2 ⋅ log N 2\cdot \log N 2⋅logN;
- 具有constant soundness:即距离某code为 δ \delta δ-far 的words,其被拒绝的概率为 min { δ ⋅ ( 1 − o ( 1 ) ) , δ 0 } \text{min}\{\delta\cdot (1-o(1)), \delta_0\} min{ δ⋅(1−o(1)),δ0},其中 δ 0 \delta_0 δ0为一个主要依赖于code rate的 positive constant。
由FRI获得的query复杂度和soundness特殊组合:
- 要优于 [Ben-Sasson and Sudan, SICOMP 2008] 的quasilinear PCPP;
- 甚至比 [Ben-Sasson et al., STOC 2013; ECCC 2016] 有更tighter的soundness分析。
使得FRI有可能促成更具体有效的零知识证明和论证系统。
之前具体有效的PCPPs和IOPPs在每一轮“proof composition”中遭受a constant multiplicative factor loss in soundness,因此最多使用 O ( log log N ) O(\log{\log N}) O(loglogN)轮。本文表明,当 δ \delta δ小于码的唯一解码半径时,FRI在soundness方面仅遭受可忽略的additive loss。这一观察结果使我们能够将“proof composition”的轮数增加到 Θ ( log N ) \Theta (\log N) Θ(logN),从而减少Prover和Verifier运行时间以获得固定的soundness。
1.1 基本介绍
Reed-Solomon(RS)码family 是代数编码理论与理论计算机科学的基本研究对象。
针对:
- 有限域 F \mathbb{F} F内的 N N N个elements的evaluation set S S S,
- rate参数 ρ ∈ ( 0 , 1 ] \rho\in(0,1] ρ∈(0,1],
- code RS [ F , S , ρ ] \text{RS}[\mathbb{F}, S, \rho] RS[F,S,ρ] 为 the space of functions f : S → F f:S\rightarrow \mathbb{F} f:S→F,这些函数为evaluations of polynomials of degree d < ρ N d<\rho N d<ρN。
要求Verifier可 以“large”信心 和 “small” query复杂度,来区分, f f f 是 RS [ F , S , ρ ] \text{RS}[\mathbb{F}, S, \rho] RS[F,S,ρ] 的一个codeword,还是, f f f 距离所有codewords的相对Hamming distance为 δ \delta δ-far ?
该问题在多个不同的计算模型中解决,也是本文关注的焦点:
其中:
-
1)RS proximity testing:当没有额外的数据提供给Verifier时,则将RS proximity problem通常称为 testing problem,该问题首次在[58/32]中定义并解决。此时,需要有 d + 1 d+1 d+1 次query 就足以解决该问题:tester以概率 1 1 1 接受codewords,而距离code为 δ \delta δ-far 的functions,其被拒绝的概率 ≥ δ \geq\delta ≥δ。
由于在该模型下无需向Verifier提供任何额外信息,可将其称为 某Prover无需花费任何算力、无需任何交互、生成的proof size长度为 0 0 0,使Verifier信服 f ∈ RS [ F , S , ρ ] f\in \text{RS}[\mathbb{F}, S, \rho] f∈RS[F,S,ρ]。 -
2)RS proximity verification——PCPP模型:Probabilistically checkable proofs of proximity(PCPP) 将 testing problem 放宽为 a setting,在该setting内,Verifier还可oracle access to an auxiliary proof——将其称为PCPP,以 π \pi π表示。
- 该PCPP由Prover生成,输入为 f ∈ RS [ F , S , ρ ] f\in \text{RS}[\mathbb{F}, S, \rho] f∈RS[F,S,ρ]。
- 生成 π \pi π的时间称为prover complexity。
- ∣ π ∣ |\pi| ∣π∣为proof length。
- 生成queries和检查query-answers的总时间称为verifier complexity。
曾用于证明著名的PCP Theorem[2, 3] 的技术表明,可用constant query complexity、constant proof length、prover complexity N O ( 1 ) N^{O(1)} NO(1)来解决proximity problem,或,以 proof length N 1 + ϵ N^{1+\epsilon} N1+ϵ、query complexity ( log N ) O ( 1 / ϵ ) (\log N)^{O(1/{\epsilon})} (logN)O(1/ϵ) 来解决proximity problem。
当前最先进的PCPP模型:proof length为 O ~ ≜ N ⋅ log O ( 1 ) N \tilde{O}\triangleq N\cdot \log^{O(1)}N O~≜N⋅logO(1)N、constant query complexity、prover complexity O ~ ( N ) \tilde{O}(N) O~(N) 以及 verifier complexity poly log N \text{poly}\log N polylogN。 -
3)RS proximity verification——IOPP模型:Interactive oracle proofs of proximity(IOPP)在[13]中定义,并在[57]中以“probabilistically checkable interactive proofs of proximity”名定义。IOPP是对IP、PCP、interactive PCP(IPCP)的概括。
- 在IP和IPCP中,多轮交互中Prover会发送message π 1 , π 2 , ⋯ , π r \pi_1,\pi_2,\cdots,\pi_r π1,π2,⋯,πr 来响应连续的Verifier messages。
- 在PCP和IPCP中,Verifier不需要完整的读取整个Prover messages,而是可query Prover messages的随机位置(在IPCP中,Verifier必须读取完整的messages π 2 , ⋯ \pi_2,\cdots π2,⋯,但是可随机query π 1 \pi_1 π1):
- query complexity为从 f f f和 π 1 , π 2 , ⋯ , π r \pi_1,\pi_2,\cdots,\pi_r π1,π2,⋯,πr读取的entries总数。
- Prover的输入为 f ∈ RS [ F , S , ρ ] f\in \text{RS}[\mathbb{F}, S, \rho] f∈RS[F,S,ρ]。
- prover complexity为生成所有(prover)messages的总时长。
- proof length由PCPP setting 概括为 IOPP setting,定义为 ∣ π 1 ∣ + ⋯ + ∣ π r ∣ |\pi_1|+\cdots +|\pi_r| ∣π1∣+⋯+∣πr∣。
IOPP可将PCPP proof composition “替换”为更多轮的交互,从而在不牺牲soundness的情况下,reduce proof length 以及 reduce prover complexity。可在不改变soundness和(或)query complexity的情况下,将proof length reduce为 O ( N ) O(N) O(N)。除了proof length更短之外,受限于proof-composition轮数的限制,之前成果中的prover complexity为 Θ ( N poly log N ) \Theta(N\text{poly}\log N) Θ(NpolylogN)。
1.2 主要成果
本文提供了new IOPP for RS codes,称为Fast RS IOPP(FRI),因为其与Fast Fourier Transform(FFT)类似。本文的new iOPP分析依赖于quasi-linear RS-PCPP。
FRI是第一个RS-IOPP:
- 1)对Prover具有严格的linear计算复杂度
- 2)对Verifier具有严格的logarithmic计算复杂度
- 3)具有constant soundness