Basefold 在 List Decoding 下的 Soundness 证明概览
本篇文章主要梳理 Ulrich Haböck 在论文 [H24] 中给出的关于 Basefold [ZCF23] 给出的 multilinear PCS 在 list decoding 下的安全性证明。在论文 [ZCF23] 中,给出的 soundness 证明是在 unique decoding 下针对 foldable linear code 的,而在 [H24] 中,其证明是针对 Reed-Solomon code 的,且是在 list decoding 下,将界提升到了 Johnson bound,即 1 − ρ 1 - \sqrt{\rho} 1 − ρ 。为了证明安全性,论文中给出了两个比 [BCIKS20] 给出的 correlated agreement 更强的 correlated agreement 定理:
[H24, Theorem 3] Correlated agreement for subcodes. [H24, Theorem 4] Weighted correlated agreement for subcodes. 如果考虑 Basefold 协议应用在 Reed-Solomon code 上,该协议结合了 FRI 和 sumcheck,要证明其安全性,[H24] 提出了能结合 sumcheck 约束的 subcodes,它是在 Reed-Solomon code 的基础上添加了类似 sumcheck 的约束,这样再结合对应的 correlated agreement 定理,就能对协议进行安全性证明了。
Basefold 协议 ¶ 对于一个多元线性多项式 P ( X 1 , X 2 , … , X n ) ∈ F [ X 1 , … , X n ] P(X_1, X_2, \ldots, X_n) \in F[X_1, \ldots, X_n] P ( X 1 , X 2 , … , X n ) ∈ F [ X 1 , … , X n ] ,想要证明对于任何来自 F n F^n F n 的查询 ω ⃗ = ( ω 1 , … , ω n ) \vec{\omega} = (\omega_1, \ldots, \omega_n) ω = ( ω 1 , … , ω n ) ,有 v = P ( ω 1 , … , ω n ) v = P(\omega_1, \ldots, \omega_n) v = P ( ω 1 , … , ω n ) 。为了实现多元线性多项式 P ( X 1 , X 2 , … , X n ) P(X_1, X_2, \ldots, X_n) P ( X 1 , X 2 , … , X n ) 的 PCS,Basefold 协议结合了 Sumcheck 与 FRI 协议。下面结合论文 [H24] 中的描述,进行介绍。
结合 Sumcheck 协议 ¶ 为了证明 v = P ( ω 1 , … , ω n ) v = P(\omega_1, \ldots, \omega_n) v = P ( ω 1 , … , ω n ) ,首先将查询的值 P ( ω 1 , … , ω n ) P(\omega_1, \ldots, \omega_n) P ( ω 1 , … , ω n ) 转换为 Sumcheck 求和形式,即
P ( ω 1 , … , ω n ) = ∑ x ⃗ = ( x 1 , … , x n ) ∈ H n L ( x ⃗ , ω ⃗ ) ⋅ P ( x ⃗ ) P(\omega_1, \ldots, \omega_n) = \sum_{\vec{x} = (x_1, \ldots, x_n) \in H_n} L(\vec{x}, \vec{\omega}) \cdot P(\vec{x}) P ( ω 1 , … , ω n ) = x = ( x 1 , … , x n ) ∈ H n ∑ L ( x , ω ) ⋅ P ( x ) 其中 H n = { 0 , 1 } n H_n = \{0,1\}^n H n = { 0 , 1 } n ,这里 L ( x ⃗ , ω ⃗ ) L(\vec{x}, \vec{\omega}) L ( x , ω ) 其实就是 e q ( ⋅ , ⋅ ) eq(\cdot, \cdot) e q ( ⋅ , ⋅ ) 函数,即
L ( x ⃗ , ω ⃗ ) = ∏ i = 1 n ( ( 1 − x i ) ( 1 − ω i ) + x i ω i ) L(\vec{x}, \vec{\omega}) = \prod_{i = 1}^n \left ((1 - x_i)(1 - \omega_i) + x_i\omega_i \right) L ( x , ω ) = i = 1 ∏ n ( ( 1 − x i ) ( 1 − ω i ) + x i ω i ) 因此要证明的 v = P ( ω 1 , … , ω n ) v = P(\omega_1, \ldots, \omega_n) v = P ( ω 1 , … , ω n ) 就转换为了证明在 H n H_n H n 上的求和,即
∑ x ⃗ = ( x 1 , … , x n ) ∈ H n L ( x ⃗ , ω ⃗ ) ⋅ P ( x ⃗ ) = v \sum_{\vec{x} = (x_1, \ldots, x_n) \in H_n} L(\vec{x}, \vec{\omega}) \cdot P(\vec{x}) = v x = ( x 1 , … , x n ) ∈ H n ∑ L ( x , ω ) ⋅ P ( x ) = v 接下来用 Sumcheck 协议可以证明该求和正确。
对于 i = 1 , … , n − 1 i = 1, \ldots, n - 1 i = 1 , … , n − 1 ,Prover 需要根据挑战的随机数 λ 1 , … , λ i \lambda_1, \ldots,\lambda_i λ 1 , … , λ i ,构造一个一元多项式为
q i ( X ) = ∑ x ⃗ = ( x i + 2 , … , x n ) ∈ H n − ( i + 1 ) L ( λ 1 , … , λ i , X , x ⃗ , ω ⃗ ) ⋅ P ( λ 1 , … , λ i , X , x ⃗ ) q_i(X) = \sum_{\vec{x} = (x_{i + 2}, \ldots, x_n) \in H_{n - (i + 1)}} L(\lambda_1,\ldots, \lambda_i,X,\vec{x}, \vec{\omega}) \cdot P(\lambda_1, \ldots, \lambda_i,X,\vec{x}) q i ( X ) = x = ( x i + 2 , … , x n ) ∈ H n − ( i + 1 ) ∑ L ( λ 1 , … , λ i , X , x , ω ) ⋅ P ( λ 1 , … , λ i , X , x ) 其对应的就是多项式 P ( λ 1 , … , λ i , X , ω i + 2 , … , ω n ) P(\lambda_1, \ldots, \lambda_i, X, \omega_{i+2}, \ldots, \omega_{n}) P ( λ 1 , … , λ i , X , ω i + 2 , … , ω n ) 。
可以看到在 q i ( X ) q_i(X) q i ( X ) 中,L ( λ 1 , … , λ i , X , x ⃗ , ω ⃗ ) L(\lambda_1,\ldots, \lambda_i,X,\vec{x}, \vec{\omega}) L ( λ 1 , … , λ i , X , x , ω ) 关于 X X X 是一次的,而 P ( λ 1 , … , λ i , X , x ⃗ ) P(\lambda_1, \ldots, \lambda_i,X,\vec{x}) P ( λ 1 , … , λ i , X , x ) 关于 X X X 也是一次的,它们相乘之后关于 X X X 就变成二次的了,为了后续和对于 linear subcodes 的 correlated agreement 定理相对应,这里提取出关于 X X X 的一次线性项,Prover 需要发送的是线性多项式
Λ i ( X ) = ∑ x ⃗ = ( x i + 2 , … , x n ) ∈ H n − ( i + 1 ) L ( x ⃗ , ( ω i + 2 , … , ω n ) ) ⋅ P ( λ 1 , … , λ i , X , x ⃗ ) \Lambda_i(X) = \sum_{\vec{x} = (x_{i + 2}, \ldots, x_n) \in H_{n - (i + 1)}} L(\vec{x}, (\omega_{i+2}, \ldots, \omega_n)) \cdot P(\lambda_1, \ldots, \lambda_i,X,\vec{x}) Λ i ( X ) = x = ( x i + 2 , … , x n ) ∈ H n − ( i + 1 ) ∑ L ( x , ( ω i + 2 , … , ω n )) ⋅ P ( λ 1 , … , λ i , X , x ) 由于
L ( ( λ 1 , … , λ i , X , x ⃗ ) , ω ⃗ ) = L ( ( λ 1 , … , λ i , X , x ⃗ ) , ( ω 1 , … , ω i , ω i + 1 , ω i + 2 , … , ω n ) ) = ( ∏ j = 1 i [ ( 1 − λ j ) ( 1 − ω j ) + λ j ω j ] ) ⋅ ( ( 1 − λ i + 1 ) ( 1 − ω i + 1 ) + X ⋅ ω i + 1 ) ⋅ ( ∏ j = i + 2 n [ ( 1 − λ j ) ( 1 − ω j ) + λ j ω j ] ) = L ( λ 1 , … , λ i , ω 1 , … , ω i ) ⋅ L ( X , ω i + 1 ) ⋅ L ( x ⃗ , ( ω i + 2 , … , ω n ) ) \begin{aligned}
L((\lambda_1, \ldots, \lambda_i, X, \vec{x}), \vec{\omega}) & = L((\lambda_1, \ldots, \lambda_i, X, \vec{x}), (\omega_1, \ldots, \omega_{i}, \omega_{i+1}, \omega_{i+2}, \ldots, \omega_n)) \\
& = \left( \prod_{j = 1}^{i}[(1 - \lambda_j)(1 - \omega_j) + \lambda_j \omega_j] \right) \\
& \quad \cdot \left( (1 - \lambda_{i+1})(1 - \omega_{i+1}) + X \cdot \omega_{i+1} \right) \\
& \quad \cdot \left( \prod_{j = i+2}^{n}[(1 - \lambda_j)(1 - \omega_j) + \lambda_j \omega_j] \right) \\
& = L(\lambda_1, \ldots, \lambda_i, \omega_1, \ldots, \omega_i) \cdot L(X, \omega_{i+1}) \cdot L(\vec{x}, (\omega_{i+2}, \ldots, \omega_n))
\end{aligned} L (( λ 1 , … , λ i , X , x ) , ω ) = L (( λ 1 , … , λ i , X , x ) , ( ω 1 , … , ω i , ω i + 1 , ω i + 2 , … , ω n )) = ( j = 1 ∏ i [( 1 − λ j ) ( 1 − ω j ) + λ j ω j ] ) ⋅ ( ( 1 − λ i + 1 ) ( 1 − ω i + 1 ) + X ⋅ ω i + 1 ) ⋅ ( j = i + 2 ∏ n [( 1 − λ j ) ( 1 − ω j ) + λ j ω j ] ) = L ( λ 1 , … , λ i , ω 1 , … , ω i ) ⋅ L ( X , ω i + 1 ) ⋅ L ( x , ( ω i + 2 , … , ω n )) 因此
q i ( X ) = L ( λ 1 , … , λ i , ω 1 , … , ω i ) ⋅ L ( X , ω i + 1 ) ⋅ Λ i ( X ) . q_i(X) = L(\lambda_1, \ldots, \lambda_i, \omega_1, \ldots, \omega_i) \cdot L(X, \omega_{i+1}) \cdot \Lambda_i(X). q i ( X ) = L ( λ 1 , … , λ i , ω 1 , … , ω i ) ⋅ L ( X , ω i + 1 ) ⋅ Λ i ( X ) . Prover 只需要提供 Λ i ( X ) \Lambda_i(X) Λ i ( X ) ,Verifier 可以自己通过上式来计算 q i ( X ) q_i(X) q i ( X ) 。
在 Sumcheck 协议中,Prover 先发送一个单变量多项式 Λ 0 ( X ) = ∑ x ⃗ = ( x 2 , … , x n ) ∈ H n − 1 L ( x ⃗ , ( ω 2 , … , ω n ) ) ⋅ P ( X , x ⃗ ) \Lambda_0(X) = \sum_{\vec{x} = (x_2, \ldots, x_n) \in H_{n - 1}}L(\vec{x}, (\omega_2, \ldots, \omega_n)) \cdot P(X, \vec{x}) Λ 0 ( X ) = ∑ x = ( x 2 , … , x n ) ∈ H n − 1 L ( x , ( ω 2 , … , ω n )) ⋅ P ( X , x ) 以及 s 0 = v s_0 = v s 0 = v ,接着在第 1 ≤ i ≤ n − 1 1 \le i \le n - 1 1 ≤ i ≤ n − 1 轮中,
Verifier 可以根据 Λ i − 1 ( X ) \Lambda_{i-1}(X) Λ i − 1 ( X ) 计算出 q i − 1 ( X ) q_{i-1}(X) q i − 1 ( X ) 并检查 s i − 1 = q i − 1 ( 0 ) + q i − 1 ( 1 ) s_{i-1} = q_{i-1}(0) + q_{i-1}(1) s i − 1 = q i − 1 ( 0 ) + q i − 1 ( 1 ) 。接着选择一个随机数 λ i ← $ F \lambda_i \leftarrow \$ F λ i ← $ F 发送给 Prover。 Prover 根据 λ i \lambda_i λ i 计算可以得到 P ( λ 1 , … , λ i , X i + 1 , … , X n ) P(\lambda_1, \ldots, \lambda_i, X_{i+1}, \ldots, X_n) P ( λ 1 , … , λ i , X i + 1 , … , X n ) ,据此算出 Λ i ( X ) \Lambda_i(X) Λ i ( X ) 发送给 Verifier,并且 Prover 和 Verifier 同时令 s i = q i − 1 ( λ i ) s_i = q_{i-1}(\lambda_i) s i = q i − 1 ( λ i ) 。 在 Sumcheck 的最后一步需要得到 P ( X 1 , … , X n ) P(X_1, \ldots, X_n) P ( X 1 , … , X n ) 在一个随机点 ( λ 1 , λ 2 , … , λ n ) (\lambda_1, \lambda_2, \ldots, \lambda_n) ( λ 1 , λ 2 , … , λ n ) 处的值,即
P ( λ 1 , … , λ n ) , P(\lambda_1, \ldots, \lambda_n), P ( λ 1 , … , λ n ) , 该值可以通过在 FRI 协议中用同样的随机数 λ 1 , … , λ n \lambda_1, \ldots, \lambda_n λ 1 , … , λ n 对一个与多元线性多项式 P ( X 1 , X 2 , … , X n ) P(X_1, X_2, \ldots, X_n) P ( X 1 , X 2 , … , X n ) 的次数不超过 2 n − 1 2^n - 1 2 n − 1 的一元多项式 f 0 ( X ) f_{0}(X) f 0 ( X ) 进行折叠得到。对 f 0 ( X ) f_{0}(X) f 0 ( X ) 进行 n n n 次折叠,最后会得到一个常数 c c c ,我们希望其值就是 P ( λ 1 , … , λ n ) = c P(\lambda_1, \ldots, \lambda_n) = c P ( λ 1 , … , λ n ) = c 。
结合 FRI 协议 ¶ 对于多元线性多项式 P ( X 1 , X 2 , … , X n ) P(X_1, X_2, \ldots, X_n) P ( X 1 , X 2 , … , X n ) ,有一个一元多项式 f 0 ( X ) f_{0}(X) f 0 ( X ) ([H24] 中称之为 univariate representation )与其进行对应,
f 0 ( X ) = ∑ i = 0 2 n − 1 P ( i 1 , … , i n ) ⋅ X i f_0(X) = \sum_{i = 0}^{2^n - 1} P(i_1, \ldots, i_n) \cdot X^i f 0 ( X ) = i = 0 ∑ 2 n − 1 P ( i 1 , … , i n ) ⋅ X i 其中,i 1 , … , i n i_1, \ldots, i_n i 1 , … , i n 是 i i i 的二进制表示,i 1 i_1 i 1 表示最低位,i n i_n i n 表示最高位。
例如,n = 3 n = 3 n = 3 ,假设多元线性多项式为
P ( X 1 , X 2 , X 3 ) = a 0 + a 1 X 1 + a 2 X 2 + a 3 X 1 X 2 + a 4 X 3 + a 5 X 1 X 3 + a 6 X 2 X 3 + a 7 X 1 X 2 X 3 P(X_1, X_2, X_3) = a_0 + a_1 X_1 + a_2 X_2 + a_3 X_1X_2 + a_4 X_3 + a_5 X_1 X_3 + a_6 X_2 X_3 + a_7 X_1 X_2 X_3 P ( X 1 , X 2 , X 3 ) = a 0 + a 1 X 1 + a 2 X 2 + a 3 X 1 X 2 + a 4 X 3 + a 5 X 1 X 3 + a 6 X 2 X 3 + a 7 X 1 X 2 X 3 则与 P ( X 1 , X 2 , X 3 ) P(X_1, X_2, X_3) P ( X 1 , X 2 , X 3 ) 对应的一元多项式 f 0 ( X ) f_0(X) f 0 ( X ) 为
f 0 ( X ) = ∑ i = 0 7 P ( i 1 , i 2 , i 3 ) ⋅ X i = P ( 0 , 0 , 0 ) + P ( 1 , 0 , 0 ) X + P ( 0 , 1 , 0 ) X 2 + P ( 1 , 1 , 0 ) X 3 + P ( 0 , 0 , 1 ) X 4 + P ( 1 , 0 , 1 ) X 5 + P ( 0 , 1 , 1 ) X 6 + P ( 1 , 1 , 1 ) X 7 = ( P ( 0 , 0 , 0 ) + P ( 0 , 1 , 0 ) X 2 + P ( 0 , 0 , 1 ) X 4 ) + X ⋅ ( P ( 1 , 0 , 0 ) + P ( 1 , 1 , 0 ) X 2 + P ( 1 , 0 , 1 ) X 4 + P ( 1 , 1 , 1 ) X 6 ) = f 0 , 0 ( X 2 ) + X ⋅ f 0 , 1 ( X 2 ) \begin{aligned}
f_0(X) & = \sum_{i = 0}^{7}P(i_1,i_{2},i_3) \cdot X^i \\
& = P(0, 0, 0) + P(1, 0, 0) X + P(0, 1, 0) X^2 + P(1,1,0) X^3 \\
& \quad + P(0,0,1) X^4 + P(1,0,1) X^5 + P(0,1,1) X^6 + P(1, 1, 1) X^{7} \\
& = (P(0,0,0) + P(0, 1, 0) X^2 + P(0,0,1) X^4) \\
& \quad + X \cdot (P(1, 0, 0) + P(1,1,0) X^2 + P(1,0,1) X^4 + P(1, 1, 1) X^{6}) \\
& = f_{0,0}(X^2) + X \cdot f_{0,1}(X^2)
\end{aligned} f 0 ( X ) = i = 0 ∑ 7 P ( i 1 , i 2 , i 3 ) ⋅ X i = P ( 0 , 0 , 0 ) + P ( 1 , 0 , 0 ) X + P ( 0 , 1 , 0 ) X 2 + P ( 1 , 1 , 0 ) X 3 + P ( 0 , 0 , 1 ) X 4 + P ( 1 , 0 , 1 ) X 5 + P ( 0 , 1 , 1 ) X 6 + P ( 1 , 1 , 1 ) X 7 = ( P ( 0 , 0 , 0 ) + P ( 0 , 1 , 0 ) X 2 + P ( 0 , 0 , 1 ) X 4 ) + X ⋅ ( P ( 1 , 0 , 0 ) + P ( 1 , 1 , 0 ) X 2 + P ( 1 , 0 , 1 ) X 4 + P ( 1 , 1 , 1 ) X 6 ) = f 0 , 0 ( X 2 ) + X ⋅ f 0 , 1 ( X 2 ) 这里 f 0 , 0 ( X 2 ) f_{0,0}(X^2) f 0 , 0 ( X 2 ) 对应了 f 0 ( X ) f_0(X) f 0 ( X ) 的偶数项,而 f 0 , 1 ( X 2 ) f_{0,1}(X^2) f 0 , 1 ( X 2 ) 对应了 f 0 ( X ) f_0(X) f 0 ( X ) 的奇数项。可以发现偶数项中 P ( 0 , 0 , 0 ) + P ( 0 , 1 , 0 ) X 2 + P ( 0 , 0 , 1 ) X 4 P(0,0,0) + P(0, 1, 0) X^2 + P(0,0,1) X^4 P ( 0 , 0 , 0 ) + P ( 0 , 1 , 0 ) X 2 + P ( 0 , 0 , 1 ) X 4 系数对应了多元线性多项式中的 P ( 0 , ⋅ , ⋅ ) P(0, \cdot, \cdot) P ( 0 , ⋅ , ⋅ ) ,奇数项的系数则对应了 P ( 1 , ⋅ , ⋅ ) P(1, \cdot, \cdot) P ( 1 , ⋅ , ⋅ ) 。换句话说,f 0 , 0 ( X ) f_{0,0}(X) f 0 , 0 ( X ) 是 P ( 0 , X 2 , X 3 ) P(0, X_2, X_3) P ( 0 , X 2 , X 3 ) 的 univariate representation ,f 0 , 1 ( X ) f_{0,1}(X) f 0 , 1 ( X ) 是 P ( 1 , X 2 , X 3 ) P(1, X_2, X_3) P ( 1 , X 2 , X 3 ) 的 univariate representation ,因为
f 0 , 0 ( X ) = ∑ i = 0 3 P ( 0 , i 1 , i 2 ) ⋅ X i f 0 , 1 ( X ) = ∑ i = 0 3 P ( 1 , i 1 , i 2 ) ⋅ X i \begin{aligned}
f_{0,0}(X) = \sum_{i = 0}^{3}P(0,i_1,i_2) \cdot X^i \\
f_{0,1}(X) = \sum_{i = 0}^{3}P(1,i_1,i_2) \cdot X^i
\end{aligned} f 0 , 0 ( X ) = i = 0 ∑ 3 P ( 0 , i 1 , i 2 ) ⋅ X i f 0 , 1 ( X ) = i = 0 ∑ 3 P ( 1 , i 1 , i 2 ) ⋅ X i 用 λ 1 \lambda_1 λ 1 对 f 0 , 0 ( X ) f_{0,0}(X) f 0 , 0 ( X ) 与 f 0 , 1 ( X ) f_{0,1}(X) f 0 , 1 ( X ) 进行折叠,可以得到
f 1 ( X ) = ( 1 − λ 1 ) ⋅ f 0 , 0 ( X ) + λ 1 ⋅ f 0 , 1 ( X ) f_1(X) = (1 - \lambda_1) \cdot f_{0,0}(X) + \lambda_1 \cdot f_{0,1}(X) f 1 ( X ) = ( 1 − λ 1 ) ⋅ f 0 , 0 ( X ) + λ 1 ⋅ f 0 , 1 ( X ) 而 f 1 ( X ) f_1(X) f 1 ( X ) 恰是 P ( λ 1 , X 2 , X 3 ) P(\lambda_1, X_2, X_3) P ( λ 1 , X 2 , X 3 ) 的 univariate representation 。注意这里折叠的方式并不是 FRI 协议中常见的
f 1 ( X ) = f 0 , 0 ( X ) + λ 1 ⋅ f 0 , 1 ( X ) f_1(X) = f_{0,0}(X) + \lambda_1 \cdot f_{0,1}(X) f 1 ( X ) = f 0 , 0 ( X ) + λ 1 ⋅ f 0 , 1 ( X ) 这是因为在这种情况下,得到的 f 1 ( X ) f_1(X) f 1 ( X ) 并不能与 P ( λ 1 , X 2 , … , X n ) P(\lambda_1, X_2, \ldots, X_n) P ( λ 1 , X 2 , … , X n ) 对应,这和一元多项式与多元线性多项式之间的对应关系是绑定的,在这种折叠方式下,它们之间的对应关系应该变为(WHIR 论文 [ACFY24] 采取的就是这种对应方式) :
f 0 ( X ) = P ( X 2 0 , X 2 1 , … , X 2 n − 1 ) f_0(X) = P(X^{2^0}, X^{2^1}, \ldots, X^{2^{n-1}}) f 0 ( X ) = P ( X 2 0 , X 2 1 , … , X 2 n − 1 ) 这里就不展开推导在这种对应关系下 f 1 ( X ) f_1(X) f 1 ( X ) 能与 P ( λ 1 , X 2 , … , X n ) P(\lambda_1, X_2, \ldots, X_n) P ( λ 1 , X 2 , … , X n ) 对应。
回到论文 [H24] 给出的一元多项式与多元线性多项式的对应关系,现在推导下在用 1 − λ 1 1 - \lambda_1 1 − λ 1 和 λ 1 \lambda_1 λ 1 对 f 0 ( X ) f_0(X) f 0 ( X ) 折叠得到的 f 1 ( X ) f_1(X) f 1 ( X ) 确实是与 P ( λ 1 , X 2 , X 3 ) P(\lambda_1, X_2, X_3) P ( λ 1 , X 2 , X 3 ) 对应的。对于一般的 P ( X 1 , … , X n ) P(X_1, \ldots, X_n) P ( X 1 , … , X n ) 有
P ( X ⃗ ) = ∑ x ⃗ ∈ H n P ( x ⃗ ) ⋅ L ( x ⃗ , X ⃗ ) P(\vec{X}) = \sum_{\vec{x} \in H_n} P(\vec{x}) \cdot L(\vec{x}, \vec{X}) P ( X ) = x ∈ H n ∑ P ( x ) ⋅ L ( x , X ) 因此
P ( λ 1 , X 2 , … , X n ) = ∑ b ⃗ ∈ H n P ( b ⃗ ) ⋅ L ( b ⃗ , ( λ 1 , X 2 , … , X n ) ) = ∑ b ⃗ ∈ H n ( P ( b ⃗ ) ⋅ ( ( 1 − b 1 ) ( 1 − λ 1 ) + b 1 λ 1 ) ∏ i = 2 n [ ( 1 − b i ) ( 1 − X i ) + b i X i ] ) = ∑ b ⃗ ∈ H n − 1 ( P ( 0 , b ⃗ ) ⋅ ( ( 1 − 0 ) ( 1 − λ 1 ) + 0 ⋅ λ 1 ) ∏ i = 2 n [ ( 1 − b i ) ( 1 − X i ) + b i X i ] ) + ∑ b ⃗ ∈ H n − 1 ( P ( 1 , b ⃗ ) ⋅ ( ( 1 − 1 ) ( 1 − λ 1 ) + 1 ⋅ λ 1 ) ∏ i = 2 n [ ( 1 − b i ) ( 1 − X i ) + b i X i ] ) = ∑ b ⃗ ∈ H n − 1 ( P ( 0 , b ⃗ ) ⋅ ( 1 − λ 1 ) ∏ i = 2 n [ ( 1 − b i ) ( 1 − X i ) + b i X i ] ) + ∑ b ⃗ ∈ H n − 1 ( P ( 1 , b ⃗ ) ⋅ λ 1 ∏ i = 2 n [ ( 1 − b i ) ( 1 − X i ) + b i X i ] ) = ( 1 − λ 1 ) ∑ b ⃗ ∈ H n − 1 ( P ( 0 , b ⃗ ) ⋅ ∏ i = 2 n [ ( 1 − b i ) ( 1 − X i ) + b i X i ] ) + λ 1 ∑ b ⃗ ∈ H n − 1 ( P ( 1 , b ⃗ ) ⋅ ∏ i = 2 n [ ( 1 − b i ) ( 1 − X i ) + b i X i ] ) = ( 1 − λ 1 ) P ( 0 , X 2 , … , X n ) + λ 1 P ( 1 , X 2 , … , X n ) \begin{aligned}
P(\lambda_1, X_2, \ldots, X_n) & = \sum_{\vec{b} \in H_n} P(\vec{b}) \cdot L(\vec{b}, (\lambda_1, X_2, \ldots, X_n)) \\
& = \sum_{\vec{b} \in H_n} \left(P(\vec{b}) \cdot \left((1- b_1)(1 - \lambda_1) + b_1 \lambda_1\right)\prod_{i = 2}^n \left[(1- b_i)(1 - X_i) + b_i X_i\right] \right) \\
& = \sum_{\vec{b} \in H_{n-1}} \left(P(0, \vec{b}) \cdot \left((1- 0)(1 - \lambda_1) + 0 \cdot \lambda_1\right)\prod_{i = 2}^n \left[(1- b_i)(1 - X_i) + b_i X_i\right] \right) \\
& \quad + \sum_{\vec{b} \in H_{n-1}} \left(P(1, \vec{b}) \cdot \left((1- 1)(1 - \lambda_1) + 1 \cdot \lambda_1\right)\prod_{i = 2}^n \left[(1- b_i)(1 - X_i) + b_i X_i\right] \right) \\
& = \sum_{\vec{b} \in H_{n-1}} \left(P(0, \vec{b}) \cdot (1 - \lambda_1)\prod_{i = 2}^n \left[(1- b_i)(1 - X_i) + b_i X_i\right] \right) \\
& \quad + \sum_{\vec{b} \in H_{n-1}} \left(P(1, \vec{b}) \cdot \lambda_1 \prod_{i = 2}^n \left[(1- b_i)(1 - X_i) + b_i X_i\right] \right) \\
& = (1 - \lambda_1) \sum_{\vec{b} \in H_{n-1}} \left(P(0, \vec{b}) \cdot\prod_{i = 2}^n \left[(1- b_i)(1 - X_i) + b_i X_i\right] \right) \\
& \quad + \lambda_1 \sum_{\vec{b} \in H_{n-1}} \left(P(1, \vec{b}) \cdot \prod_{i = 2}^n \left[(1- b_i)(1 - X_i) + b_i X_i\right] \right) \\
& = (1 - \lambda_1) P(0, X_2, \ldots, X_n) + \lambda_1 P(1, X_2, \ldots, X_n)
\end{aligned} P ( λ 1 , X 2 , … , X n ) = b ∈ H n ∑ P ( b ) ⋅ L ( b , ( λ 1 , X 2 , … , X n )) = b ∈ H n ∑ ( P ( b ) ⋅ ( ( 1 − b 1 ) ( 1 − λ 1 ) + b 1 λ 1 ) i = 2 ∏ n [ ( 1 − b i ) ( 1 − X i ) + b i X i ] ) = b ∈ H n − 1 ∑ ( P ( 0 , b ) ⋅ ( ( 1 − 0 ) ( 1 − λ 1 ) + 0 ⋅ λ 1 ) i = 2 ∏ n [ ( 1 − b i ) ( 1 − X i ) + b i X i ] ) + b ∈ H n − 1 ∑ ( P ( 1 , b ) ⋅ ( ( 1 − 1 ) ( 1 − λ 1 ) + 1 ⋅ λ 1 ) i = 2 ∏ n [ ( 1 − b i ) ( 1 − X i ) + b i X i ] ) = b ∈ H n − 1 ∑ ( P ( 0 , b ) ⋅ ( 1 − λ 1 ) i = 2 ∏ n [ ( 1 − b i ) ( 1 − X i ) + b i X i ] ) + b ∈ H n − 1 ∑ ( P ( 1 , b ) ⋅ λ 1 i = 2 ∏ n [ ( 1 − b i ) ( 1 − X i ) + b i X i ] ) = ( 1 − λ 1 ) b ∈ H n − 1 ∑ ( P ( 0 , b ) ⋅ i = 2 ∏ n [ ( 1 − b i ) ( 1 − X i ) + b i X i ] ) + λ 1 b ∈ H n − 1 ∑ ( P ( 1 , b ) ⋅ i = 2 ∏ n [ ( 1 − b i ) ( 1 − X i ) + b i X i ] ) = ( 1 − λ 1 ) P ( 0 , X 2 , … , X n ) + λ 1 P ( 1 , X 2 , … , X n ) 从而有
f 1 ( X ) = ( 1 − λ 1 ) ⋅ f 0 , 0 ( X ) + λ 1 ⋅ f 0 , 1 ( X ) = ( 1 − λ 1 ) ⋅ ∑ i = 0 3 P ( 0 , i 1 , i 2 ) ⋅ X i + λ 1 ⋅ ∑ i = 0 3 P ( 1 , i 1 , i 2 ) ⋅ X i = ∑ i = 0 3 ( ( 1 − λ 1 ) P ( 0 , i 1 , i 2 ) + λ 1 P ( 1 , i 1 , i 2 ) ) ⋅ X i = ∑ i = 0 3 P ( λ 1 , i 1 , i 2 ) ⋅ X i \begin{aligned}
f_1(X) & = (1 - \lambda_1) \cdot f_{0,0}(X) + \lambda_1 \cdot f_{0,1}(X) \\
& = (1 - \lambda_1) \cdot \sum_{i = 0}^{3}P(0,i_1,i_2) \cdot X^i + \lambda_1 \cdot \sum_{i = 0}^{3}P(1,i_1,i_2) \cdot X^i \\
& = \sum_{i = 0}^{3}((1 - \lambda_1)P(0,i_1,i_2) + \lambda_1 P(1,i_1,i_2)) \cdot X^i \\
& = \sum_{i = 0}^{3}P(\lambda_1, i_1, i_2) \cdot X^i
\end{aligned} f 1 ( X ) = ( 1 − λ 1 ) ⋅ f 0 , 0 ( X ) + λ 1 ⋅ f 0 , 1 ( X ) = ( 1 − λ 1 ) ⋅ i = 0 ∑ 3 P ( 0 , i 1 , i 2 ) ⋅ X i + λ 1 ⋅ i = 0 ∑ 3 P ( 1 , i 1 , i 2 ) ⋅ X i = i = 0 ∑ 3 (( 1 − λ 1 ) P ( 0 , i 1 , i 2 ) + λ 1 P ( 1 , i 1 , i 2 )) ⋅ X i = i = 0 ∑ 3 P ( λ 1 , i 1 , i 2 ) ⋅ X i 至此也就说明了 f 1 ( X ) f_1(X) f 1 ( X ) 是 P ( λ 1 , X 2 , X 3 ) P(\lambda_1, X_2, X_3) P ( λ 1 , X 2 , X 3 ) 的 univariate representation 。接着按这种方式对 f 1 ( X ) f_1(X) f 1 ( X ) 用随机数 λ 2 , λ 3 \lambda_2, \lambda_3 λ 2 , λ 3 进行折叠,最后得到常数多项式,其值就恰好对应 P ( λ 1 , λ 2 , λ 3 ) P(\lambda_1, \lambda_2, \lambda_3) P ( λ 1 , λ 2 , λ 3 ) 。总结一下,Basefold 协议就是一边用随机数对多元线性多项式进行 Sumcheck 协议,一边用同样的随机数对对应的一元多项式进行 FRI 协议,从而实现多元线性多项式的 PCS,这对应 [H24, Protocol 1] ,是针对 Reed-Solomon 的 Basefold 协议 。整体协议的思路如此,这里就不再复述具体的协议流程了,详见 [H24, Protocol 1] 。
🐞 typo
在 [H24, Protocol 1] 中,Query 阶段论文中写道需要检验的折叠关系为
> f i + 1 ( x i + 1 ) = f 0 ( x i ) + f 0 ( − x i ) 2 + λ i ⋅ f 0 ( x i ) + f 0 ( − x i ) 2 ⋅ x i > > f_{i+1}(x_{i+1}) = \frac{f_0(x_i) + f_0(-x_i)}{2} + \lambda_i \cdot \frac{f_0(x_i) + f_0(-x_i)}{2 \cdot x_i}
> > f i + 1 ( x i + 1 ) = 2 f 0 ( x i ) + f 0 ( − x i ) + λ i ⋅ 2 ⋅ x i f 0 ( x i ) + f 0 ( − x i ) > 但根据前文给出的折叠关系,我认为应该改为
> f i + 1 ( x i + 1 ) = ( 1 − λ i ) ⋅ f 0 ( x i ) + f 0 ( − x i ) 2 + λ i ⋅ f 0 ( x i ) − f 0 ( − x i ) 2 ⋅ x i > > f_{i+1}(x_{i+1}) = (1 - \lambda_i) \cdot \frac{f_0(x_i) + f_0(-x_i)}{2} + \lambda_i \cdot \frac{f_0(x_i) - f_0(-x_i)}{2 \cdot x_i}
> > f i + 1 ( x i + 1 ) = ( 1 − λ i ) ⋅ 2 f 0 ( x i ) + f 0 ( − x i ) + λ i ⋅ 2 ⋅ x i f 0 ( x i ) − f 0 ( − x i ) > [H24] 论文证明的 soundness 是针对的更通用的一个协议,即 batch 版本的 Basefold 协议。
Protocol 2 [H24, Protocol 2] (Batch Reed-Solomon code Basefold). The prover shares the Reed-Solomon codewords g 0 , … , g M ∈ C 0 = R S 2 n [ F , D 0 ] = { q ( x ) ∣ x ∈ D 0 : q ( x ) ∈ F [ X ] < 2 n } g_0, \ldots, g_M \in \mathcal{C}_0 = \mathrm{RS}_{2^n}[F,D_0] = \{q(x)|_{x \in D_0}: q(x) \in F[X]^{<2^n} \} g 0 , … , g M ∈ C 0 = RS 2 n [ F , D 0 ] = { q ( x ) ∣ x ∈ D 0 : q ( x ) ∈ F [ X ] < 2 n } of the multilinears G 0 , … , G M G_0, \ldots, G_M G 0 , … , G M , together with their evaluation claims v 0 , … , v M v_0, \ldots, v_M v 0 , … , v M at ω ⃗ ∈ F n \vec{\omega} \in F^n ω ∈ F n with the verifier. Then they engage in the following extension of Protocol 1:
In a preceding round i = 0 i = 0 i = 0 , the verifier sends a random λ 0 ← $ F \lambda_0 \leftarrow \$ F λ 0 ← $ F , and the prover answers with the oracle for > f 0 = ∑ k = 0 M λ 0 k ⋅ g k > (1) > f_0 = \sum_{k = 0}^{M} \lambda_0^k \cdot g_k \tag{1}
> > f 0 = k = 0 ∑ M λ 0 k ⋅ g k > ( 1 ) Then both prover and verifier engage in Protocol 1 on f 0 f_0 f 0 and the claim v 0 = ∑ k = 0 M λ 0 k ⋅ v k v_0 = \sum_{k = 0}^M \lambda_0^k \cdot v_k v 0 = ∑ k = 0 M λ 0 k ⋅ v k . In addition to the checks in Protocol 1, the verifier also checks that equation ( 1 ) (1) ( 1 ) holds at every sample x x x from D 0 D_0 D 0 .
batch 版本的 Basefold 协议其实就是用一个随机数 λ 0 \lambda_{0} λ 0 ,通过它的幂次将 g 0 , … , g M g_{0}, \ldots, g_{M} g 0 , … , g M 线性组合起来,转换成一个函数 f 0 f_{0} f 0 ,再对它用 Protocol 1。
Soundness 概览 ¶ 本节主要分析 Protocol 2 的 soundness error 证明思路。首先说明 soundness error 的含义,对于任意一个可能作恶的 Prover P ∗ P^* P ∗ ,其给出的 g 0 , … , g M g_{0}, \ldots, g_{M} g 0 , … , g M 中存在 g k g_{k} g k 距离 Reed-Solomon 编码空间 C 0 \mathcal{C}_0 C 0 超过 θ ([H24] 中研究 list decoding 下的证明,因此考虑参数 θ ∈ ( 1 − ρ 2 , 1 − ρ ) \theta \in \left( \frac{1 - \rho}{2}, 1 - \sqrt{\rho} \right) θ ∈ ( 2 1 − ρ , 1 − ρ ) ),或者 g k g_k g k 对应的 multilinear representation P k P_k P k 不满足 evaluation claim P k ( ω ⃗ ) = v k P_{k}(\vec{\omega}) = v_{k} P k ( ω ) = v k ,在此条件下,P ∗ P^* P ∗ 通过 Verifier 检查的概率不超过 ε \varepsilon ε ,这个概率 ε \varepsilon ε 就称为 soundness error。换句话说,soundness error 就是分析作恶的 Prover P ∗ P^* P ∗ 能侥幸通过 Verifier 检查的概率。P ∗ P^* P ∗ 能侥幸通过检查,可能发生的地方会是那些引入随机的地方,分析协议发现有三处:
Commit 阶段用随机数 λ 0 \lambda_{0} λ 0 将 g 0 , … , g M g_{0},\ldots, g_{M} g 0 , … , g M 进行 batch,设此概率为 ε C 1 \varepsilon_{C_1} ε C 1 。 用随机数 λ 1 , … , λ n \lambda_1, \ldots, \lambda_n λ 1 , … , λ n 进行 sumcheck 协议与类似 FRI 折叠的过程,设此概率为 ε C 2 \varepsilon_{C_2} ε C 2 。 Query 阶段Verifier 随机选取 x 0 ← D 0 x_0 \leftarrow D_0 x 0 ← D 0 来检查折叠是否正确,设此概率为 ε q u e r y \varepsilon_{\mathrm{query}} ε query 因此,整个协议的 soundness error 为
ε < ε C 1 + ε C 2 + ε q u e r y . \varepsilon < \varepsilon_{C_1} + \varepsilon_{C_2} + \varepsilon_{\mathrm{query}}. ε < ε C 1 + ε C 2 + ε query . Commit 阶段 ¶ 现在考虑用 λ 1 ← $ F \lambda_1 \leftarrow \$ F λ 1 ← $ F 将 f 0 f_0 f 0 折叠成 f λ 1 f_{\lambda_1} f λ 1 的情况,即
f λ 1 = ( 1 − λ 1 ) ⋅ f 0 , 0 + λ 1 ⋅ f 0 , 1 f_{\lambda_1} = (1 - \lambda_1) \cdot f_{0,0} + \lambda_1 \cdot f_{0,1} f λ 1 = ( 1 − λ 1 ) ⋅ f 0 , 0 + λ 1 ⋅ f 0 , 1 假设给定的参数 θ = 1 2 \theta = \frac{1}{2} θ = 2 1 ,由于 λ 1 \lambda_1 λ 1 是选取自 F F F 的随机数,有可能出现下面这种情况:
图中的 p 0 , p 0 , 0 , p 0 , 1 , p λ 1 p_0, p_{0,0}, p_{0,1}, p_{\lambda_1} p 0 , p 0 , 0 , p 0 , 1 , p λ 1 分别是对应 Reed-Solomon 编码空间中距离 f 0 , f 0 , 0 , f 0 , 1 , f λ 1 f_0, f_{0,0}, f_{0,1}, f_{\lambda_1} f 0 , f 0 , 0 , f 0 , 1 , f λ 1 最近的码字,颜色同为绿色表示它们在该点值相同,而不同的颜色表示在该点的值不同。可以看出,对于作恶的 Prover 提供的 f 0 f_0 f 0 ,其距离 Reed-Solomon 空间 C 0 \mathcal{C}_0 C 0 的距离大于 θ = 1 2 \theta = \frac{1}{2} θ = 2 1 ,但是经过 λ 1 \lambda_1 λ 1 进行折叠之后得到的 f λ 1 f_{\lambda_1} f λ 1 距离 Reed-Solomon 空间 C 1 \mathcal{C}_1 C 1 可能出现小于 θ 的情况,这样 f 1 f_1 f 1 在后续的协议中就会通过 Verifier 的折叠验证,P ∗ P^* P ∗ 就成功的欺骗了 Verifier 。
那么出现上述这种情况的概率是多少呢?其由 [BCIKS20] 给出的 Correlated Agreement 定理给出。该定理说的是,如果
Pr λ 1 ∈ F [ Δ ( ( 1 − λ 1 ) f 0 , 0 + λ 1 f 0 , 1 , C 1 ) ≤ θ ] > ϵ \Pr_{\lambda_1 \in F}[\Delta((1 - \lambda_1) f_{0,0} + \lambda_1 f_{0,1}, \mathcal{C}_1) \le \theta] > \epsilon λ 1 ∈ F Pr [ Δ (( 1 − λ 1 ) f 0 , 0 + λ 1 f 0 , 1 , C 1 ) ≤ θ ] > ϵ 其中 ε 是一个和 θ , ρ , ∣ F ∣ , ∣ D 1 ∣ \theta, \rho, |F|, |D_1| θ , ρ , ∣ F ∣ , ∣ D 1 ∣ 相关的一个式子,也可写为 ϵ ( θ , ρ , ∣ F ∣ , ∣ D 1 ∣ ) \epsilon(\theta, \rho, |F|, |D_1|) ϵ ( θ , ρ , ∣ F ∣ , ∣ D 1 ∣ ) ,并且在 unique decoding 和 list decoding 下其给出的形式也不同(这一部分留在在下一节中进行详细说明)。也就是,取遍 λ 1 \lambda_1 λ 1 在 F F F 中的所有可能,得到 f λ 1 f_{\lambda_1} f λ 1 ,其中距离 C 1 \mathcal{C}_1 C 1 不超过 θ 的比例超过了 ε ,那么就一定存在一个子集 D ′ ⊂ D 1 D' \subset D_1 D ′ ⊂ D 1 以及 C 1 \mathcal{C}_1 C 1 中的码字 p 0 , 0 , p 0 , 1 p_{0,0}, p_{0,1} p 0 , 0 , p 0 , 1 使得
∣ D ′ ∣ / ∣ D 1 ∣ ≥ 1 − θ |D'|/|D_1| \ge 1 - \theta ∣ D ′ ∣/∣ D 1 ∣ ≥ 1 − θ ,f 0 , 0 ∣ D ′ = p 0 , 0 ∣ D ′ f_{0,0}|_{D'} = p_{0,0}|_{D'} f 0 , 0 ∣ D ′ = p 0 , 0 ∣ D ′ 以及 f 0 , 1 ∣ D ′ = p 0 , 1 ∣ D ′ f_{0,1}|_{D'} = p_{0,1}|_{D'} f 0 , 1 ∣ D ′ = p 0 , 1 ∣ D ′ 。现在我们能得到 f 0 , 0 f_{0,0} f 0 , 0 与 f 0 , 1 f_{0,1} f 0 , 1 不仅距离编码空间 C 1 \mathcal{C}_1 C 1 比较近,同时它们共享一个相同的集合 D ′ D' D ′ 与对应的码字相同。这是一个很好的结论,可以帮我们来推导原来的 f 0 f_0 f 0 到 C 0 \mathcal{C}_0 C 0 的距离。
通过映射 π : x ↦ x 2 \pi: x \mapsto x^2 π : x ↦ x 2 可以将 D 0 D_0 D 0 中的点映射到 D 1 D_1 D 1 ,现在可用 π − 1 \pi^{-1} π − 1 将 D ′ ⊆ D 1 D' \subseteq D_1 D ′ ⊆ D 1 中的点映射回 D 0 D_0 D 0 ,例如,设 ω 8 = 1 \omega^8 = 1 ω 8 = 1 及
D 0 = { ω 0 , ω 1 , ω 2 , ω 3 , ω 4 , ω 5 , ω 6 , ω 7 } D_0 = \{\omega^0, \omega^1, \omega^2, \omega^3, \omega^4, \omega^5, \omega^6, \omega^7\} D 0 = { ω 0 , ω 1 , ω 2 , ω 3 , ω 4 , ω 5 , ω 6 , ω 7 } 则通过映射 π : x ↦ x 2 \pi: x \mapsto x^2 π : x ↦ x 2 可以得到
D 1 = { ω 0 , ω 2 , ω 4 , ω 6 } D_1 = \{\omega^0, \omega^2, \omega^4, \omega^6\} D 1 = { ω 0 , ω 2 , ω 4 , ω 6 } 假设 D ′ = { ω 0 , ω 2 , ω 4 } D' = \{\omega^0, \omega^2, \omega^4 \} D ′ = { ω 0 , ω 2 , ω 4 } ,那么可以得到
π − 1 ( D ′ ) = { ω 0 , ω 1 , ω 2 , ω 4 , ω 5 , ω 6 } \pi^{-1}(D') = \{\omega^0, \omega^1, \omega^2, \omega^4, \omega^5, \omega^6 \} π − 1 ( D ′ ) = { ω 0 , ω 1 , ω 2 , ω 4 , ω 5 , ω 6 } 如下图所示:
现在根据 correlated agreement 定理得到了 f 0 , 0 ∣ D ′ = p 0 , 0 ∣ D ′ f_{0,0}|_{D'} = p_{0,0}|_{D'} f 0 , 0 ∣ D ′ = p 0 , 0 ∣ D ′ 以及 f 0 , 1 ∣ D ′ = p 0 , 1 ∣ D ′ f_{0,1}|_{D'} = p_{0,1}|_{D'} f 0 , 1 ∣ D ′ = p 0 , 1 ∣ D ′ ,因此可以根据 p 0 , 0 p_{0,0} p 0 , 0 以及 p 0 , 1 p_{0,1} p 0 , 1 得到折叠之前的多项式
p 0 ( X ) = p 0 , 0 ( X 2 ) + X ⋅ p 0 , 1 ( X 2 ) p_0(X) = p_{0,0}(X^2) + X \cdot p_{0,1}(X^2) p 0 ( X ) = p 0 , 0 ( X 2 ) + X ⋅ p 0 , 1 ( X 2 ) 可以得出 f 0 ( X ) f_0(X) f 0 ( X ) 与 p 0 ( X ) p_0(X) p 0 ( X ) 在 π − 1 ( D ′ ) \pi^{-1}(D') π − 1 ( D ′ ) 上的值是一致,由此也就得到了 f 0 ( X ) f_0(X) f 0 ( X ) 到编码空间 C 0 \mathcal{C}_0 C 0 的距离
Δ ( f 0 , C 0 ) ≤ ∣ π − 1 ( D ′ ) ∣ ∣ D 0 ∣ ≤ θ \Delta(f_0, \mathcal{C}_0) \le \frac{|\pi^{-1}(D')|}{|D_0|} \le \theta Δ ( f 0 , C 0 ) ≤ ∣ D 0 ∣ ∣ π − 1 ( D ′ ) ∣ ≤ θ 这也就能说明 Prover 没有作弊,函数 f 0 f_0 f 0 距离对应的编码空间不超过 θ 。回到最初的问题,我们想分析 Prover 作弊情况下,其能成功骗过 Verifier 的概率,现在 correlated agreement 定理告诉了我们除了一个概率 ε ,能确保 Prover 没有作弊,这也说明如果 Prover 作弊,能成功骗过 Verifier 的概率不会超过这个概率 ε 。
至此我们就分析完 Commit 阶段的 soundness error 了吗?回顾下上述分析,我们使用 correlated agreement 定理得到了由于折叠随机数 λ 1 \lambda_1 λ 1 的引入,导致折叠之后的多项式能骗过 Verifier 的概率,但是有一点要记住,Basefold 协议不仅要检查类似 FRI 的折叠是否正确,还要同时检查 sumcheck 的约束,因此上述分析是不够的。仿照上述 correlated agreement 定理的思路,在其基础上增加 sumcheck 的约束,如果存在的多项式 p λ 1 p_{\lambda_1} p λ 1 对应的 P λ 1 = P ( λ 1 , X 2 , … , X n ) P_{\lambda_1} = P(\lambda_1, X_2, \ldots, X_n) P λ 1 = P ( λ 1 , X 2 , … , X n ) 满足 sumcheck 约束,想得到 p 0 , 0 ( X ) p_{0,0}(X) p 0 , 0 ( X ) 与 p 0 , 1 ( X ) p_{0,1}(X) p 0 , 1 ( X ) 对应的 P 0 = P ( 0 , X 2 , … , X n ) P_0 = P(0, X_2, \ldots, X_n) P 0 = P ( 0 , X 2 , … , X n ) 与 P 1 = P ( 1 , X 2 , … , X n ) P_1 = P(1, X_2, \ldots, X_n) P 1 = P ( 1 , X 2 , … , X n ) 也满足 sumcheck 约束,这样我们就能推断折叠前是否满足 sumcheck 约束了。
现在考虑 sumcheck 约束,已知
⟨ L ( ( λ 1 , ⋅ ) , ω ⃗ ) , P λ 1 ⟩ H n − 1 = q 0 ( λ 1 ) \langle L((\lambda_1, \cdot), \vec{\omega}), P_{\lambda_1} \rangle_{H_{n-1}} = q_0(\lambda_1) ⟨ L (( λ 1 , ⋅ ) , ω ) , P λ 1 ⟩ H n − 1 = q 0 ( λ 1 ) 想得到
⟨ L ( ( 0 , ⋅ ) , ω ⃗ ) , P 0 ⟩ H n − 1 = q 0 ( 0 ) (2) \langle L((0, \cdot), \vec{\omega}), P_{0} \rangle_{H_{n-1}} = q_0(0) \tag{2} ⟨ L (( 0 , ⋅ ) , ω ) , P 0 ⟩ H n − 1 = q 0 ( 0 ) ( 2 ) ⟨ L ( ( 1 , ⋅ ) , ω ⃗ ) , P 1 ⟩ H n − 1 = q 0 ( 1 ) (3) \langle L((1, \cdot), \vec{\omega}), P_{1} \rangle_{H_{n-1}} = q_0(1) \tag{3} ⟨ L (( 1 , ⋅ ) , ω ) , P 1 ⟩ H n − 1 = q 0 ( 1 ) ( 3 ) 如果式 ( 2 ) (2) ( 2 ) 与式 ( 3 ) (3) ( 3 ) 成立,由于 s 0 = q 0 ( 0 ) + q 0 ( 1 ) s_0 = q_0(0) + q_0(1) s 0 = q 0 ( 0 ) + q 0 ( 1 ) ,则可以得到由 p 0 , 0 ( X ) p_{0,0}(X) p 0 , 0 ( X ) 与 q 0 , 1 ( X ) q_{0,1}(X) q 0 , 1 ( X ) 得到的 p 0 ( X ) p_0(X) p 0 ( X ) 对应的多元线性多项式 P ( X ) P(X) P ( X ) 满足 sumcheck 约束。
下面根据[H24]在 3.2 节的思路,推导出式 ( 2 ) (2) ( 2 ) 与式 ( 3 ) (3) ( 3 ) 成立。根据 q i ( X ) q_i(X) q i ( X ) 与 Λ i ( X ) \Lambda_i(X) Λ i ( X ) 的关系,得到
q 0 ( λ 1 ) = L ( λ 1 , ω 1 ) ⋅ Λ 0 ( λ 1 ) q_0(\lambda_1) = L(\lambda_1, \omega_1) \cdot \Lambda_0(\lambda_1) q 0 ( λ 1 ) = L ( λ 1 , ω 1 ) ⋅ Λ 0 ( λ 1 ) 而
⟨ L ( ( λ 1 , ⋅ ) , ω ⃗ ) , P λ 1 ⟩ H n − 1 = L ( λ 1 , ω 1 ) ⋅ ⟨ L ( ⋅ , ω 2 , … , ω n ) , P λ 1 ⟩ H n − 1 \langle L((\lambda_1, \cdot), \vec{\omega}), P_{\lambda_1} \rangle_{H_{n-1}} = L(\lambda_1, \omega_1) \cdot \langle L(\cdot, \omega_2, \ldots, \omega_n), P_{\lambda_1} \rangle_{H_{n-1}} ⟨ L (( λ 1 , ⋅ ) , ω ) , P λ 1 ⟩ H n − 1 = L ( λ 1 , ω 1 ) ⋅ ⟨ L ( ⋅ , ω 2 , … , ω n ) , P λ 1 ⟩ H n − 1 因此
L ( λ 1 , ω 1 ) ⋅ ⟨ L ( ⋅ , ω 2 , … , ω n ) , P λ 1 ⟩ H n − 1 = L ( λ 1 , ω 1 ) ⋅ Λ 0 ( λ 1 ) L(\lambda_1, \omega_1) \cdot \langle L(\cdot, \omega_2, \ldots, \omega_n), P_{\lambda_1} \rangle_{H_{n-1}} = L(\lambda_1, \omega_1) \cdot \Lambda_0(\lambda_1) L ( λ 1 , ω 1 ) ⋅ ⟨ L ( ⋅ , ω 2 , … , ω n ) , P λ 1 ⟩ H n − 1 = L ( λ 1 , ω 1 ) ⋅ Λ 0 ( λ 1 ) 由于 L ( X , ω 1 ) = ( 1 − X ) ( 1 − ω 1 ) + X ⋅ ω 1 L(X, \omega_1) = (1 - X)(1 - \omega_1) + X \cdot \omega_1 L ( X , ω 1 ) = ( 1 − X ) ( 1 − ω 1 ) + X ⋅ ω 1 是一个一次多项式,因此,L ( X ) L(X) L ( X ) 在 F F F 中只有一个零点,当 λ 1 \lambda_1 λ 1 取到该点时,就会有 L ( λ 1 , ω 1 ) = 0 L(\lambda_1, \omega_1) = 0 L ( λ 1 , ω 1 ) = 0 ,此时上式自然成立,而发生这样的概率为 1 / ∣ F ∣ 1 / |F| 1/∣ F ∣ 。若 L ( λ 1 , ω 1 ) ≠ 0 L(\lambda_1, \omega_1) \neq 0 L ( λ 1 , ω 1 ) = 0 ,则有
⟨ L ( ⋅ , ω 2 , … , ω n ) , P λ 1 ⟩ H n − 1 = Λ 0 ( λ 1 ) \langle L(\cdot, \omega_2, \ldots, \omega_n), P_{\lambda_1} \rangle_{H_{n-1}} = \Lambda_0(\lambda_1) ⟨ L ( ⋅ , ω 2 , … , ω n ) , P λ 1 ⟩ H n − 1 = Λ 0 ( λ 1 ) [H24] 论文中给出
⟨ L ( ⋅ , ω 2 , … , ω n ) , P λ 1 − Λ 0 ( λ 1 ) ⟩ H n − 1 = 0 (4) \langle L(\cdot, \omega_2, \ldots, \omega_n), P_{\lambda_1} - \Lambda_0(\lambda_1) \rangle_{H_{n-1}} = 0 \tag{4} ⟨ L ( ⋅ , ω 2 , … , ω n ) , P λ 1 − Λ 0 ( λ 1 ) ⟩ H n − 1 = 0 ( 4 ) 在这里给出一个详细推导,由于 P λ 1 = P ( λ 1 , X 2 , … , X n ) P_{\lambda_1} = P(\lambda_1, X_2, \ldots, X_n) P λ 1 = P ( λ 1 , X 2 , … , X n ) ,那么
⟨ L ( ⋅ , ω 2 , … , ω n ) , P λ 1 ⟩ H n − 1 = ∑ x ⃗ ∈ H n − 1 L ( x ⃗ , ( ω 2 , … , ω n ) ) ⋅ P ( λ 1 , x ⃗ ) = P ( λ 1 , ω 2 , … , ω n ) \begin{aligned}
\langle L(\cdot, \omega_2, \ldots, \omega_n), P_{\lambda_1} \rangle_{H_{n-1}} & = \sum_{\vec{x} \in H_{n-1}} L(\vec{x}, (\omega_2, \ldots, \omega_n)) \cdot P(\lambda_1, \vec{x}) \\
& = P(\lambda_1, \omega_2, \ldots, \omega_n)
\end{aligned} ⟨ L ( ⋅ , ω 2 , … , ω n ) , P λ 1 ⟩ H n − 1 = x ∈ H n − 1 ∑ L ( x , ( ω 2 , … , ω n )) ⋅ P ( λ 1 , x ) = P ( λ 1 , ω 2 , … , ω n ) 那么上面的等式即为
P ( λ 1 , ω 2 , … , ω n ) = Λ 0 ( λ 1 ) P(\lambda_1, \omega_2, \ldots, \omega_n) = \Lambda_0(\lambda_1) P ( λ 1 , ω 2 , … , ω n ) = Λ 0 ( λ 1 ) 设一个函数为 P ′ ( X 2 , … , X n ) = P ( λ 1 , X 2 , … , X n ) − Λ 0 ( λ 1 ) P'(X_2,\ldots, X_n) = P(\lambda_1, X_2, \ldots, X_n) - \Lambda_0(\lambda_1) P ′ ( X 2 , … , X n ) = P ( λ 1 , X 2 , … , X n ) − Λ 0 ( λ 1 ) ,其在点 ( ω 2 , … , ω n ) (\omega_2, \ldots, \omega_n) ( ω 2 , … , ω n ) 处的求值为 P ′ ( ω 2 , … , ω n ) = 0 P'(\omega_2, \ldots, \omega_n) = 0 P ′ ( ω 2 , … , ω n ) = 0 ,且 P ′ ( ω 2 , … , ω n ) P'(\omega_2, \ldots, \omega_n) P ′ ( ω 2 , … , ω n ) 可表示为
P ′ ( ω 2 , … , ω n ) = ⟨ L ( ⋅ , ω 2 , … , ω n ) , P ′ ( ⋅ ) ⟩ H n − 1 = ⟨ L ( ⋅ , ω 2 , … , ω n ) , P ( λ 1 , ⋅ ) − Λ 0 ( λ 1 ) ⟩ H n − 1 = ⟨ L ( ⋅ , ω 2 , … , ω n ) , P λ 1 − Λ 0 ( λ 1 ) ⟩ H n − 1 = 0 \begin{aligned}
P'(\omega_2, \ldots, \omega_n) & = \langle L(\cdot, \omega_2, \ldots, \omega_n), P'(\cdot) \rangle_{H_{n-1}} \\
& = \langle L(\cdot, \omega_2, \ldots, \omega_n), P(\lambda_1, \cdot) - \Lambda_0(\lambda_1) \rangle_{H_{n-1}} \\
& = \langle L(\cdot, \omega_2, \ldots, \omega_n), P_{\lambda_1} - \Lambda_0(\lambda_1) \rangle_{H_{n-1}} \\
& = 0
\end{aligned} P ′ ( ω 2 , … , ω n ) = ⟨ L ( ⋅ , ω 2 , … , ω n ) , P ′ ( ⋅ ) ⟩ H n − 1 = ⟨ L ( ⋅ , ω 2 , … , ω n ) , P ( λ 1 , ⋅ ) − Λ 0 ( λ 1 ) ⟩ H n − 1 = ⟨ L ( ⋅ , ω 2 , … , ω n ) , P λ 1 − Λ 0 ( λ 1 ) ⟩ H n − 1 = 0 因此
⟨ L ( ⋅ , ω 2 , … , ω n ) , P λ 1 − Λ 0 ( λ 1 ) ⟩ H n − 1 = 0 \langle L(\cdot, \omega_2, \ldots, \omega_n), P_{\lambda_1} - \Lambda_0(\lambda_1) \rangle_{H_{n-1}} = 0 ⟨ L ( ⋅ , ω 2 , … , ω n ) , P λ 1 − Λ 0 ( λ 1 ) ⟩ H n − 1 = 0 由线性性知
Λ 0 ( λ 1 ) = ( 1 − λ 1 ) ⋅ Λ 0 ( 0 ) + λ 1 ⋅ Λ 0 ( 1 ) (5) \Lambda_{0}(\lambda_1) = (1 - \lambda_1) \cdot \Lambda_{0}(0) + \lambda_1 \cdot \Lambda_{0}(1) \tag{5} Λ 0 ( λ 1 ) = ( 1 − λ 1 ) ⋅ Λ 0 ( 0 ) + λ 1 ⋅ Λ 0 ( 1 ) ( 5 ) 同时
f λ 1 = ( 1 − λ 1 ) ⋅ f 0 , 0 + λ 1 ⋅ f 0 , 1 (6) f_{\lambda_1} = (1 - \lambda_1) \cdot f_{0,0} + \lambda_1 \cdot f_{0,1} \tag{6} f λ 1 = ( 1 − λ 1 ) ⋅ f 0 , 0 + λ 1 ⋅ f 0 , 1 ( 6 ) 由等式 ( 6 ) (6) ( 6 ) 减去 ( 5 ) (5) ( 5 ) 得到
f λ 1 − Λ 0 ( λ 1 ) = ( 1 − λ 1 ) ⋅ ( f 0 , 0 − Λ 0 ( 0 ) ) + λ 1 ⋅ ( f 0 , 1 − Λ 0 ( 1 ) ) f_{\lambda_1} - \Lambda_{0}(\lambda_1) = (1 - \lambda_1) \cdot (f_{0,0} - \Lambda_{0}(0)) + \lambda_1 \cdot (f_{0,1} - \Lambda_{0}(1)) f λ 1 − Λ 0 ( λ 1 ) = ( 1 − λ 1 ) ⋅ ( f 0 , 0 − Λ 0 ( 0 )) + λ 1 ⋅ ( f 0 , 1 − Λ 0 ( 1 )) 令新的多项式
f λ 1 ′ = ( 1 − λ 1 ) ⋅ ( f 0 , 0 − Λ 0 ( 0 ) ) + λ 1 ⋅ ( f 0 , 1 − Λ 0 ( 1 ) ) f_{\lambda_1}' = (1 - \lambda_1) \cdot (f_{0,0} - \Lambda_{0}(0)) + \lambda_1 \cdot (f_{0,1} - \Lambda_{0}(1)) f λ 1 ′ = ( 1 − λ 1 ) ⋅ ( f 0 , 0 − Λ 0 ( 0 )) + λ 1 ⋅ ( f 0 , 1 − Λ 0 ( 1 )) 依照之前 correlated agreement 定理的思路,根据条件,若
Pr λ 1 ∈ F [ Δ ( ( 1 − λ 1 ) f 0 , 0 + λ 1 f 0 , 1 , C 1 ) ≤ θ ] > ϵ \Pr_{\lambda_1 \in F}[\Delta((1 - \lambda_1) f_{0,0} + \lambda_1 f_{0,1}, \mathcal{C}_1) \le \theta] > \epsilon λ 1 ∈ F Pr [ Δ (( 1 − λ 1 ) f 0 , 0 + λ 1 f 0 , 1 , C 1 ) ≤ θ ] > ϵ 也就是 f λ 1 f_{\lambda_1} f λ 1 距离 p λ 1 p_{\lambda_1} p λ 1 不超过 θ 大于一个界限 ε ,那么它们同时减去一个数 Λ 0 ( λ 1 ) \Lambda_0(\lambda_1) Λ 0 ( λ 1 ) ,并不影响它们之间的距离,因此 f λ 1 ′ f_{\lambda_1}' f λ 1 ′ 距离 p λ 1 ′ = p λ 1 − Λ 0 ( λ 1 ) p_{\lambda_1}' = p_{\lambda_1} - \Lambda_0(\lambda_1) p λ 1 ′ = p λ 1 − Λ 0 ( λ 1 ) 不超过 θ 。
p λ 1 ′ = p λ 1 − Λ 0 ( λ 1 ) p_{\lambda_1}' = p_{\lambda_1} - \Lambda_0(\lambda_1) p λ 1 ′ = p λ 1 − Λ 0 ( λ 1 ) 属于哪个编码空间呢?我们知道 p λ 1 ∈ P n − 1 = F [ X ] < 2 n − 1 p_{\lambda_1} \in \mathcal{P}_{n - 1} = F[X]^{<2^{n-1}} p λ 1 ∈ P n − 1 = F [ X ] < 2 n − 1 ,而 Λ 0 ( λ 1 ) \Lambda_0(\lambda_1) Λ 0 ( λ 1 ) 本质上是一个数,因此 p λ 1 ′ p_{\lambda_1}' p λ 1 ′ 依然在 P n − 1 \mathcal{P}_{n - 1} P n − 1 空间中。同时我们上面已经推导出
⟨ L ( ⋅ , ω 2 , … , ω n ) , P λ 1 − Λ 0 ( λ 1 ) ⟩ H n − 1 = 0 \langle L(\cdot, \omega_2, \ldots, \omega_n), P_{\lambda_1} - \Lambda_0(\lambda_1) \rangle_{H_{n-1}} = 0 ⟨ L ( ⋅ , ω 2 , … , ω n ) , P λ 1 − Λ 0 ( λ 1 ) ⟩ H n − 1 = 0 说明 p λ 1 ′ p_{\lambda_1}' p λ 1 ′ 对应的多元线性多项式还满足一个这样的内积约束,因此可以说 p λ 1 ′ p_{\lambda_1}' p λ 1 ′ 在 P n − 1 \mathcal{P}_{n - 1} P n − 1 的一个子空间中,即
P n − 1 ′ = { u ( X ) ∈ P n − 1 : ⟨ L ( ⋅ , ω 2 , … , ω n ) , U ⟩ H n − 1 = 0 } \mathcal{P}_{n - 1}' = \{u(X) \in \mathcal{P}_{n - 1}: \langle L(\cdot, \omega_2, \ldots, \omega_n), U \rangle_{H_{n-1}} = 0 \} P n − 1 ′ = { u ( X ) ∈ P n − 1 : ⟨ L ( ⋅ , ω 2 , … , ω n ) , U ⟩ H n − 1 = 0 } 上式中的 U U U 就是与 u ( X ) u(X) u ( X ) 相对应的多元线性多项式。由这样的一个多项式子空间可以形成编码空间 C 1 \mathcal{C}_1 C 1 的线性子码 C 1 ′ \mathcal{C}_1' C 1 ′ 。可以看到,通过将 q i ( X ) q_i(X) q i ( X ) 中的线性项 Λ i ( X ) \Lambda_i(X) Λ i ( X ) 提出来,添加了类似 sumcheck 的约束之后,发现要考虑的编码空间是原来编码空间的一个线性子空间。
现在总结下目前得到的结论,记 f 0 , 0 ′ : = f 0 , 0 − Λ 0 ( 0 ) f_{0,0}' := f_{0,0} - \Lambda_0(0) f 0 , 0 ′ := f 0 , 0 − Λ 0 ( 0 ) , f 0 , 1 ′ : = f 0 , 1 − Λ 0 ( 1 ) f_{0,1}' := f_{0,1} - \Lambda_0(1) f 0 , 1 ′ := f 0 , 1 − Λ 0 ( 1 ) ,有
f λ 1 ′ = ( 1 − λ 1 ) ⋅ f 0 , 0 ′ + λ 1 ⋅ f 0 , 1 ′ f_{\lambda_1}' = (1 - \lambda_1) \cdot f_{0,0}' + \lambda_1 \cdot f_{0,1}' f λ 1 ′ = ( 1 − λ 1 ) ⋅ f 0 , 0 ′ + λ 1 ⋅ f 0 , 1 ′ 同时,f λ 1 ′ f_{\lambda_1}' f λ 1 ′ 距离 p λ 1 ′ = p λ 1 − Λ 0 ( λ 1 ) p_{\lambda_1}' = p_{\lambda_1} - \Lambda_0(\lambda_1) p λ 1 ′ = p λ 1 − Λ 0 ( λ 1 ) 不超过 θ 大于 ε , p λ 1 ′ ∈ P n − 1 ′ p_{\lambda_1}' \in \mathcal{P}_{n-1}' p λ 1 ′ ∈ P n − 1 ′ ,即
Pr λ 1 ∈ F [ Δ ( ( 1 − λ 1 ) f 0 , 0 ′ + λ 1 f 0 , 1 ′ , C 1 ′ ) ≤ θ ] > ϵ \Pr_{\lambda_1 \in F}[\Delta((1 - \lambda_1) f_{0,0}' + \lambda_1 f_{0,1}', \mathcal{C}_1') \le \theta] > \epsilon λ 1 ∈ F Pr [ Δ (( 1 − λ 1 ) f 0 , 0 ′ + λ 1 f 0 , 1 ′ , C 1 ′ ) ≤ θ ] > ϵ [H24, Theorem 3] 就给出了关于线性子码的 correlated agreement 定理,其严格描述留在下一节中进行介绍。该定理结论给出,会存在来自 P n − 1 ′ \mathcal{P}_{n-1}' P n − 1 ′ 的多项式 p 0 , 0 ′ p_{0,0}' p 0 , 0 ′ 以及 p 0 , 1 ′ p_{0,1}' p 0 , 1 ′ ,以及 D ′ ⊆ D 1 D' \subseteq D_1 D ′ ⊆ D 1 ,满足
∣ D ′ ∣ / ∣ D 1 ∣ ≥ 1 − θ |D'|/|D_1| \ge 1 - \theta ∣ D ′ ∣/∣ D 1 ∣ ≥ 1 − θ ,f 0 , 0 ′ ∣ D ′ = p 0 , 0 ′ ∣ D ′ f_{0,0}'|_{D'} = p_{0,0}'|_{D'} f 0 , 0 ′ ∣ D ′ = p 0 , 0 ′ ∣ D ′ 以及 f 0 , 1 ′ ∣ D ′ = p 0 , 1 ′ ∣ D ′ f_{0,1}'|_{D'} = p_{0,1}'|_{D'} f 0 , 1 ′ ∣ D ′ = p 0 , 1 ′ ∣ D ′ 。这里 P n − 1 ′ \mathcal{P}_{n-1}' P n − 1 ′ 就包含了 sumcheck 的约束。根据 f 0 , 0 ′ f_{0,0}' f 0 , 0 ′ 和 f 0 , 1 ′ f_{0,1}' f 0 , 1 ′ 的定义可以得到
f 0 , 0 = f 0 , 0 ′ + Λ 0 ( 0 ) f 0 , 1 = f 0 , 1 ′ + Λ 0 ( 1 ) \begin{aligned}
f_{0,0} = f_{0,0}' + \Lambda_0(0) \\
f_{0,1} = f_{0,1}' + \Lambda_0(1)
\end{aligned} f 0 , 0 = f 0 , 0 ′ + Λ 0 ( 0 ) f 0 , 1 = f 0 , 1 ′ + Λ 0 ( 1 ) 由于 Λ 0 ( 0 ) \Lambda_0(0) Λ 0 ( 0 ) 与 Λ 0 ( 1 ) \Lambda_0(1) Λ 0 ( 1 ) 本质上都表示一个数,根据结论 2 ,就有
f 0 , 0 ( X ) ∣ D ′ = p 0 , 0 ′ ( X ) ∣ D ′ + Λ 0 ( 0 ) = ( p 0 , 0 ′ ( X ) + Λ 0 ( 0 ) ) ∣ D ′ f 0 , 1 ( X ) ∣ D ′ = p 0 , 1 ′ ( X ) ∣ D ′ + Λ 0 ( 1 ) = ( p 0 , 1 ′ ( X ) + Λ 0 ( 1 ) ) ∣ D ′ \begin{aligned}
f_{0,0}(X)|_{D'} = p_{0,0}'(X)|_{D'} + \Lambda_0(0) = (p_{0,0}'(X) + \Lambda_0(0))|_{D'} \\
f_{0,1}(X)|_{D'} = p_{0,1}'(X)|_{D'} + \Lambda_0(1) = (p_{0,1}'(X) + \Lambda_0(1))|_{D'} \\
\end{aligned} f 0 , 0 ( X ) ∣ D ′ = p 0 , 0 ′ ( X ) ∣ D ′ + Λ 0 ( 0 ) = ( p 0 , 0 ′ ( X ) + Λ 0 ( 0 )) ∣ D ′ f 0 , 1 ( X ) ∣ D ′ = p 0 , 1 ′ ( X ) ∣ D ′ + Λ 0 ( 1 ) = ( p 0 , 1 ′ ( X ) + Λ 0 ( 1 )) ∣ D ′ 令
p 0 , 0 ( X ) = p 0 , 0 ′ ( X ) + Λ 0 ( 0 ) p 0 , 1 ( X ) = p 0 , 1 ′ ( X ) + Λ 0 ( 1 ) \begin{aligned}
p_{0,0}(X) = p_{0,0}'(X) + \Lambda_0(0) \\
p_{0,1}(X) = p_{0,1}'(X) + \Lambda_0(1)
\end{aligned} p 0 , 0 ( X ) = p 0 , 0 ′ ( X ) + Λ 0 ( 0 ) p 0 , 1 ( X ) = p 0 , 1 ′ ( X ) + Λ 0 ( 1 ) 因此 f 0 , 0 ( X ) , f 0 , 1 ( X ) f_{0,0}(X), f_{0,1}(X) f 0 , 0 ( X ) , f 0 , 1 ( X ) 分别与 p 0 , 0 ( X ) , p 0 , 1 ( X ) p_{0,0}(X), p_{0,1}(X) p 0 , 0 ( X ) , p 0 , 1 ( X ) 在 D ′ D' D ′ 上是一致的。由 p 0 , 0 ( X ) , p 0 , 1 ( X ) p_{0,0}(X), p_{0,1}(X) p 0 , 0 ( X ) , p 0 , 1 ( X ) 可以分别得到它们对应的多元多项式 P 0 , P 1 ∈ F [ X 2 , … , X n ] P_0, P_1 \in F[X_2, \ldots, X_n] P 0 , P 1 ∈ F [ X 2 , … , X n ] 。而 p 0 , 0 ′ ( X ) , p 0 , 1 ′ ( X ) ∈ P n − 1 ′ p_{0,0}'(X), p_{0,1}'(X) \in \mathcal{P}_{n-1}' p 0 , 0 ′ ( X ) , p 0 , 1 ′ ( X ) ∈ P n − 1 ′ ,因此它们对应的多元线性多项式 P 0 , 0 ′ , P 0 , 1 ′ P_{0,0}', P_{0,1}' P 0 , 0 ′ , P 0 , 1 ′ 满足
⟨ L ( ⋅ , ω 2 , … , ω n ) , P 0 , 0 ′ ⟩ H n − 1 = 0 ⟨ L ( ⋅ , ω 2 , … , ω n ) , P 0 , 1 ′ ⟩ H n − 1 = 0 \begin{aligned}
\langle L(\cdot, \omega_2, \ldots, \omega_n), P_{0,0}' \rangle_{H_{n-1}} = 0 \\
\langle L(\cdot, \omega_2, \ldots, \omega_n), P_{0,1}' \rangle_{H_{n-1}} = 0 \\
\end{aligned} ⟨ L ( ⋅ , ω 2 , … , ω n ) , P 0 , 0 ′ ⟩ H n − 1 = 0 ⟨ L ( ⋅ , ω 2 , … , ω n ) , P 0 , 1 ′ ⟩ H n − 1 = 0 因此
⟨ L ( ⋅ , ω 2 , … , ω n ) , P 0 , 0 ′ + Λ 0 ( 0 ) − Λ 0 ( 0 ) ⟩ H n − 1 = 0 ⟨ L ( ⋅ , ω 2 , … , ω n ) , P 0 , 1 ′ + Λ 0 ( 1 ) − Λ 0 ( 1 ) ⟩ H n − 1 = 0 ⇒ ⟨ L ( ⋅ , ω 2 , … , ω n ) , P 0 − Λ 0 ( 0 ) ⟩ H n − 1 = 0 ⟨ L ( ⋅ , ω 2 , … , ω n ) , P 1 − Λ 0 ( 1 ) ⟩ H n − 1 = 0 ⇒ ⟨ L ( ⋅ , ω 2 , … , ω n ) , P 0 ⟩ H n − 1 = Λ 0 ( 0 ) ⟨ L ( ⋅ , ω 2 , … , ω n ) , P 1 ⟩ H n − 1 = Λ 0 ( 1 ) \begin{aligned}
& \langle L(\cdot, \omega_2, \ldots, \omega_n), P_{0,0}' + \Lambda_0(0) - \Lambda_0(0) \rangle_{H_{n-1}} = 0 \\
& \langle L(\cdot, \omega_2, \ldots, \omega_n), P_{0,1}' + \Lambda_0(1) - \Lambda_0(1) \rangle_{H_{n-1}} = 0 \\
\Rightarrow \qquad \\
& \langle L(\cdot, \omega_2, \ldots, \omega_n), P_0 - \Lambda_0(0) \rangle_{H_{n-1}} = 0 \\
& \langle L(\cdot, \omega_2, \ldots, \omega_n), P_1 - \Lambda_0(1) \rangle_{H_{n-1}} = 0 \\
\Rightarrow \qquad \\
& \langle L(\cdot, \omega_2, \ldots, \omega_n), P_0 \rangle_{H_{n-1}} = \Lambda_0(0) \\
& \langle L(\cdot, \omega_2, \ldots, \omega_n), P_1 \rangle_{H_{n-1}} = \Lambda_0(1)
\end{aligned} ⇒ ⇒ ⟨ L ( ⋅ , ω 2 , … , ω n ) , P 0 , 0 ′ + Λ 0 ( 0 ) − Λ 0 ( 0 ) ⟩ H n − 1 = 0 ⟨ L ( ⋅ , ω 2 , … , ω n ) , P 0 , 1 ′ + Λ 0 ( 1 ) − Λ 0 ( 1 ) ⟩ H n − 1 = 0 ⟨ L ( ⋅ , ω 2 , … , ω n ) , P 0 − Λ 0 ( 0 ) ⟩ H n − 1 = 0 ⟨ L ( ⋅ , ω 2 , … , ω n ) , P 1 − Λ 0 ( 1 ) ⟩ H n − 1 = 0 ⟨ L ( ⋅ , ω 2 , … , ω n ) , P 0 ⟩ H n − 1 = Λ 0 ( 0 ) ⟨ L ( ⋅ , ω 2 , … , ω n ) , P 1 ⟩ H n − 1 = Λ 0 ( 1 ) 在上式两边分别同时乘以 L ( 0 , ω 1 ) , L ( 1 , ω 1 ) L(0, \omega_1), L(1, \omega_1) L ( 0 , ω 1 ) , L ( 1 , ω 1 ) ,由 q 0 ( X ) = L ( X , ω 1 ) ⋅ Λ 0 ( X ) q_0(X) = L(X, \omega_1) \cdot \Lambda_0(X) q 0 ( X ) = L ( X , ω 1 ) ⋅ Λ 0 ( X ) 可得
⟨ L ( ( 0 , ⋅ ) , ω ⃗ ) , P 0 ⟩ H n − 1 = q 0 ( 0 ) ⟨ L ( ( 1 , ⋅ ) , ω ⃗ ) , P 1 ⟩ H n − 1 = q 0 ( 1 ) \begin{aligned}
\langle L((0, \cdot), \vec{\omega}), P_{0} \rangle_{H_{n-1}} = q_0(0)\\
\langle L((1, \cdot), \vec{\omega}), P_{1} \rangle_{H_{n-1}} = q_0(1)
\end{aligned} ⟨ L (( 0 , ⋅ ) , ω ) , P 0 ⟩ H n − 1 = q 0 ( 0 ) ⟨ L (( 1 , ⋅ ) , ω ) , P 1 ⟩ H n − 1 = q 0 ( 1 ) 至此也就说明了式 ( 2 ) (2) ( 2 ) 与式 ( 3 ) (3) ( 3 ) 成立,也就能推出 p 0 ( X ) p_0(X) p 0 ( X ) 对应的 P ( X ) P(X) P ( X ) 是满足 sumcheck 约束的。
综上,在 commit 阶段的 soundness error 可以按上述思路分析,具体概率由 correlated agreement 给出。[H24, Theorem 1] 给出 commit 阶段的 soundness error 为
batching 阶段:ε C 1 = ε ( C 0 , M , 1 , θ ) \varepsilon_{C_1} = \varepsilon(\mathcal{C}_0, M, 1, \theta) ε C 1 = ε ( C 0 , M , 1 , θ ) 。 sumcheck 与类似 FRI 折叠阶段:ε C 2 = ∑ i = 1 n ( 1 ∣ F ∣ + ε ( C i , 1 , B i , θ ) ) \varepsilon_{C_2} = \sum_{i = 1}^n \left(\frac{1}{|F|} + \varepsilon(\mathcal{C}_i, 1, B_i, \theta) \right) ε C 2 = ∑ i = 1 n ( ∣ F ∣ 1 + ε ( C i , 1 , B i , θ ) ) ,其中 1 ∣ F ∣ \frac{1}{|F|} ∣ F ∣ 1 就是在化简 sumcheck 约束时要使得 L ( X , ω i ) = 0 L(X, \omega_i) = 0 L ( X , ω i ) = 0 额外引入的。 上述 ε ( C i , M i , B i , θ ) \varepsilon(\mathcal{C}_i, M_i, B_i, \theta) ε ( C i , M i , B i , θ ) 是由 [H24, Theorem 4] 带权重的 weighted correlated agreement 定理给出的。
Query 阶段 ¶ 对于一个作恶的 Prover P ∗ P^* P ∗ ,现在排除在 Commit 阶段出现能侥幸通过 Verifier 检查的情况,经过一次折叠,f λ 1 f_{\lambda_1} f λ 1 会出现离 C 1 \mathcal{C}_1 C 1 有 θ 远,或者 sumcheck 约束不正确。
对于 Δ ( f 0 , C 0 ) > θ \Delta(f_0, \mathcal{C}_0) > \theta Δ ( f 0 , C 0 ) > θ ,由于 Verifier 会在 D 0 D_0 D 0 中随机选取一个 x 0 x_0 x 0 来检查折叠是否正确,因此如果查询到那些 f λ 1 f_{\lambda_1} f λ 1 和 p λ 1 p_{\lambda_1} p λ 1 在 D 1 D_1 D 1 上一致的那些点,则会检查通过。这个比例不超过 1 − θ 1 - \theta 1 − θ ,如果重复查询 s s s 次,那么 P ∗ P^* P ∗ 侥幸通过检查的概率不超过 ( 1 − θ ) s (1 - \theta)^s ( 1 − θ ) s 。
对于 sumcheck 约束不正确的情况,verifier 会用 sumcheck 协议来检查约束是否正确,这里 P ∗ P^* P ∗ 不可能作弊成功,一定能被检查出来。
综上,在 query 阶段 soundness error 为 ε q u e r y = ( 1 − θ ) s \varepsilon_{\mathrm{query}} = (1 - \theta)^s ε query = ( 1 − θ ) s 。
因此,就得到了 [H24, Theorem 1] 给出的整个协议的 soundness error
ε < ε C 1 + ε C 2 + ε q u e r y = ε ( C 0 , M , 1 , θ ) + ∑ i = 1 n ( 1 ∣ F ∣ + ε ( C i , 1 , B i , θ ) ) + ( 1 − θ ) s \begin{aligned}
\varepsilon & < \varepsilon_{C_1} + \varepsilon_{C_2} + \varepsilon_{\mathrm{query}} \\
& = \varepsilon(\mathcal{C}_0, M, 1, \theta) + \sum_{i = 1}^n \left(\frac{1}{|F|} + \varepsilon(\mathcal{C}_i, 1, B_i, \theta) \right) + (1 - \theta)^s
\end{aligned} ε < ε C 1 + ε C 2 + ε query = ε ( C 0 , M , 1 , θ ) + i = 1 ∑ n ( ∣ F ∣ 1 + ε ( C i , 1 , B i , θ ) ) + ( 1 − θ ) s 🐞 typo
我认为 [H24, Theorem 1] 条件中给出的 θ = ( 1 + 1 2 m ) ⋅ ρ \theta = (1 + \frac{1}{2m}) \cdot \sqrt{\rho} θ = ( 1 + 2 m 1 ) ⋅ ρ 有误,根据后文的 [H24, Theorem 4] 给出的条件,应该改为 θ = 1 − ( 1 + 1 2 m ) ⋅ ρ \theta = 1 - (1 + \frac{1}{2m}) \cdot \sqrt{\rho} θ = 1 − ( 1 + 2 m 1 ) ⋅ ρ 。
本小节介绍 [BCIKS20] 给出的 correlated agreement 定理,以及 [H24] 在此基础上给出的针对 subcodes 的 correlated agreement 定理。
首先是 [BCIKS20] 给出的 correlated agreement 定理,分为 unique decoding 界和在 list decoding 下达到 Johnson 界两个定理,符号上做了一些变化。令 F F F 表示一个有限域,C = R S k [ F , D ] \mathcal{C} = RS_k[F, D] C = R S k [ F , D ] 表示在 F F F 上的 Reed-Solomon code,其 evaluation domain 为 D D D ,码率为 ρ = k / ∣ D ∣ \rho = k /|D| ρ = k /∣ D ∣ 。
Theorem 3 [BCIKS20, Theorem 6.1] 假设 θ ≤ 1 − ρ 2 \theta \leq \frac{1 - \rho}{2} θ ≤ 2 1 − ρ . 令 f 0 , f 1 , … , f M ∈ F D f_0, f_1, \ldots, f_M \in F^D f 0 , f 1 , … , f M ∈ F D 表示 D → F D \to F D → F 的函数。若
∣ { z ∈ F : Δ ( f 0 + z ⋅ f 1 + … + z M ⋅ f M , C ) ≤ θ } ∣ ∣ F ∣ > ε \frac{|\{ z \in F : \Delta(f_0 + z \cdot f_1 + \ldots + z^M \cdot f_M, \mathcal{C}) \le \theta \}|}{|F|} > \varepsilon ∣ F ∣ ∣ { z ∈ F : Δ ( f 0 + z ⋅ f 1 + … + z M ⋅ f M , C ) ≤ θ } ∣ > ε 其中
ε = M ⋅ ∣ D ∣ ∣ F ∣ \varepsilon = M \cdot \frac{|D|}{|F|} ε = M ⋅ ∣ F ∣ ∣ D ∣ 那么对于任意的 z ∈ F z \in F z ∈ F ,有
Δ ( f 0 + z ⋅ f 1 + … + z M ⋅ f M , C ) ≤ θ , \Delta(f_0 + z \cdot f_1 + \ldots + z^M \cdot f_M, \mathcal{C}) \leq \theta, Δ ( f 0 + z ⋅ f 1 + … + z M ⋅ f M , C ) ≤ θ , 另外,存在 p 0 , … , p M ∈ C p_0, \ldots, p_M \in \mathcal{C} p 0 , … , p M ∈ C 使得对所有的 z ∈ F z \in F z ∈ F ,有
Δ ( u 0 + z u 1 + ⋯ + z l u l , v 0 + z v 1 + ⋯ + z l v l ) ≤ θ \Delta(u_0 + zu_1 + \cdots + z_l u_l, v_0 + zv_1 + \cdots + z_l v_l) \leq \theta Δ ( u 0 + z u 1 + ⋯ + z l u l , v 0 + z v 1 + ⋯ + z l v l ) ≤ θ 事实上,
∣ { x ∈ D : ( u 0 ( x ) , … , u l ( x ) ) ≠ ( v 0 ( x ) , … , v l ( x ) ) } ∣ ≤ θ ∣ D ∣ . | \{ x \in D : (u_0(x), \ldots, u_l(x)) \neq (v_0(x), \ldots, v_l(x)) \} | \leq \theta |D|. ∣ { x ∈ D : ( u 0 ( x ) , … , u l ( x )) = ( v 0 ( x ) , … , v l ( x ))} ∣ ≤ θ ∣ D ∣. Theorem 4 [BCIKS20, Theorem 6.2] 令 f 0 , f 1 , … , f M ∈ F D f_0, f_1, \ldots, f_M \in F^D f 0 , f 1 , … , f M ∈ F D 表示 D → F D \to F D → F 的函数。设 m ≥ 3 m \ge 3 m ≥ 3 ,定义 θ 0 ( ρ , m ) : = 1 − ρ ⋅ ( 1 + 1 2 m ) \theta_0(\rho, m) := 1 - \sqrt{\rho} \cdot (1 + \frac{1}{2m}) θ 0 ( ρ , m ) := 1 − ρ ⋅ ( 1 + 2 m 1 ) ,令 θ ≤ θ 0 ( ρ , m ) \theta \le \theta_0(\rho, m) θ ≤ θ 0 ( ρ , m ) ,若
∣ { z ∈ F : Δ ( f 0 + z ⋅ f 1 + … + z M ⋅ f M , C ) ≤ θ } ∣ ∣ F ∣ > ε \frac{|\{ z \in F : \Delta(f_0 + z \cdot f_1 + \ldots + z^M \cdot f_M, \mathcal{C}) \le \theta \}|}{|F|} > \varepsilon ∣ F ∣ ∣ { z ∈ F : Δ ( f 0 + z ⋅ f 1 + … + z M ⋅ f M , C ) ≤ θ } ∣ > ε 其中
ε = M ⋅ ( m + 1 2 ) 7 3 ⋅ ρ 3 / 2 ⋅ ∣ D ∣ 2 ∣ F ∣ \varepsilon = M \cdot \frac{(m+\frac{1}{2})^7}{3 \cdot \rho^{3/2}} \cdot \frac{|D|^2}{|F|} ε = M ⋅ 3 ⋅ ρ 3/2 ( m + 2 1 ) 7 ⋅ ∣ F ∣ ∣ D ∣ 2 那么 f 0 , f 1 , … , f M f_0, f_1, \ldots, f_M f 0 , f 1 , … , f M 同时都距离 C 0 \mathcal{C}_0 C 0 有 θ 近,即存在 p 0 , … , p M ∈ C p_0, \ldots, p_M \in \mathcal{C} p 0 , … , p M ∈ C 使得
∣ { x ∈ D : ∀ 0 ≤ i ≤ M , f i ( x ) = p i ( x ) } ∣ ≥ ( 1 − θ ) ∣ D ∣ . | \{ x \in D : \forall 0 \leq i \leq M, f_i(x) = p_i(x) \} | \geq (1 - \theta) |D|. ∣ { x ∈ D : ∀0 ≤ i ≤ M , f i ( x ) = p i ( x )} ∣ ≥ ( 1 − θ ) ∣ D ∣. Theorem 3 和 Theorem 4 分别给出了 unique decoding 和 list decoding 下的 correlated agreement 定理,虽然表述形式和上一节中给出的有所区别,但表达的含义是一样的,这里就给出了具体的 ε \varepsilon ε 表达式。
在论文 [H24] 中,通过分析 [BCIKS20] 中 correlated agreement 定理证明中的 Guruswami-Sudan list decoder,得到了在 list decoding 下针对 subcode 的 correlated agreement 定理。
Theorem 5 [H24, Theorem 3] (Correlated Agreement for Subcodes) 令 F F F 表示一个任意特征(characteristic)的有限域,C = R S k [ F , D ] \mathcal{C} = RS_k[F, D] C = R S k [ F , D ] 表示在 F F F 上的 Reed-Solomon code,其 evaluation domain 为 D D D ,码率为 ρ = k / ∣ D ∣ \rho = k /|D| ρ = k /∣ D ∣ 。令 C ′ \mathcal{C}' C ′ 为 C \mathcal{C} C 的一个线性子码(linear subcode),由一个来自于 F [ X ] < k F[X]^{<k} F [ X ] < k 的多项式的子空间 P ′ \mathcal{P}' P ′ 生成。给定一个 proximity 参数 θ = 1 − ρ ⋅ ( 1 + 1 2 m ) \theta = 1 - \sqrt{\rho} \cdot \left(1 + \frac{1}{2m}\right) θ = 1 − ρ ⋅ ( 1 + 2 m 1 ) ,其中 m ≥ 3 m \geq 3 m ≥ 3 ,且 f 0 , f 1 , … , f M ∈ F D f_0, f_1, \ldots, f_M \in F^D f 0 , f 1 , … , f M ∈ F D 满足
∣ { z ∈ F : Δ ( f 0 + z ⋅ f 1 + … + z M ⋅ f M , C ′ ) < θ } ∣ ∣ F ∣ > ε , \frac{|\{ z \in F : \Delta(f_0 + z \cdot f_1 + \ldots + z^M \cdot f_M, \mathcal{C}') < \theta \}|}{|F|} > \varepsilon, ∣ F ∣ ∣ { z ∈ F : Δ ( f 0 + z ⋅ f 1 + … + z M ⋅ f M , C ′ ) < θ } ∣ > ε , 其中
ε = M ⋅ ( m + 1 2 ) 7 3 ⋅ ρ 3 / 2 ⋅ ∣ D ∣ 2 ∣ F ∣ , \varepsilon = M \cdot \frac{(m+\frac{1}{2})^7}{3 \cdot \rho^{3/2}} \cdot \frac{|D|^2}{|F|} , ε = M ⋅ 3 ⋅ ρ 3/2 ( m + 2 1 ) 7 ⋅ ∣ F ∣ ∣ D ∣ 2 , 则存在多项式 p 0 , p 1 , … , p M ∈ P ′ p_0, p_1, \ldots, p_M \in \mathcal{P}' p 0 , p 1 , … , p M ∈ P ′ ,以及一个集合 D ′ ⊆ D D' \subseteq D D ′ ⊆ D ,满足
∣ D ′ ∣ / ∣ D ∣ ≥ 1 − θ |D'|/|D| \ge 1 - \theta ∣ D ′ ∣/∣ D ∣ ≥ 1 − θ f 0 , f 1 , … , f M f_0, f_1, \ldots, f_M f 0 , f 1 , … , f M 与 p 0 , p 1 , … , p M p_0, p_1, \ldots, p_M p 0 , p 1 , … , p M 分别在 D ′ D' D ′ 上是一致的。对比 Theorem 5 和 Theorem 4,从 ε \varepsilon ε 的表达式来说,它们的形式可以说是一致的,不同的是 Theorem 5 是在 Reed-Solomon 编码空间的一个线性子码中考虑的。这里自然推测对于 unique decoding ,针对 subcode 也有类似 Theorem 4 的结果。
Conjecture 6 令 F F F 表示一个任意特征(characteristic)的有限域,C = R S k [ F , D ] \mathcal{C} = RS_k[F, D] C = R S k [ F , D ] 表示在 F F F 上的 Reed-Solomon code,其 evaluation domain 为 D D D ,码率为 ρ = k / ∣ D ∣ \rho = k /|D| ρ = k /∣ D ∣ 。令 C ′ \mathcal{C}' C ′ 为 C \mathcal{C} C 的一个线性子码(linear sucode),由一个来自于 F [ X ] < k F[X]^{<k} F [ X ] < k 的多项式的子空间 P ′ \mathcal{P}' P ′ 生成。设 θ ≤ 1 − ρ 2 \theta \le \frac{1 - \rho}{2} θ ≤ 2 1 − ρ ,且 f 0 , f 1 , … , f M ∈ F D f_0, f_1, \ldots, f_M \in F^D f 0 , f 1 , … , f M ∈ F D 满足
∣ { z ∈ F : Δ ( f 0 + z ⋅ f 1 + … + z M ⋅ f M , C ′ ) < θ } ∣ ∣ F ∣ > ε , \frac{|\{ z \in F : \Delta(f_0 + z \cdot f_1 + \ldots + z^M \cdot f_M, \mathcal{C}') < \theta \}|}{|F|} > \varepsilon, ∣ F ∣ ∣ { z ∈ F : Δ ( f 0 + z ⋅ f 1 + … + z M ⋅ f M , C ′ ) < θ } ∣ > ε , 其中
ε = M ⋅ ∣ D ∣ ∣ F ∣ \varepsilon = M \cdot \frac{|D|}{|F|} ε = M ⋅ ∣ F ∣ ∣ D ∣ 则存在多项式 p 0 , p 1 , … , p M ∈ P ′ p_0, p_1, \ldots, p_M \in \mathcal{P}' p 0 , p 1 , … , p M ∈ P ′ ,以及一个集合 D ′ ⊆ D D' \subseteq D D ′ ⊆ D ,满足
∣ D ′ ∣ / ∣ D ∣ ≥ 1 − θ |D'|/|D| \ge 1 - \theta ∣ D ′ ∣/∣ D ∣ ≥ 1 − θ f 0 , f 1 , … , f M f_0, f_1, \ldots, f_M f 0 , f 1 , … , f M 与 p 0 , p 1 , … , p M p_0, p_1, \ldots, p_M p 0 , p 1 , … , p M 分别在 D ′ D' D ′ 上是一致的。类似在 [BCIKS20] 中对 batch FRI 协议的 soundness 证明,其用到的是 weighted 版本的 correlated agreement 定理,对于 batch Basefold 协议,在 [H24] 中也给出了 weighted correlated agreement 定理。根据 [H24] 中的描述,首先说明下 weighted 的含义,在 D D D 上给定一个子概率测度 μ 以及 f ∈ F D f \in F^D f ∈ F D ,记
a g r e e μ ( f , C ′ ) ≥ 1 − θ \mathrm{agree}_{\mu}(f, \mathcal{C}') \ge 1 - \theta agree μ ( f , C ′ ) ≥ 1 − θ 含义是存在在 P ′ \mathcal{P}' P ′ 中的一个多项式 p ( X ) p(X) p ( X ) ,使得 μ ( { x ∈ D : f ( x ) = p ( x ) } ) ≥ 1 − θ \mu(\{x \in D: f(x) = p(x)\}) \ge 1 - \theta μ ({ x ∈ D : f ( x ) = p ( x )}) ≥ 1 − θ 。意思是用测度 μ 去计算那些在集合 D D D 中满足 f ( x ) = p ( x ) f(x) = p(x) f ( x ) = p ( x ) 的 x x x 组成的集合。为了完整性,下面直接列出 [H24] 中给出的在 list decoding 下的 weighted correlated agreement 定理。
Theorem 7 [H24, Theorem 4] (Weighted Correlated Agreement for Subcodes) Let C ′ C' C ′ be a linear subcode of R S k [ F , D ] RS_k[F,D] R S k [ F , D ] , and choose θ = 1 − ρ ⋅ ( 1 + 1 2 m ) \theta=1-\sqrt{\rho}\cdot\left(1+\frac{1}{2m}\right) θ = 1 − ρ ⋅ ( 1 + 2 m 1 ) , for some integer m ≥ 3 m\geq3 m ≥ 3 , where ρ = k / ∣ D ∣ \rho=k/|D| ρ = k /∣ D ∣ . Assume a density function δ : D → [ 0 , 1 ] ∩ Q \delta:D\to[0,1]\cap\mathbb{Q} δ : D → [ 0 , 1 ] ∩ Q with common denominator B ≥ 1 B\geq1 B ≥ 1 , i.e. for all x x x in D D D ,
δ ( x ) = m x B , \delta(x)=\frac{m_x}{B}, δ ( x ) = B m x , for an integer value m x ∈ [ 0 , B ] m_x\in[0,B] m x ∈ [ 0 , B ] , and let μ be the sub-probability measure with density δ, defined by μ ( { x } ) = δ ( x ) / ∣ D ∣ \mu(\{x\})=\delta(x)/ |D| μ ({ x }) = δ ( x ) /∣ D ∣ . If for f 0 , f 1 , … , f M ∈ F D f_0,f_1,\ldots,f_M\in F^D f 0 , f 1 , … , f M ∈ F D ,
{ z ∈ F : agree μ ( f 0 + z ⋅ f 1 + … + z M ⋅ f M , C ′ ) ≥ 1 − θ } ∣ F ∣ > ε ( C , M , B , θ ) \frac{\{z\in F:\text{agree}_\mu(f_0+z\cdot f_1+\ldots+z^M\cdot f_M,\mathcal{C}')\ge 1-\theta\}}{|F|} > \varepsilon(\mathcal{C},M,B,\theta) ∣ F ∣ { z ∈ F : agree μ ( f 0 + z ⋅ f 1 + … + z M ⋅ f M , C ′ ) ≥ 1 − θ } > ε ( C , M , B , θ ) where
ε ( C , M , B , θ ) = M ∣ F ∣ ⋅ ( m + 1 2 ) ρ ⋅ max ( ( m + 1 2 ) 6 3 ⋅ ρ ⋅ ∣ D ∣ 2 , 2 ⋅ ( B ⋅ ∣ D ∣ + 1 ) ) , \varepsilon(\mathcal{C},M,B,\theta)=\frac{M}{|F|} \cdot\frac{(m + \frac{1}{2})}{\sqrt{\rho}}\cdot\max\left(\frac{(m + \frac{1}{2})^6}{3\cdot\rho}\cdot|D|^2, 2\cdot(B\cdot|D|+1)\right), ε ( C , M , B , θ ) = ∣ F ∣ M ⋅ ρ ( m + 2 1 ) ⋅ max ( 3 ⋅ ρ ( m + 2 1 ) 6 ⋅ ∣ D ∣ 2 , 2 ⋅ ( B ⋅ ∣ D ∣ + 1 ) ) , then there exist polynomials p 0 ( X ) , p 1 ( X ) , … , p M ( X ) p_0(X),p_1(X),\ldots,p_M(X) p 0 ( X ) , p 1 ( X ) , … , p M ( X ) belonging to the subcode C ′ \mathcal{C}' C ′ , and a set A A A with μ ( A ) ≥ 1 − θ \mu(A)\ge 1-\theta μ ( A ) ≥ 1 − θ on which f 0 , f 1 , … , f M f_0,f_1,\ldots,f_M f 0 , f 1 , … , f M coincide with p 0 ( X ) , p 1 ( X ) , … , p M ( X ) p_0(X),p_1(X),\ldots,p_M(X) p 0 ( X ) , p 1 ( X ) , … , p M ( X ) , respectively.
weighted correlated agreement 定理的好处是,在协议 soundness 证明的过程中,μ 是可以自己定义的,提高了灵活性。关于 Basefold 协议的 soundness 证明细节在下一篇文章中介绍。
References ¶ [H24] Ulrich Haböck. “Basefold in the List Decoding Regime.” Cryptology ePrint Archive (2024). [ZCF23] Hadas Zeilberger, Binyi Chen, and Ben Fisch. “BaseFold: efficient field-agnostic polynomial commitment schemes from foldable codes.” Annual International Cryptology Conference. Cham: Springer Nature Switzerland, 2024. [BCIKS20] Eli Ben-Sasson, Dan Carmon, Yuval Ishai, Swastik Kopparty, and Shubhangi Saraf. Proximity Gaps for Reed–Solomon Codes. In Proceedings of the 61st Annual IEEE Symposium on Foundations of Computer Science , pages 900–909, 2020. [ACFY24] Gal Arnon, Alessandro Chiesa, Giacomo Fenzi, and Eylon Yogev. "WHIR: Reed–Solomon Proximity Testing with Super-Fast Verification."Cryptology ePrint Archive (2024).