1. 引言
Eli Ben-Sasson等人2018年论文《Fast Reed-Solomon Interactive Oracle Proofs of Proximity》。该论文又俗称FRI。Full version版见Fast Reed-Solomon interactive oracle proofs of proximity (2nd revision),包含了详细的实现细节。
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
1.2.1 IOP
Interactive Oracle Proof(IOP)系统中包含的算法有 S = ( P , V ) S=(P,V) S=(P,V),其中:
- P P P,表示Prover
- V V V,表示Verifier
对于长度为
N
N
N的输入
x
x
x,交互的轮数表示为
r
(
N
)
r(N)
r(N)——称为该系统的round复杂度。
在单轮内:
- Prover发送一条消息,给Verifier oracle access权限;
- Verifier给Prover回复一条消息。
将proof length表示为
l
(
N
)
l(N)
l(N),为Prover发送的所有消息的总长度。
将IOP协议中的query复杂度表示为
q
(
N
)
q(N)
q(N),为Verifier从各种Prover消息中读取的entries的数量。由于Verifier对Prover发来的消息具有oracle access,因此通常
q
(
N
)
≪
l
(
N
)
q(N)\ll l(N)
q(N)≪l(N)。对于FRI系统,其
q
(
N
)
=
O
(
log
l
(
N
)
)
q(N)=O(\log l(N))
q(N)=O(logl(N))。
Verifier与Prover基于输入 x x x 交互后,Verifier的输出要么为accept要么为reject,将其表示为 < P ↔ V > ( x ) <P\leftrightarrow V>(x) <P↔V>(x)。
若Verifier发送的所有消息都是public random coins,且发送给Prover所有queries均由这些public coins确定,则称该IOP为transparent(或具有public randomness)。这种协议也可称为Arthur-Merlin协议。
1.2.2 IOPP
IOPP:为IOP of proximity,是将PCP of Proximity(PCPP)概括为IOP模式的自然表示。
对a family of codes C \mathcal{C} C的IOPP中也包含算法 S = ( P , V ) S=(P,V) S=(P,V),其中:
- P P P,表示Prover
- V V V,表示Verifier
Prover和Verifier双方都会收到输入:a specification of a code C ∈ C C\in\mathcal{C} C∈C,可将其看成是a set of functions C = { f : S → ∑ } C=\{f: S\rightarrow \sum\} C={f:S→∑} for a finite set S S S and alphabet ∑ \sum ∑。
假设Verifier具有oracle access to a function f ( 0 ) : S → ∑ f^{(0)}:S\rightarrow \sum f(0):S→∑,而Prover将该函数作为明确的输入。二者交互的轮数,又名round复杂度,表示为 r r r。query复杂度,表示为 q q q。
IOPP定义为:
其中第一个Prover消息,表示为
f
0
f^{0}
f0,是声称的codeword of
C
C
C,即
f
0
:
S
→
∑
f^{0}: S\rightarrow \sum
f0:S→∑。
- 除 f ( 0 ) f^{(0)} f(0)之外 的所有Prover消息的长度之和,称为IOPP proof length;
- 生成 除 f ( 0 ) f^{(0)} f(0)之外 的所有Prover消息的时间 称为Prover complexity;
- query to 所有消息(含 f ( 0 ) f^{(0)} f(0))的总次数,称为IOPP query complexity;
- 以query answers为输入,Verifier判决(accept还是reject)所需的computational complexity,称为Decision complexity。【计算模型并未定义,默认使用boolean circuit complexity,也可为arithmetic complexity。】
1.2.3 主要定理
size为 q q q的finite field表示为 F q \mathbb{F}_q Fq,当上下文明确时,可忽略不写 q q q。若 q = 2 m , m ∈ N q=2^m,m\in\mathbb{N} q=2m,m∈N,则可将该field称为binary。
若binary field的subset S S S为a coset of a subgroup of the additive group F + \mathbb{F}^{+} F+,则可将subset S S S称为additive coset,即:
- S S S is an additive shift of an F 2 \mathbb{F}_2 F2-linear space contained in F q \mathbb{F}_q Fq。
binary additive RS code family为:
- the collection of codes R S [ F , S , ρ ] RS[\mathbb{F}, S,\rho] RS[F,S,ρ],其中 F \mathbb{F} F为binary field, S S S为additive coset。
该family of codes在[23]的quasilinear PCP中有定义过,本文主要定理为:
-
Space complexity:以 第 i i i个prover message为输入,计算第 ( i + 1 ) (i+1) (i+1)个prover message的每个symbol所需的space complexity为 O ( log ∣ F ∣ ) O(\log |\mathbb{F}|) O(log∣F∣)——即,维护constant数量的field elements所需的空间。
原因在于,在并行机器上,每个prover message可以 O ( 1 ) O(1) O(1) arithmetic operations计算。
如[23, Proposition 6.13]所述,可将定理2概括为任意rate ρ ∈ ( 0 , 1 ] \rho\in (0,1] ρ∈(0,1],会在prover complexity和verifier complexity中增加稍微大点的常量值。而对于类似ZK-IOPs [14,12]这样的实际应用,上面定理2中定义的rate就足够了。 -
FRI for “smooth codes”:若某multiplicative group H ⊂ F q H\subset \mathbb{F}_q H⊂Fq,其order( ∣ H ∣ |H| ∣H∣)为 2 k , k ∈ N 2^k,k\in\mathbb{N} 2k,k∈N,则该group为smooth的。
family of smooth RS codes of rate ρ \rho ρ为 the set of R S [ F , H , ρ ] RS[\mathbb{F}, H,\rho] RS[F,H,ρ],其中 H H H为smooth multiplicative group。
对于family of smooth RS codes,定理2仍然成立,且比prover/verifier arithmetic complexity中的常量值 6 / 21 6/21 6/21更小的系数,详情见论文[10]。该协议也可进一步概括到groups of order c k c^k ck for constant c c c,此处忽略具体细节。 -
猜想3:定理2的soundness bound为nearly tight for δ ≤ δ 0 \delta\leq \delta_0 δ≤δ0,可猜想类似的bound对所有 δ \delta δ成立。详细见论文[10]。
2. Transparent zero knowledge implementations应用
此处关注的Prover-efficient IOPPs,致力于实现具有如下3个属性(见论文[11]——Eli Ben-Sasson等人2018年论文《Scalable, transparent, and post-quantum secure computational integrity》)的ZK argument system:
- 1)transparent:即public randomness
- 2)universal:即可用于任何计算
- 3)(doubly)scalable:即同时具有quasi-linear proving time和poly-logarithmic verification time。
在Eli Ben-Sasson等人后续论文《Scalable, transparent, and post-quantum secure computational integrity》中,基于FRI协议用代码实现了第一个满足如上3个属性的ZK system——称为ZK-STARK。该系统的效率大幅依赖于本文将描述的FRI协议的效率。
ZK-STARK prover:
- 比Eli Ben-Sasson等人2016年论文《Computational integrity with a public random string from quasi-linear PCP》中的SCI——state-of-the-art transparent system(不具备ZK属性)的速度要快约50倍;
- 比Eli Ben-Sasson等人2013年论文《SNARKs for C: Verifying program executions succinctly and in zero knowledge》中的ZK-SNARKs(不具备transparent属性)的速度要快约10倍。
相关技术衍化路线为:
- 1)在Babai等人的开创性成果[6,5]中指出:验证the correctness of an arbitrary nondeterministic computation running for T ( N ) T(N) T(N) steps,在PCP模型下,Verifier的running time可为 poly ( N , log T ( N ) ) \text{poly}(N,\log T(N)) poly(N,logT(N))。
- 2)Kilian在其论文[43]中,基于collision-resistant hash functions,将类似的PCP转换为4-round ZK argument,其total communication complexity和verifier running time上限均为 poly log T ( N ) \text{poly}\log T(N) polylogT(N)。
- 3)Micali在其论文[48]中,假设prover和verifier可共享访问同一随机函数(通常实际实现时采用类似SHA2的哈希函数并依赖于Fiat-Shamir heuristic[31]假设),对该系统进一步压缩为non-interactive computationally sound (CS) proof system。
1/4个世纪过去了,并没有对这些了不起的技术的具体实现,主要计算瓶颈在于解决Reed-Muller(RM) proximity problem,又名“low degree testing” of multivariate polynomials。
可使用Kilian技术[14,12] 和 Micali技术[61,19]来实现ZK argument system,但是需重新考虑是否能实现polylogarithmic verifier。
在Michael Walfish等人 2015年论文《Verifying computations without reexecuting them》描述了一些有趣实用的succinct argument systems(with or without zero-knowledge):
Eli Ben-Sasson等人2016年论文《Computational integrity with a public random string from quasi-linear PCP》中将基于PCP/IOP的方案与其它方案进行了对比:
Rosario Gennaro等人2013年论文《Quadratic span programs and succinct NIZKs without PCPs》中介绍了基于quadratic span programs(QSP)的特殊系统,Ben-Sasson等人使用该系统构建了名为“Zerocash”的去中心化匿名支付系统[15],后来部署为名为“Zcash”的实用商业crypto-currency[52,38]。
但是,Zerocash/Zcash中基于QSP的ZK系统,称为“preprocessing SNARK”[24]:
- 需要trusted setup,在该可信设置过程中包含了private randomness。
- 依赖于强的密码学安全假设——“knowledge of exponent”。
- 量子计算机可为该系统创建pesudo-proofs of falsities in polynomial time [60]。
而,基于quasilinear PZK-IOPs的succinct interactive and non-interactive non-interactive random oracle proof (NIROP)系统:
- setup时,仅需要public randomness。
- 依赖的安全假设为抗碰撞哈希函数[43]——当前认为量子计算机无法在polynomial time破解。
接下来的兴趣点就在于抗量子安全的、无需可信设置的NIROP系统能否实际实现了。Eli Ben-Sasson等人2016年论文《Computational integrity with a public random string from quasi-linear PCP》中描述了这样的系统实现,名为“succinct computational integrity(SCI)”系统,其不具有ZK属性,且有相对大的communication complexity。
而在Eli Ben-Sasson等人后续论文《Scalable, transparent, and post-quantum secure computational integrity》中,基于上述定理2中的RS proximity solution,实现了ZK-STARK系统。
3. Concrete degree, communication, and round complexity
本节将明确讨论实际应用中的RS codes “size” 以及 the effect of logarithmic round complexity on security。
RS codes of degree d = ρ ⋅ N − 1 d=\rho\cdot N-1 d=ρ⋅N−1的message length精确为 d d d,因此:
- 我们首先重新计算与实际相关的degree范围(message sizes)。
- 计算使用FRI协议引起的communication complexity,与实际block-lengths相关的codes proximity。
- 最后,讨论具有 log d \log d logd rounds的IOPP实际实现。
与[7,11]类似,本节定义 ρ = 1 / 8 ( N = 8 ⋅ d ) \rho=1/8(N=8\cdot d) ρ=1/8(N=8⋅d)
3.1 RS block-length of systems realized in code
Eli Ben-Sasson等人2016年论文《Computational integrity with a public random string from quasi-linear PCP》中的SCI(“Scalable Computational Integrity”),为基于IOP的argument system,将类似“程序P基于输入x运行T步之后的结果为y”这样的computational statements reduce为 a pair of RS-proximity testing problems。
SCI使用[23]中quasilinear PCP的 IOP版本,可将其替换为FRI。SCI的benchmark程序运行在 名为TinyRAM [18]——类似MIPS的虚拟机内。
一般来说,随着TinyRAM machine cycles
T
T
T数的增加,RS degree size也将增加。
Figure 1. A画出了针对某简单程序,degree d d d与cycle T T T之间的关系为 d ≈ T ⋅ 2 21 d\approx T\cdot 2^{21} d≈T⋅221。
对于需要zero knowledge的crypto-currency应用,block-length由 the type of cryptographic primitives required、以及 在computational statement中所调用的次数 所主导。如,ZK contingent payments [47]仅需要一次哈希运算,而Zerocash的Pour circuit [15]需要64次哈希运算,使得RS codewords(over a prime field)with degree(=number of gates)近似为 2 22 2^{22} 222。
本文的成果表明,单次哈希调用需要的RS block-length取值范围为 2 12 = 4096 2^{12}=4096 212=4096(针对基于AES128的Daview-Meyer hash) 到 2 19 2^{19} 219(针对SHA2),即意味着对于现有的crypto-currency(ZK)应用[11],degree的取值范围为 d ∈ [ 2 12 , 2 26 ] d\in[2^{12},2^{26}] d∈[212,226]。
3.2 Estimated communication complexity and argument length
可将interactive argument systems [43] 和 CS proofs [49]的实际实现扩展为IOPP模式,需使用多轮交互[19]。
使用Kilian机制[43],在第 i i i轮中:
- Prover发送Merkle hash tree Tree ( i ) \text{Tree}^{(i)} Tree(i)的根 root ( i ) \text{root}^{(i)} root(i)给Verifier,该Merkle hash tree Tree ( i ) \text{Tree}^{(i)} Tree(i)的叶子节点are labled by entries of f ( i ) f^{(i)} f(i)。
- Verifier回复随机值。
使用Micali机制[49],在第 i i i轮中:
- (non-interactive) Prover queries the random oracle with root ( i ) \text{root}^{(i)} root(i) to “simulate” the Verifier’s i i i-th message。
当Verifier queries to f ( i ) f^{(i)} f(i) are answered by the Prover,Prover所答复的每个消息都伴随有an authentication path(AP)that shows the query answer is consistent with root ( i ) \text{root}^{(i)} root(i)。
以
C
C
δ
,
ϵ
(
N
)
CC_{\delta,\epsilon}(N)
CCδ,ϵ(N)来表示Prover端的communication complexity(in bits)of an argument/CS proof realized by applying the Kilian/Micali scheme to FRI,其中
δ
\delta
δ为proximity参数,
ϵ
\epsilon
ϵ为error bound——即words that are
δ
\delta
δ-far from the RS code are rejected with probability
<
ϵ
<\epsilon
<ϵ,则有:
其中:
- q δ , ϵ \text{q}_{\delta,\epsilon} qδ,ϵ:表示IOP模型内,为针对proximity参数 δ \delta δ 实现soundness ≥ 1 − ϵ \geq 1-\epsilon ≥1−ϵ 所需的总query complexity。
- AP δ , ϵ \text{AP}_{\delta,\epsilon} APδ,ϵ:为包含在所有authentication paths的Merkle trees Tree ( 0 ) , ⋯ , Tree ( r ) \text{Tree}^{(0)},\cdots,\text{Tree}^{(r)} Tree(0),⋯,Tree(r)的sub-forest内的所有节点数。
- λ \lambda λ:为用于构建Merkle tree的哈希函数的output bits数。
在Eli Ben-Sasson等人后续论文《Scalable, transparent, and post-quantum secure computational integrity》中,使用的参数为:
λ
=
160
,
ϵ
=
2
−
80
,
∣
F
∣
=
2
64
,
ρ
=
1
/
8
\lambda=160,\epsilon=2^{-80},|\mathbb{F}|=2^{64},\rho=1/8
λ=160,ϵ=2−80,∣F∣=264,ρ=1/8
Figure 1. B中划除了基于定理2下的communication complexity 和 Conjecture 3 soundness 与 degree之间的关系。这两种情况下,使用最大化distance
δ
=
1
−
ρ
=
7
/
8
\delta=1-\rho=7/8
δ=1−ρ=7/8。
3.3 Round complexity considerations
可将crypto-currency block-chain看成是:
- a time-stamping service for public messages
- 以及 a public beacon of randomness
可使用block-chain来模拟Verifier messages。
如Zcash等链每2.5分钟生成一个区块,则意味着a FRI proof for
d
=
2
k
d=2^k
d=2k用时约需
k
⋅
5
4
k\cdot \frac{5}{4}
k⋅45分钟,或,对于
d
<
2
40
d<2^{40}
d<240用时小于1小时(Bitcoin的最佳实践为1小时确认,或3天to clear standard checks)。
对于固定的 d d d,定理2中定义的round complexity为 1 2 log d \frac{1}{2}\log d 21logd,但在Full Version版本中,在query complexity( q q q)和 round complexity( r r r)之间做了权衡, r = log d / log q r=\log d/\log q r=logd/logq,在增加communication complexity的情况下,可进一步降低round complexity。
最终,使用Micali的Random Oracle model来将interactive argument systems(like Kilian’s)“压缩”为CS proofs,类似为对FRPI multi-round IOPs进行压缩,对argument length的影响可湖绿,详细见[19, Remark 1.6]:
实际上,将SHA2哈希函数作为RO model的实现,会感觉到很舒服地将类似FRI的IOP协议编译为succinct non-interactive arguments,详细见[19]。
4. 相关工作
4.1 High-rate LTCs
Locally testable codes (LTCs)为纠错码,其prover complexity和proof length均为0(在Rubinfeld [58]论文中阐述RS codes时提及)。换句话说,若只关注prover complexity,LTCs可为最优方案,其具有zero prover complexity。此外,在之前的讨论中也提及了,RS codes具有更小的prover complexity有助于即构建使用的ZK-IOPs。
“直接”经典的构建LTC的方式,如[25]的Hadamard code 和 早期PCP构建使用的 log N \log N logN-variate RM codes [1,5] 都具有sub-constant rate,从而具有long proofs和large PCP prover complexity。
当前,构建LTCs取得了长足进步,可实现small query complexity和large soundness,详细见[45,36]。
不过相比于RS codes,当前并不是知道如何将这些LTCs转换为PCPs。
4.2 PCPs and IOPs
当前的一些研究成果可以small proof length和small query complexity构建PCP。
详细见[51,37,22,13]。
4.3 放大soundness
有一些技术来改进PCP的soundness:
- [55]中的parallel repetition theorem
- [28]中的gap amplification技术
- [34]中的direct-product testing。
这些技术可lead to excellent soundness bounds with small query complexity。基于这些方法的PCPs和PCPPs的prover complexity并未有明确研究,但至少是super-linear的,且通常是polynomially large的。
4.4 Doubly-efficient “proofs for muggles”
Goldwasser等人2008年论文《Delegating computation: Interactive proofs for Muggles》中,重温了等价于PSPACE的IP(Interactive proof)模型,专注于实现doubly efficient systems:
- Prover runs in polynomial time(而不是polynomial space);
- 且 Verifier runs in nearly linear time。
相关研究成果可看[27,57]。
5. FRI IOPP总览 及其 soundness
本节重点关注为”smooth“ RS code构建IOPP。
5.1 FRI总览 及其 与FFT的相似之处——completeness
首先介绍 Eli Ben-Sasson等人 2008年论文《Short PCPs with polylog query complexity》中的quasi-linear PCPP for RS codes算法,该算法与IFFT算法类似。
令
ω
(
0
)
\omega^{(0)}
ω(0)生成了a smooth multiplicative group of order
N
=
2
n
N=2^n
N=2n,将该smooth multiplicative group标记为
L
(
0
)
L^{(0)}
L(0),包含在field
F
\mathbb{F}
F中。在信号处理应用中
ω
(
0
)
\omega^{(0)}
ω(0)为a complex root of unity of order
2
n
2^n
2n,
F
\mathbb{F}
F为the field of complex numbers。
Prover声称
f
(
0
)
:
L
(
0
)
→
F
f^{(0)}: L^{(0)}\rightarrow \mathbb{F}
f(0):L(0)→F 为a member of
R
S
[
F
,
L
(
0
)
,
ρ
]
RS[\mathbb{F}, L^{(0)},\rho]
RS[F,L(0),ρ],即
f
(
0
)
f^{(0)}
f(0) 为the evaluation of an unknown polynomial
P
(
0
)
(
X
)
∈
F
[
X
]
,
d
e
g
(
P
)
<
ρ
2
n
P^{(0)}(X)\in\mathbb{F}[X], deg(P)<\rho 2^n
P(0)(X)∈F[X],deg(P)<ρ2n,为简化,假设
ρ
=
2
−
R
\rho=2^{-\mathcal{R}}
ρ=2−R,其中
R
\mathcal{R}
R为正整数。
Verifier的任务在于:
- 区分 low-degreeness( f ( 0 ) ≡ P ( 0 ) f^{(0)}\equiv P^{(0)} f(0)≡P(0) for some low degree P ( 0 ) P^{(0)} P(0)) 和 cases where f ( 0 ) f^{(0)} f(0) is far from all polynomials of degree < ρ 2 n <\rho 2^n <ρ2n。
回顾IFFT,若
f
(
0
)
≡
P
(
0
)
f^{(0)}\equiv P^{(0)}
f(0)≡P(0),则存在多项式
P
0
(
1
)
,
P
1
(
1
)
∈
F
[
Y
]
P_0^{(1)},P_1^{(1)}\in\mathbb{F}[Y]
P0(1),P1(1)∈F[Y],使得
max
{
deg
(
P
0
(
1
)
)
,
deg
(
P
1
(
1
)
)
}
<
1
2
ρ
2
n
\max\{\deg(P_0^{(1)}),\deg(P_1^{(1)})\}<\frac{1}{2}\rho 2^n
max{deg(P0(1)),deg(P1(1))}<21ρ2n,且:
∀
x
∈
L
(
0
)
,
f
(
0
)
(
x
)
=
P
(
0
)
(
x
)
=
P
0
(
1
)
(
x
2
)
+
x
⋅
P
1
(
1
)
(
x
2
)
\forall x\in L^{(0)}, f^{(0)}(x)=P^{(0)}(x)=P_0^{(1)}(x^2)+x\cdot P_1^{(1)}(x^2)
∀x∈L(0),f(0)(x)=P(0)(x)=P0(1)(x2)+x⋅P1(1)(x2)
或,令
Q
(
1
)
(
X
,
Y
)
≜
P
0
(
1
)
(
Y
)
+
X
⋅
P
1
(
1
)
(
Y
)
Q^{(1)}(X,Y)\triangleq P_0^{(1)}(Y)+X\cdot P_1^{(1)}(Y)
Q(1)(X,Y)≜P0(1)(Y)+X⋅P1(1)(Y),并定义
q
(
0
)
(
X
)
≜
X
2
q^{(0)}(X)\triangleq X^2
q(0)(X)≜X2,有:
P
(
0
)
(
X
)
≡
Q
(
1
)
(
X
,
Y
)
m
o
d
Y
−
q
(
0
)
(
X
)
P^{(0)}(X)\equiv Q^{(1)}(X,Y)\mod Y-q^{(0)}(X)
P(0)(X)≡Q(1)(X,Y)modY−q(0)(X)
其中:
deg
X
(
Q
(
1
)
)
<
2
\deg_{X}(Q^{(1)})<2
degX(Q(1))<2 且
deg
Y
(
Q
(
1
)
)
<
1
2
ρ
2
n
\deg_Y(Q^{(1)})<\frac{1}{2}\rho 2^n
degY(Q(1))<21ρ2n。
map
x
↦
q
(
0
)
(
x
)
x\mapsto q^{(0)}(x)
x↦q(0)(x)为2-to-1 on
L
(
0
)
L^{(0)}
L(0),因为
q
(
0
)
(
x
)
=
q
(
0
)
(
−
x
)
q^{(0)}(x) = q^{(0)}(-x)
q(0)(x)=q(0)(−x),该map的输出为由
ω
(
1
)
=
(
ω
(
0
)
)
2
\omega^{(1)}=(\omega^{(0)})^2
ω(1)=(ω(0))2生成的multiplicative group,该group order为
2
n
−
1
2^{n-1}
2n−1,标记为
L
(
1
)
L^{(1)}
L(1)。
此外,对于每个 x ( 0 ) ∈ F x^{(0)}\in\mathbb{F} x(0)∈F和 y ∈ L ( 1 ) y\in L^{(1)} y∈L(1), Q ( 1 ) ( x ( 0 ) , y ) Q^{(1)}(x^{(0)},y) Q(1)(x(0),y)的值可通过query two entries of f ( 0 ) f^{(0)} f(0)计算出来,原因是 deg X ( Q ( 1 ) ) < 2 \deg_{X}(Q^{(1)})<2 degX(Q(1))<2(该two entries为多项式 y − q ( 0 ) ( X ) y-q^{(0)}(X) y−q(0)(X)的two roots)。
因此,Verifier可:
- <1>:对 x ( 0 ) ∈ F x^{(0)}\in\mathbb{F} x(0)∈F随机取样,要求Prover发送 f ( 1 ) : L ( 1 ) → F f^{(1)}:L^{(1)}\rightarrow \mathbb{F} f(1):L(1)→F(其本质为the evaluation of Q ( 1 ) ( x ( 0 ) , Y ) Q^{(1)}(x^{(0)},Y) Q(1)(x(0),Y) on L ( 1 ) L^{(1)} L(1))。【第一轮的开销为,Verifier发送单一field元素 x ( 0 ) x^{(0)} x(0),Prover回复a message(oracle) f ( 1 ) : L ( 1 ) → F f^{(1)}:L^{(1)}\rightarrow \mathbb{F} f(1):L(1)→F evaluated on a domain that is half the size of L ( 0 ) L^{(0)} L(0)。】
- <2>:若
f
(
0
)
∈
R
S
[
F
,
L
(
0
)
,
ρ
]
f^{(0)}\in RS[\mathbb{F}, L^{(0)},\rho]
f(0)∈RS[F,L(0),ρ],则
f
(
1
)
∈
R
S
[
F
,
L
(
1
)
,
ρ
]
f^{(1)}\in RS[\mathbb{F}, L^{(1)},\rho]
f(1)∈RS[F,L(1),ρ]。注意,
f
(
0
)
f^{(0)}
f(0)与
f
(
1
)
f^{(1)}
f(1)一致性存在3-query test,也称为round consistency test:【每个consistency test中,需要3个field elements。】
- 1)采样一组不同的元素 s 0 , s 1 ∈ L ( 0 ) s_0,s_1\in L^{(0)} s0,s1∈L(0),使得 s 0 2 = s 1 2 = y s_0^2=s_1^2=y s02=s12=y,换句话说,随机采样 y ∈ L ( 1 ) y\in L^{(1)} y∈L(1),令 s 0 , s 1 s_0,s_1 s0,s1为多项式 y − X 2 y-X^2 y−X2的2个根。
- 2)query f ( 0 ) ( s 0 ) , f ( 0 ) ( s 1 ) , f ( 1 ) ( y ) f^{(0)}(s_0), f^{(0)}(s_1),f^{(1)}(y) f(0)(s0),f(0)(s1),f(1)(y),将相应的query answers表示为 α 0 , α 1 , β \alpha_0,\alpha_1,\beta α0,α1,β。
- 3)对穿过 ( s 0 , α 0 ) , ( s 1 , α 1 ) (s_0,\alpha_0),(s_1,\alpha_1) (s0,α0),(s1,α1)的直线插值,即找到degree最大为1的多项式 p ( X ) p(X) p(X),满足 p ( s 0 ) = α 0 , p ( s 1 ) = α 1 p(s_0)=\alpha_0,p(s_1)=\alpha_1 p(s0)=α0,p(s1)=α1,注意, p p p为唯一确定的,因为 s 0 ≠ s 1 s_0\neq s_1 s0=s1。
- 4)当且仅当 p ( x ( 0 ) ) = β p(x^{(0)})=\beta p(x(0))=β时,accept,否则reject。
至此,将a single proximity problem of size
2
n
2^n
2n and rate
ρ
\rho
ρ REDUCE为 类似的问题of size
2
n
−
1
2^{n-1}
2n−1 and same rate
ρ
\rho
ρ。
重复以上流程
r
=
n
−
R
r=n-\mathcal{R}
r=n−R次,可获得a function
f
(
r
)
f^{(r)}
f(r)——具有constant degree,且evaluated over a domain of constant size
2
R
2^{\mathcal{R}}
2R。此时,Prover发送a single constant that describes the function,Verifier将该constant当作
f
(
r
)
f^{(r)}
f(r)用于最后一轮的consistency test,用于测试
f
(
r
−
1
)
f^{(r-1)}
f(r−1)与
f
(
r
)
f^{(r)}
f(r)之间的consistency。
对所有 r r r轮进行递归分析,若 f ( 0 ) ∈ R S [ F , L ( 0 ) , ρ ] f^{(0)}\in RS[\mathbb{F}, L^{(0)},\rho] f(0)∈RS[F,L(0),ρ](且Prover是诚实的),则所有 r r r轮consistency tests通过概率为1,且 f ( r ) f^{(r)} f(r)确实是a constant function。换句话说,该协议具有perfect completeness。
注意,FRI为quasi-linear RS-PCPP的”biased“版本。 Eli Ben-Sasson等人 2008年论文《Short PCPs with polylog query complexity》中的quasi-linear PCPP 与 FRI非常相似,也包含通过请求Prover evaluate a bivariate polynomial Q ( X , Y ) Q(X,Y) Q(X,Y) on a collection of axis-parallel lines来实现degree-reduction(由 P ( 0 ) P^{(0)} P(0) reduce为 P ( 1 ) P^{(1)} P(1))。不过本文的FRI与该论文中的PCPP有2大不同之处:
- 1)quasilinear PCPP为non-interactive的,因此Prover evaluates Q ( 1 ) ( X , Y ) Q^{(1)}(X,Y) Q(1)(X,Y) on a large subset of F × F \mathbb{F}\times \mathbb{F} F×F,而FRI协议使用interaction,通过请求Prover仅对Verifier选中的axis-parallel lines进行recursion,来降低proving time。
- 3)论文《Short PCPs with polylog query complexity》中的多项式 q ( 0 ) ( X ) q^{(0)}(X) q(0)(X)具有degree为 ≈ deg ( P ( 0 ) ) \approx \sqrt{\deg(P^{(0)})} ≈deg(P(0)),从而 Q ( 1 ) ( X , Y ) Q^{(1)}(X,Y) Q(1)(X,Y)对每个变量的degree均为 ≈ deg ( P ( 0 ) ) \approx \sqrt{\deg(P^{(0)})} ≈deg(P(0))。而本文FRI使用的多项式 q ( 0 ) q^{(0)} q(0)具有constant degree,因此the degrees of Q ( 1 ) Q^{(1)} Q(1) are very biased(constant degree in X X X vs. deg ( P ( 0 ) ) / 2 \deg(P^{(0)})/2 deg(P(0))/2 in Y Y Y)。从而可实现larger recursion depth for FRI but also avoids the necessity to apply recursive low-degree testing to each of the axes (the X X X-axis)because of its constant degree。
5.1.1 实际原型与正式定义之间的差异
-
1)field F \mathbb{F} F为finite且binary,即为of characteristic 2,此外,the construction and analysis can be immediately applied to RS codes evaluated over smooth multiplicative groups(of order 2 n 2^n 2n),正式解释见Remark 1.4和Remark 3.1。
-
2)在binary fields内,the natural evaluation domains (类似上面的 L ( 0 ) , L ( 1 ) L^{(0)}, L^{(1)} L(0),L(1))为cosets of additive groups (而不是multiplicative group),即, L ( i ) L^{(i)} L(i)为an affine shift of a linear space over F 2 \mathbb{F}_2 F2。
map q ( 0 ) ( X ) = X 2 q^{(0)}(X)=X^2 q(0)(X)=X2不是2-to-1 on L ( 0 ) L^{(0)} L(0)(在binary fields,其为1-to-1 map,a Frobenius automorphism of F \mathbb{F} F over F 2 \mathbb{F}_2 F2),因此,实际使用一个不同的多项式 q ( 0 ) ( X ) q^{(0)}(X) q(0)(X),该多项式为many-to-one on L ( 0 ) L^{(0)} L(0) 且 set L ( 1 ) = { y = q ( 0 ) ( x ) ∣ x ∈ L ( 0 ) } L^{(1)}=\{y=q^{(0)}(x)| x\in L^{(0)}\} L(1)={y=q(0)(x)∣x∈L(0)} 为a coset of an additive group,与 L ( 0 ) L^{(0)} L(0)类似,但具有更小的size( ∣ L ( 1 ) ∣ ≪ ∣ L ( 0 ) ∣ |L^{(1)}|\ll |L^{(0)}| ∣L(1)∣≪∣L(0)∣);多项式 q ( 0 ) q^{(0)} q(0) 被称为affine subspace多项式,属于the class of linearized polynomials。
实际使用的 q ( 0 ) q^{(0)} q(0)的degree为4而不是2,因为这可reduce the number of rounds from n n n to n / 2 n/2 n/2 with no increase in total query complexity。注意,类似的reduction可在multiplicative setting下使用 q ( 0 ) = X 4 q^{(0)}=X^4 q(0)=X4。 -
3)实际实现的协议,仅在Prover发送完所有的 f ( 1 ) , ⋯ , f ( r ) f^{(1)},\cdots,f^{(r)} f(1),⋯,f(r)之后,才执行query操作。
因此,实际的协议分为2个阶段:- 3.1)第一个阶段名为COMMIT:包含了 r r r轮。在第 i i i轮的开始阶段,Prover已发送oracles f ( 0 ) , ⋯ , f ( i − 1 ) f^{(0)},\cdots,f^{(i-1)} f(0),⋯,f(i−1),且在第 i i i轮期间,Verifier发送random sample x ( i ) x^{(i)} x(i),Prover回复下一个oracle f ( i ) f^{(i)} f(i)。
- 3.2)第二个阶段名为QUERY:Verifier对所有 r r r轮运用round consistency test。为节约query complexity和boost soundness,the query made to L ( i ) L^{(i)} L(i) is used to test both consistency of f ( i − 1 ) f^{(i-1)} f(i−1) vs. f ( i ) f^{(i)} f(i) and consistency of f ( i ) f^{(i)} f(i) vs. f ( i + 1 ) f^{(i+1)} f(i+1)。
5.2 soundness分析
Proof composition技术:
- 由Arora等人在[3]的PCP上下文中引入
- 在[21,30]中用于PCPP
- 在[23]Eli Ben-Sasson等人 2008年论文《Short PCPs with polylog query complexity》中针对RS code特例情况进行优化。
Proof composition技术 可将proximity testing problems over a large domain REDUCE为 类似的proximity testing problems over significantly smaller domains。
上面将 f ( 0 ) f^{(0)} f(0) reduce为 f ( 1 ) f^{(1)} f(1)的流程是proof composition的特例情况,且,每次调用都将引起 two costs on behalf of the verifier:
- 1)第一个cost为:check consistency of f ( 0 ) f^{(0)} f(0) and f ( 1 ) f^{(1)} f(1)(即”round consistency test“) 所需的query complexity。
- 2)第二个cost为:the reduction in distance——会影响该协议的soundness。
假设 f ( 0 ) f^{(0)} f(0) 为 δ ( 0 ) \delta^{(0)} δ(0)-far from all codewords in relative Hamming distance,for proof composition to work one should prove that with high probability f ( 1 ) f^{(1)} f(1) is δ ( 1 ) \delta^{(1)} δ(1)-far from all codewords where δ ( 1 ) \delta^{(1)} δ(1) depends on δ ( 0 ) \delta^{(0)} δ(0);更大的 δ ( 1 ) \delta^{(1)} δ(1)值意味着更好的soundness以及更小的communication complexity。
FRI协议的好处之一是,其具有high probability
δ
(
1
)
≥
(
1
−
o
(
1
)
)
δ
(
0
)
\delta^{(1)}\geq (1-o(1))\delta^{(0)}
δ(1)≥(1−o(1))δ(0),即在本协议中the reduction in distance是可忽略的。而之前的构建[23,53]会引入a constant multiplicative loss in distance per round of proof composition(
δ
(
1
)
≤
δ
(
0
)
/
2
\delta^{(1)}\leq \delta^{(0)}/2
δ(1)≤δ(0)/2),这种loss会限制proof composition轮数为
≤
log
N
\leq \log N
≤logN,从而需要替代
q
(
0
)
(
X
)
=
X
2
q^{(0)}(X)=X^2
q(0)(X)=X2为degree更高的多项式,类似为
q
(
0
)
(
X
)
=
X
2
n
/
2
q^{(0)}(X)=X^{2^{n/2}}
q(0)(X)=X2n/2。
q
(
0
)
q^{(0)}
q(0)的degree越高,将导致
Q
(
1
)
(
X
,
Y
)
Q^{(1)}(X,Y)
Q(1)(X,Y)具有balanced X和Y degrees,即:
deg
X
(
Q
(
1
)
)
≈
deg
Y
(
Q
(
1
)
)
≈
2
n
/
2
\deg_X(Q^{(1)})\approx \deg_Y(Q^{(1)})\approx 2^{n/2}
degX(Q(1))≈degY(Q(1))≈2n/2
而FRI中的
q
(
0
)
(
X
)
q^{(0)}(X)
q(0)(X)具有constant degree,从而为a biased RS-IOPP(因
deg
X
(
Q
(
1
)
)
≪
deg
Y
(
Q
(
1
)
)
\deg_X(Q^{(1)})\ll \deg_Y(Q^{(1)})
degX(Q(1))≪degY(Q(1)))。该bias的主要好处在于:
X
X
X端的recursive流程可快速结束,最终可移除之前成果中的constant multiplicative soundness loss,将其替代为 a negligible additive loss。更确切来说,
δ
(
0
)
\delta^{(0)}
δ(0) 小于 code的唯一解码半径——即
δ
(
0
)
<
(
1
−
ρ
)
/
2
\delta^{(0)}<(1-\rho)/2
δ(0)<(1−ρ)/2,的 概率高达
1
−
O
(
1
)
∣
F
∣
1-\frac{O(1)}{|\mathbb{F}|}
1−∣F∣O(1)。(i)the round consistency error 与 (ii)the “new” distance
δ
(
1
)
\delta^{(1)}
δ(1) 之和 要大于等于 the “old” distance
δ
(
0
)
\delta^{(0)}
δ(0)。
当Prover是诚实的时,该statement相对易于证明,即,
f
(
1
)
(
y
)
=
Q
(
1
)
(
x
(
0
)
,
y
)
f^{(1)}(y)=Q^{(1)}(x^{(0)},y)
f(1)(y)=Q(1)(x(0),y) for all
y
∈
L
(
1
)
y\in L^{(1)}
y∈L(1),此时没有round consistency error。该proof的challenging部分表明对于non-honest provers和 任意
f
(
1
)
f^{(1)}
f(1)也是成立的。详细见Full version版 Fast Reed-Solomon interactive oracle proofs of proximity (2nd revision)。
6. FRI——详细描述及主要属性
FRI实际实现分为2个阶段:
- 1)COMMIT阶段
- 2)QUERY阶段
6.1 定义及标记
-
插值:对于函数 f : S → F , S ⊂ F f:S\rightarrow \mathbb{F}, S\subset \mathbb{F} f:S→F,S⊂F,令 interpolant f \text{interpolant}^f interpolantf表示对 f f f的插值,定义唯一多项式 P ( X ) = ∑ i = 0 ∣ S ∣ − 1 a i X i P(X)=\sum_{i=0}^{|S|-1}a_iX^i P(X)=∑i=0∣S∣−1aiXi, P ( X ) P(X) P(X)的degree小于 ∣ S ∣ |S| ∣S∣,其evaluation on S S S等于 f ∣ S f|_S f∣S,即 ∀ x ∈ S , f ( x ) = P ( x ) \forall x\in S, f(x)=P(x) ∀x∈S,f(x)=P(x)。可将插值多项式 P ( X ) P(X) P(X)以系数序列 a 0 , ⋯ , a ∣ S ∣ − 1 a_0,\cdots,a_{|S|-1} a0,⋯,a∣S∣−1来表示。
-
subspace多项式:对于set L 0 ⊂ F L_0\subset \mathbb{F} L0⊂F,令 Zero L 0 ≜ ∏ x ∈ L 0 ( X − x ) \text{Zero}_{L_0}\triangleq\prod_{x\in L_0}(X-x) ZeroL0≜∏x∈L0(X−x)为唯一的非零、首项系数唯一、degree为 ∣ L 0 ∣ |L_0| ∣L0∣、vanish on L 0 L_0 L0 的多项式。当 L 0 L_0 L0为binary field内的某additive coset时,多项式 Zero L 0 ( X ) \text{Zero}_{L_0}(X) ZeroL0(X)为affine subspace多项式,为linearized多项式的一种特殊类型。这种多项式有如下属性可用于proofs等场景:
- 1)map x ↦ Zero L 0 ( x ) x\mapsto \text{Zero}_{L_0}(x) x↦ZeroL0(x)可将每个additive coset S S S of L 0 L_0 L0 映射为 a single field element,标记为 y S y_S yS。
- 2)若 L ⊃ L 0 L\supset L_0 L⊃L0为additive cosets,则 Zero L 0 ( L ) ≜ { Zero L 0 ( z ) ∣ z ∈ L } \text{Zero}_{L_0}(L)\triangleq \{\text{Zero}_{L_0}(z)|z\in L\} ZeroL0(L)≜{ZeroL0(z)∣z∈L}为additive coset,且 dim ( Zero L 0 ( L ) ) = dim ( L ) − dim ( L 0 ) \dim(\text{Zero}_{L_0}(L))=\dim (L)-\dim (L_0) dim(ZeroL0(L))=dim(L)−dim(L0)。
-
subspace specification:通常以字母 L L L来表示binary field F \mathbb{F} F的某additive coset,并假设该additive coset由一个additive shift α ∈ F \alpha\in\mathbb{F} α∈F和basis β 1 , ⋯ , β k ∈ F k \beta_1,\cdots,\beta_k\in\mathbb{F}^k β1,⋯,βk∈Fk定义,使得 L = { α + ∑ i = 1 k b i β i ∣ b 1 , ⋯ , b k ∈ F 2 } L=\{\alpha+\sum_{i=1}^{k}b_i\beta_i|b_1,\cdots,b_k\in\mathbb{F}_2\} L={α+∑i=1kbiβi∣b1,⋯,bk∈F2}。假设相应的 α \alpha α和 β ⃗ ( β 1 , ⋯ , β k ) \vec{\beta}(\beta_1,\cdots,\beta_k) β(β1,⋯,βk)已由Prover和Verifier达成共识。
6.2 COMMIT阶段
FRI协议由整数
η
\eta
η参数化,为证明如上定理,设置
η
=
2
\eta=2
η=2,其它场景可能设置为其它值更合适。轮数为
r
≜
⌊
k
(
0
)
−
R
η
⌋
r\triangleq \left \lfloor \frac{k^{(0)}-\mathcal{R}}{\eta} \right \rfloor
r≜⌊ηk(0)−R⌋(注意,
R
=
log
(
1
/
ρ
)
\mathcal{R}=\log(1/\rho)
R=log(1/ρ),其中
ρ
\rho
ρ为rate)。
在第
i
i
i轮的COMMIT阶段,对于
i
∈
{
0
,
⋯
,
r
−
1
}
i\in\{0,\cdots,r-1\}
i∈{0,⋯,r−1},Verifier可oracle access to函数
f
(
i
)
:
L
(
i
)
→
F
f^{(i)}:L^{(i)}\rightarrow \mathbb{F}
f(i):L(i)→F,其中
dim
(
L
(
i
)
)
=
k
(
i
)
=
k
(
0
)
−
η
⋅
i
\dim(L^{(i)})=k^{(i)}=k^{(0)}-\eta\cdot i
dim(L(i))=k(i)=k(0)−η⋅i,该函数由Prover提交,且space
L
(
i
)
L^{(i)}
L(i)为提前固定的,不依赖于Verifier messages。
-
1)A single COMMIT round:对于每个 i ∈ { 0 , ⋯ , r − 1 } i\in\{0,\cdots,r-1\} i∈{0,⋯,r−1},Verifier和Prover对某固定“small” L 0 ( i ) ⊂ L ( i ) , dim ( L 0 ( i ) ) = η L_0^{(i)}\subset L^{(i)}, \dim(L_0^{(i)})=\eta L0(i)⊂L(i),dim(L0(i))=η 达成共识。以 S ( i ) S^{(i)} S(i)来表示all cosets of L 0 ( i ) L_0^{(i)} L0(i) in L ( i ) L^{(i)} L(i)。令 q ( i ) ( X ) ≜ Zero L 0 ( i ) ( X ) q^{(i)}(X)\triangleq\text{Zero}_{L_0^{(i)}}(X) q(i)(X)≜ZeroL0(i)(X)为the subspace polynomial vanishing on L 0 ( i ) L_0^{(i)} L0(i)。令 L ( i + 1 ) ≜ q ( i ) ( L ( i ) ) L^{(i+1)}\triangleq q^{(i)}(L^{(i)}) L(i+1)≜q(i)(L(i))。Verifier的第 i i i个消息为uniformly随机值 x ( i ) ∈ F x^{(i)}\in\mathbb{F} x(i)∈F。Prover的下一消息(或oracle)为 f ( i + 1 ) : L ( i + 1 ) → F f^{(i+1)}: L^{(i+1)}\rightarrow \mathbb{F} f(i+1):L(i+1)→F computed for each y S ∈ L ( i + 1 ) , y S = q ( i ) ( S ) , S ∈ S ( i ) y_S\in L^{(i+1)}, y_S=q^{(i)}(S), S\in S^{(i)} yS∈L(i+1),yS=q(i)(S),S∈S(i),对函数 f ( i ) ∣ S f^{(i)}|_S f(i)∣S进行插值来获得多项式 P S ( i ) ( X ) , deg ( P S ( i ) ) < 2 η P_S^{(i)}(X),\deg(P_S^{(i)})<2^{\eta} PS(i)(X),deg(PS(i))<2η,然后设置 f ( i + 1 ) ( y S ) ≜ P S ( i ) ( x ( i ) ) f^{(i+1)}(y_S)\triangleq P_S^{(i)}(x^{(i)}) f(i+1)(yS)≜PS(i)(x(i))。
-
2)COMMIT结束:在最后一轮 i = r i=r i=r,Prover发送的不是 f ( r ) f^{(r)} f(r)本身,而是 f ( r ) f^{(r)} f(r)的插值多项式 P ( r ) ( X ) = interpolant f ( r ) P^{(r)}(X)=\text{interpolant}^{f^{(r)}} P(r)(X)=interpolantf(r)。此时, deg ( P ( r ) ( X ) ) < ρ ⋅ ∣ L ( r ) ∣ ≤ 2 η \deg(P^{(r)}(X))<\rho \cdot |L^{(r)}|\leq 2^{\eta} deg(P(r)(X))<ρ⋅∣L(r)∣≤2η(注意 η \eta η为constant)。
完整的COMMIT阶段为:
将FRI调整为the family of smooth RS codes,需在以上算法的基础上做如下调整:
6.3 QUERY阶段
在QUERY阶段中,Prover不参加,Verifier仅需检查Prover是否按如上算法操作。
Verifier的单个测试中包含了:
- 取随机值 s ( 0 ) ∈ L ( 0 ) s^{(0)}\in L^{(0)} s(0)∈L(0)
- 递归计算 s ( i + 1 ) = q ( i ) ( s ( i ) ) s^{(i+1)}=q^{(i)}(s^{(i)}) s(i+1)=q(i)(s(i)),注意 s ( i ) ∈ L ( i ) s^{(i)}\in L^{(i)} s(i)∈L(i),以 S ( i ) S^{(i)} S(i)来表示the unique coset of L 0 ( i ) L_0^{(i)} L0(i) in which s ( i ) s^{(i)} s(i) is contained,有 s ( i + 1 ) = y S ( i ) s^{(i+1)}=y_{S^{(i)}} s(i+1)=yS(i)。
- 当且仅当对所有的 i < r i<r i<r, f ( i + 1 ) ( s ( i + 1 ) ) = interpolant f ( i ) ∣ S ( i ) ( x ( i ) ) f^{(i+1)}(s^{(i+1)})=\text{interpolant}^{f^{(i)}|_{S^{(i)}}}(x^{(i)}) f(i+1)(s(i+1))=interpolantf(i)∣S(i)(x(i))成立时,Verifier才accept,否则reject。当 i < r i<r i<r时, f ( i ) ( x ) f^{(i)}(x) f(i)(x)值由Verifier直接query,而在最后一轮( i = r i=r i=r)时,Verifier会从最后的prover消息中query 多项式 P ( r ) ( X ) P^{(r)}(X) P(r)(X)的所有系数,并对该多项式插值重构出 f ( r ) f^{(r)} f(r)。
QUERY阶段详细流程为:
6.4 FRI协议的主要属性
已知函数
f
:
S
→
∑
f:S\rightarrow \sum
f:S→∑且
S
′
⊂
S
S'\subset S
S′⊂S,将
f
∣
S
′
f|_{S'}
f∣S′表示为the restriction of
f
f
f to domain
S
′
S'
S′。
已知
g
:
S
→
∑
g: S\rightarrow \sum
g:S→∑,令
f
∣
S
′
=
g
∣
S
′
f|_{S'}=g|_{S'}
f∣S′=g∣S′表示equality in the space
∑
S
′
\sum^{S'}
∑S′,即当且仅当对于每个
x
∈
S
′
x\in S'
x∈S′有
f
(
x
)
=
g
(
x
)
f(x)=g(x)
f(x)=g(x)时,该equality才成立。
Block-wise distance measure定义:
FRI的主要属性有: