nil Foundation的Placeholder证明系统

Posted mutourend

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nil Foundation的Placeholder证明系统相关的知识,希望对你有一定的参考价值。

前序博客:

=nil; Foundation团队2022年11月论文《Placeholder证明系统》。[2022年11月29日版本]

8. 优化

8.1 Batched FRI

不同于单独检查每个commitment,可对其进行FRI聚合。如对多项式 f 0 , ⋯   , f k f_0,\\cdots,f_k f0,,fk

  • 1)从transcript中获取 θ \\theta θ
  • 2)计算 f = f 0 ⋅ θ k − 1 + ⋯ + f k f=f_0\\cdot \\theta^k-1+\\cdots+f_k f=f0θk1++fk
  • 3)基于 f f f运行FRI,using oracles to f 0 , ⋯   , f k f_0,\\cdots,f_k f0,,fk

从而可对所有committed polynomials只允许依次FRI实例。详细参看RedShift论文

8.2 Hash By Column

不同于对每个多项式都进行commit,可对多个多项式采用相同的Merkle tree,这样可降低Prover所需提供的Merkle tree paths数量。
详细参看RedShift论文

8.3 Hash By Subset

每个 i + 1 i+1 i+1 FRI round假定Prover发送all elements from a coset H ∈ D ( i ) H\\in D^(i) HD(i)。每个Merkle leaf可包含the whole coset instead of separate values。
详细参看RedShift论文。不过RedShift作者在每个leaf中使用了更多的values,从而具有更好的性能。

8.4 FRI PoW

待续。。。。

9. Placeholder参数

本节重点讨论Placeholder参数 及其对协议安全和性能的影响。

9.1 FRI参数

R S [ F , D , ρ ] \\mathbfRS[\\mathbbF,D,\\rho] RS[F,D,ρ]为Reed-Solomon code family。此处有 ∣ D ∣ = n = 2 k , ρ = 2 − R ( k , R N ) |D|=n=2^k,\\rho=2^-R(k,R\\mathbbN) D=n=2k,ρ=2R(k,RN)。这意味着committing polynomials的degree bound为 d = 2 k − R d=2^k-R d=2kR
r ∈ [ 1 , log ⁡ d = n ^ ] r\\in [1,\\log d=\\hatn] r[1,logd=n^]为FRI inner rounds数, l l l为repetition参数。
相应的:

  • Prover: O ( n ) \\mathcalO(n) O(n)
  • Verifier: O ( log ⁡ n ) \\mathcalO(\\log n) O(logn)

对于每个 ϵ ∈ ( 0 , 1 ] \\epsilon\\in (0,1] ϵ(0,1],令 J ϵ : [ 0 , 1 ] → [ 0 , 1 ] J_\\epsilon:[0,1]\\rightarrow [0,1] Jϵ:[0,1][0,1]函数为:
J ϵ ( X ) = 1 − 1 − X ( 1 − ϵ ) J_\\epsilon(X)=1-\\sqrt1-X(1-\\epsilon) Jϵ(X)=11X(1ϵ)

假设 Δ ( f , R S ) = δ > 0 \\Delta(f,\\mathbfRS)=\\delta>0 Δ(f,RS)=δ>0,则根据Eli Ben-Sasson 2019年论文 DEEP-FRI: Sampling Outside the Box Improves Soundness,相应的soundness error上限为:
e r r ( δ ) = 2 log ⁡ ∣ D ∣ ϵ 3 ∣ F ∣ + ( 1 − min ⁡ δ 0 , J ϵ ( 1 − ρ ) + ϵ log ⁡ ∣ D ∣ ) l \\mathbferr(\\delta)=\\frac2\\log |D|\\epsilon^3|\\mathbbF|+(1-\\min\\\\delta_0,J_\\epsilon(1-\\rho)\\+\\epsilon \\log |D|)^l err(δ)=ϵ3F2logD+(1minδ0,Jϵ(1ρ)+ϵlogD)l

该soundness bound在Eli Ben-Sasson等人2020年论文 Proximity Gaps for Reed-Solomon Codes 中改进了(something around 1 / 2 x 1/2x 1/2x)。

9.2 Placeholder参数

当前可将circuit parameters用于FRI commitments。
d d d为the smallest power of two,使得 d ≥ N r o w s d\\geq N_rows dNrows。在Placeholder中, d d d定义为the highest degree of polynomials that can be committed by FRI instance。
w w w d d d-th root of unity。有 d = 2 n ^ d=2^\\hatn d=2n^,且 n ^ ≥ N r o w s \\hatn\\geq N_rows n^Nrows

R S [ F , D , ρ ] \\mathbfRS[\\mathbbF,D,\\rho] RS[F,D,ρ]来表示FRI commitments,其中:

  • F \\mathbbF F:与PLONK arithmetization中的field相同。
  • D D D:为domain of n = 2 k = 2 n ^ + R n=2^k=2^\\hatn+R n=2k=2n^+R root of unity。
  • ρ = 2 − R \\rho=2^-R ρ=2R:为可调整的参数。

Soundness error定义为:
ϵ π ( δ ) ≤ max ⁡ ( ϵ F R I ( δ ) , ϵ I O P N , 1 F ) \\epsilon_\\pi(\\delta)\\leq\\max(\\epsilon_FRI(\\delta),\\epsilon_IOP^N, \\frac1\\mathbbF) ϵπ(δ)max(ϵFRI(δ),ϵIOPN,F1)
其中, ϵ I O P N = ( J p , ν ) 8 ⋅ 4 n F / D \\epsilon_IOP^N=(J_p,\\nu )^8\\cdot \\frac4n\\mathbbF/D ϵIOPN=(Jp,ν)8F/D4n

log ⁡ ∣ F ∣ = 255 , ν = ∣ F ∣ − 1 / 20 , D = 2 28 \\log |\\mathbbF|=255,\\nu=|\\mathbbF|^-1/20,D=2^28 logF=255,ν=F1/20,nil Foundation blueprint模块代码解析

nil Foundation的Mina->以太坊 bridge原型已完成

zkLLVM:nil Foundation开发的电路编译器

zkLLVM:nil Foundation开发的电路编译器

nil Foundation的Mina-Ethereum State Proof Verification Applications

nil Foundation的in-EVM Full Mina State Verification