Fast Reed-Solomon Interactive Oracle Proofs of Proximity学习笔记
Posted mutourend
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Fast Reed-Solomon Interactive Oracle Proofs of Proximity学习笔记相关的知识,希望对你有一定的参考价值。
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 \\textmin\\\\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 \\mathbbF F内的 N N N个elements的evaluation set S S S,
- rate参数 ρ ∈ ( 0 , 1 ] \\rho\\in(0,1] ρ∈(0,1],
- code RS [ F , S , ρ ] \\textRS[\\mathbbF, S, \\rho] RS[F,S,ρ] 为 the space of functions f : S → F f:S\\rightarrow \\mathbbF 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
,
ρ
]
\\textRS[\\mathbbF, 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 \\textRS[\\mathbbF, 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 \\textRS[\\mathbbF, 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 \\tildeO\\triangleq N\\cdot \\log^O(1)N O~≜N⋅logO(1)N、constant query complexity、prover complexity O ~ ( N ) \\tildeO(N) O~(N) 以及 verifier complexity poly log N \\textpoly\\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 \\textRS[\\mathbbF, 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\\textpoly\\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
以上是关于Fast Reed-Solomon Interactive Oracle Proofs of Proximity学习笔记的主要内容,如果未能解决你的问题,请参考以下文章
[转载] fail-fast总结(通过ArrayList来说明fail-fast的原理解决办法)