1. 引言
前序博客有:
- A summary on the FRI low degree test前2页导读
- RISC Zero的手撕STARK
- Reed-Solomon Codes——RS纠错码
- Reed-Solomon Codes及其与RISC Zero zkVM的关系
StarkWare团队Eli Ben-Sasson等人2019年论文DEEP-FRI: Sampling Outside the Box Improves Soundness。
Reed-Solomon code为基于某有限域的linear code,其定义为:
V : = R S [ F , D , d ] = { f : D → F : deg ( f ) < d } V:=RS[\mathbb{F}, D,d]=\{f:D\rightarrow \mathbb{F}:\deg(f)V:=RS[F,D,d]={f:D→F:deg(f)<d}
其中:
- F \mathbb{F} F:为某有限域。
- D ⊆ F D\subseteq \mathbb{F} D⊆F:为对 f f f做evaluate的的Expanded Domain,以获得相应的Reed-Solomon code。
- d < ∣ D ∣ d<|D| d<∣D∣:为 f f f多项式的degree bound。
- ρ = d / ∣ D ∣ \rho=d/|D| ρ=d/∣D∣:为Reed-Solomon code的rate。
DEEP FRI协议,对应的难题为:
- 对于 V = R S [ F , D , d ] V=RS[\mathbb{F}, D,d] V=RS[F,D,d],
- 若有与 V V V为 δ ∗ \delta^* δ∗-far 的 g : D → F g:D\rightarrow \mathbb{F} g:D→F 和 任意的 h : D → F h:D\rightarrow \mathbb{F} h:D→F,
- 如何计算 δ a v g : = E α [ Δ ( g + α h , V ) ] \delta_{avg}:=E_{\alpha}[\Delta(g+\alpha h, V)] δavg:=Eα[Δ(g+αh,V)],以 将 δ a v g \delta_{avg} δavg用作FRI 的soundness bound?【 α ∈ F \alpha\in\mathbb{F} α∈F为随机采样点。】
其中:
- Δ \Delta Δ用于表示relative Hamming distance。
- E α E_{\alpha} Eα表示 g + α h g+\alpha h g+αh的expected distance。
2. FRI动机
已知对 f : D → F f:D\rightarrow \mathbb{F} f:D→F的oracle access,FRI协议(以最小复杂度来)用于区分以下二者:
- f f f在该Reed-Solomon code内。
- f f f距离该Reed-Solomon code 至少 δ \delta δ-far。
FRI协议,采用了 Prover( P \mathbf{P} P)- Verifier( V \mathbf{V} V)配置,其中 P \mathbf{P} P试图让 V \mathbf{V} V信服, f f f is close to 该Reed-Solomon code。
FRI协议中还采用了一种特殊的模型:
- IOPP(IOP of Proximity):为multi-round PCPP:【尽管其不切实际,但从数学角度来看很容易理解。】
- 在每轮, P \mathbf{P} P提供对某函数的oracle access,然后 V \mathbf{V} V发送随机值。
- 最后, V \mathbf{V} V可能会query这些oracles。
本文重点关注FRI协议中的low degree testing。
对于 V = R S [ F , D , ρ ] V=RS[\mathbb{F},D,\rho] V=RS[F,D,ρ],其中 D D D为某FFT-friendly domain(size为 n = 2 k n=2^k n=2k的subgroup),相应的FRI协议满足如下属性:
- Prover time ≤ 6 n \leq 6n ≤6n,proof length ≤ n \leq n ≤n。
- Verifier time ≤ 21 log n \leq 21\log n ≤21logn,query complexity ≤ log n \leq \log n ≤logn。
- Round complexity = log n =\log n =logn。
- Soundness:对于足够小的 δ < δ 0 \delta<\delta_0 δ<δ0,对 δ \delta δ-far words拒绝的概率 = δ − o ( 1 ) =\delta-o(1) =δ−o(1)。【最难的部分。需考虑最坏情况下的soundness。】
问题来了,何为 δ 0 \delta_0 δ0? δ 0 \delta_0 δ0值越大越好。不同论文的 δ 0 \delta_0 δ0的取值各不相同:
- [BBHR17]: δ 0 ≥ 1 − 3 ρ 4 \delta_0\geq \frac{1-3\rho}{4} δ0≥41−3ρ
- [BKS18]: δ 0 ≥ 1 − ρ 4 \delta_0\geq 1-\sqrt[4]{\rho} δ0≥1−4ρ
- [BGKS20]: δ 0 ≥ 1 − ρ 3 \delta_0\geq 1-\sqrt[3]{\rho} δ0≥1−3ρ ,tight for FRI。
- 本论文DEEP-FRI: Sampling Outside the Box Improves Soundness: δ 0 = 1 − ρ 2 \delta_0=1-\sqrt[2]{\rho} δ0=1−2ρ 。若基于list decoding猜想,甚至有 δ 0 = 1 − ρ \delta_0=1-\rho δ0=1−ρ,从而可匹配 δ 0 \delta_0 δ0的upper bound。
2.1 FRI目标
FRI协议通过使用a factor of 2 2 2来reduce the problem——即已知某多项式 f f f在size为 n n n的evaluation domain上的evaluation值,判断 f f f是否为low-degree多项式。具体的reduce流程为:
- 1)Step 1:与FFT类似,Prover P \mathbf{P} P将 f f f切分为2个具有一半degree的多项式:
f ( x ) = g ( x 2 ) + x ⋅ h ( x 2 ) f(x)=g(x^2)+x\cdot h(x^2) f(x)=g(x2)+x⋅h(x2)
- 具有locality属性:可根据 f ( x ) f(x) f(x)和 f ( − x ) f(-x) f(−x)来计算 g ( x 2 ) g(x^2) g(x2)和 h ( x 2 ) h(x^2) h(x2)。
- 取 D D D为 size为 F F F的multiplicative group,从而是FFT-friendly domain。
- g , h g,h g,h定义在具有相同rate,但更小的domain D ′ = { x 2 : x ∈ D } D'=\{x^2: x\in D\} D′={x2:x∈D}。
- 2)Step 2:使用Verifier V \mathbf{V} V提供的随机值将 g , h g,h g,h线性组合合并为: g ( x ) + α ⋅ h ( x ) g(x)+\alpha\cdot h(x) g(x)+α⋅h(x)。
回到之前提及的难题:
- 对于 V = R S [ F , D , d ] V=RS[\mathbb{F}, D,d] V=RS[F,D,d],
- 若有与 V V V为 δ ∗ \delta^* δ∗-far 的 g : D → F g:D\rightarrow \mathbb{F} g:D→F 和 任意的 h : D → F h:D\rightarrow \mathbb{F} h:D→F,
- 如何计算 δ a v g : = E α [ Δ ( g + α h , V ) ] \delta_{avg}:=E_{\alpha}[\Delta(g+\alpha h, V)] δavg:=Eα[Δ(g+αh,V)],以 将 δ a v g \delta_{avg} δavg用作FRI 的soundness bound?【 α ∈ F \alpha\in\mathbb{F} α∈F为随机采样点。】
可认为:
- 若 g , h g,h g,h中有一个是far的,则二者的线性组合也将是far的。
对average case distance限定边界:
- x轴为 δ ∗ \delta^* δ∗:为worst case distance。
- y轴为 δ a v g \delta_{avg} δavg:为average case distance。 δ a v g \delta_{avg} δavg为关于 δ ∗ \delta^* δ∗的函数,应让其尽可能高。
其中, δ m a x \delta_{max} δmax为关于rate ρ \rho ρ的函数:
为何需关注 1 − ρ 3 1-\sqrt[3]{\rho} 1−3ρ 与 1 − ρ 1-\rho 1−ρ之间的实际区别呢?
当前有多个实际证明系统使用FRI:
- STARK
- Aurora
- Succinct Aurora等等
由 1 − ρ 3 1-\sqrt[3]{\rho} 1−3ρ (FRI) reduce为 1 − ρ 1-\rho 1−ρ(conj. DEEP-FRI),可将LDT(low degree test)argument length 降低约3倍。
相关定义有:
- 若某code的 每个半径为 δ \delta δ的球形内,包含最多 L L L个codewords,则称该code为 ( δ , L ) (\delta,L) (δ,L)-list-decodable。
- Unique decoding: R S [ F , D , d ] RS[\mathbb{F}, D, d] RS[F,D,d]为 ( ( 1 − ρ ) / 2 , 1 ) ((1-\rho)/2,1) ((1−ρ)/2,1)-list-decodable。
- Johnson bound: R S [ F , D , d ] RS[\mathbb{F}, D, d] RS[F,D,d]为 ( ( 1 − ρ − ε ) / 2 , 1 / ( 2 ε ρ ) ) ((1-\sqrt{\rho}-\varepsilon)/2,1/(2\varepsilon\sqrt{\rho})) ((1−ρ −ε)/2,1/(2ερ ))-list-decodable。
- Conjecture - list decodability of RS Codes up to Capacity: R S [ F , D , d ] RS[\mathbb{F}, D, d] RS[F,D,d]为 ( 1 − ρ − ε , ( ∣ D ∣ / ε ) C ρ ) (1-\rho-\varepsilon, (|D|/\varepsilon)^{C_{\rho}}) (1−ρ−ε,(∣D∣/ε)Cρ)-list-decodable。
3. DEEP:Domain Extending for Eliminating Pretenders
- 将 f α = g + α h : D → F f_{\alpha}=g+\alpha h:D\rightarrow \mathbb{F} fα=g+αh:D→F用作某多项式的commitment。
- 若该code为 ( δ , L ) (\delta,L) (δ,L)-list-decodable,则其可能有 L L L个候选者。
- 将这些候选者,称为pretenders。
DEEP的核心思想为:
- 在 D D D domain之外采样,可改进soundness。为此:
- 要求Prover P \mathbf{P} P为任意的随机点 z ∈ F z\in \mathbb{F} z∈F提供 f α ( z ) f_{\alpha}(z) fα(z)。
针对FRI中:
- Verifier V \mathbf{V} V仅可在 D D D domain内query,但大概率 z ∉ D z\notin D z∈/D
的问题,DEEP的解决方案为:
- 构建 f ~ α ( x ) : = f α ( x ) − v x − z \tilde{f}_{\alpha}(x):=\frac{f_{\alpha}(x)-v}{x-z} f~α(x):=x−zfα(x)−v
- 若 f ~ α ( x ) \tilde{f}_{\alpha}(x) f~α(x)为low degree,当且仅当:
- f α f_{\alpha} fα为low degree,且, f α ( z ) = v f_{\alpha}(z)=v fα(z)=v。
- 该转换是 1 1 1-local的:Verifier V \mathbf{V} V 仅通过对 f α ( x ) f_{\alpha}(x) fα(x)做单次query,就可计算出 f ~ α ( x ) \tilde{f}_{\alpha}(x) f~α(x)。后续Verifier V \mathbf{V} V可根据 f ~ α ( x ) \tilde{f}_{\alpha}(x) f~α(x)的query值,自行计算出 f α ( x ) f_{\alpha}(x) fα(x),因:
- f α ( x ) − v x − z = f ~ α ( x ) ⇒ f α ( x ) = v + ( x − z ) f ~ α ( x ) \frac{f_{\alpha}(x)-v}{x-z}=\tilde{f}_{\alpha}(x) \Rightarrow f_{\alpha}(x)=v+(x-z)\tilde{f}_{\alpha}(x) x−zfα(x)−v=f~α(x)⇒fα(x)=v+(x−z)f~α(x)
DEEP FRI协议 相关结论为:
- 通过对 f ( x ) f(x) f(x)请求在某随机点的evaluation值,可降低候选者数量。
- 即使Prover P \mathbf{P} P未对 f ( x ) f(x) f(x)进行commit,仅使用 f ( x ) − v x − z \frac{f(x)-v}{x-z} x−zf(x)−v就可检查 f ( x ) f(x) f(x)的值是否正确。
- 在IOPP模型下,支持Prover P \mathbf{P} P响应 Verifier V \mathbf{V} V 的多次query。
- 该DEEP技术可能可用于改进其它协议,如DEEP-ALI。
不过,见A summary on the FRI low degree test前2页导读,Eli Ben-Sasson等人2020年论文Proximity Gaps for Reed–Solomon Codes中展示了:
- FRI实际优于DEEP-FRI。
- 但DEEP-ALI性能 优于 ALI。
当前的State-of-the-art STARK协议为:
参考资料
[1] 2020年11月Eli Ben-Sasson分享视频 Deep FRI protocols | Cybersecurity Seminars
[2] StarkWare团队Eli Ben-Sasson等人2019年论文DEEP-FRI: Sampling Outside the Box Improves Soundness