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 <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 \\textmin\\\\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 \\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:SF,这些函数为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] 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 \\textRS[\\mathbbF, 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 \\tildeO\\triangleq N\\cdot \\log^O(1)N O~NlogO(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] 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\\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学习笔记的主要内容,如果未能解决你的问题,请参考以下文章

Reed-Solomon纠错码的译码

Reed-Solomon Codes——RS纠错码

时间控件处理

[转载] fail-fast总结(通过ArrayList来说明fail-fast的原理解决办法)

He runs very fast,的very是副词吗,fast是副词还是形容词?

Linux中设置Git显示颜色