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⋅θk−1+⋯+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)
H∈D(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,ρ=2−R(k,RN)。这意味着committing polynomials的degree bound为
d
=
2
k
−
R
d=2^k-R
d=2k−R。
令
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)=1−1−X(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(δ)=ϵ3∣F∣2log∣D∣+(1−minδ0,Jϵ(1−ρ)+ϵlog∣D∣)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
d≥Nrows。在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 ρ=2−R:为可调整的参数。
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,ν)8⋅F/D4n
令 log ∣ F ∣ = 255 , ν = ∣ F ∣ − 1 / 20 , D = 2 28 \\log |\\mathbbF|=255,\\nu=|\\mathbbF|^-1/20,D=2^28 log∣F∣=255,ν=∣F∣−1/20,nil Foundation blueprint模块代码解析
nil Foundation的Mina->以太坊 bridge原型已完成
nil Foundation的Mina-Ethereum State Proof Verification Applications