Fast Reed-Solomon Interactive Oracle Proofs of Proximity学习笔记

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 <6N
  • (interactive)FRI Verifier的计算复杂度 ≤ 2 ⋅ log ⁡ N \leq 2\cdot \log N 2logN
  • query复杂度为 2 ⋅ log ⁡ N 2\cdot \log N 2logN
  • 具有constant soundness:即距离某code为 δ \delta δ-far 的words,其被拒绝的概率为 min { δ ⋅ ( 1 − o ( 1 ) ) , δ 0 } \text{min}\{\delta\cdot (1-o(1)), \delta_0\} min{δ(1o(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:SF,这些函数为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] fRS[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] fRS[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~NlogO(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] fRS[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) <PV>(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} CC,可将其看成是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,mN,则可将该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(logF)——即,维护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 HFq,其order( ∣ H ∣ |H| H)为 2 k , k ∈ N 2^k,k\in\mathbb{N} 2k,kN,则该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:

相关技术衍化路线为:

  • 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=ρN1的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/8N=8d

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} dT221

对于需要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,ϵ=280,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} k45分钟,或,对于 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}} ρ=2R,其中 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) xL(0),f(0)(x)=P(0)(x)=P0(1)(x2)+xP1(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)+XP1(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)modYq(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) xq(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} 2n1,标记为 L ( 1 ) L^{(1)} L(1)

此外,对于每个 x ( 0 ) ∈ F x^{(0)}\in\mathbb{F} x(0)F y ∈ L ( 1 ) y\in L^{(1)} yL(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) yq(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,s1L(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)} yL(1),令 s 0 , s 1 s_0,s_1 s0,s1为多项式 y − X 2 y-X^2 yX2的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} 2n1 and same rate ρ \rho ρ
重复以上流程 r = n − R r=n-\mathcal{R} r=nR次,可获得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(r1) 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)xL(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(i1),且在第 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(i1) 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技术:

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)(1o(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}|} 1FO(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)} yL(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:SF,SF,令 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=0S1aiXi P ( X ) P(X) P(X)的degree小于 ∣ S ∣ |S| S,其evaluation on S S S等于 f ∣ S f|_S fS,即 ∀ x ∈ S , f ( x ) = P ( x ) \forall x\in S, f(x)=P(x) xS,f(x)=P(x)。可将插值多项式 P ( X ) P(X) P(X)以系数序列 a 0 , ⋯   , a ∣ S ∣ − 1 a_0,\cdots,a_{|S|-1} a0,,aS1来表示。

  • subspace多项式:对于set L 0 ⊂ F L_0\subset \mathbb{F} L0F,令 Zero L 0 ≜ ∏ x ∈ L 0 ( X − x ) \text{Zero}_{L_0}\triangleq\prod_{x\in L_0}(X-x) ZeroL0xL0(Xx)为唯一的非零、首项系数唯一、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) xZeroL0(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 LL0为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)zL}为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,,βkFk定义,使得 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βib1,,bkF2}。假设相应的 α \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,,r1},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,,r1},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)} ySL(i+1),yS=q(i)(S),SS(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 SS,将 f ∣ S ′ f|_{S'} fS表示为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'} fS=gS表示equality in the space ∑ S ′ \sum^{S'} S,即当且仅当对于每个 x ∈ S ′ x\in S' xS f ( x ) = g ( x ) f(x)=g(x) f(x)=g(x)时,该equality才成立。

Block-wise distance measure定义:
在这里插入图片描述
FRI的主要属性有:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值