zkSNARK-密码学基础
本节主要整合前几节学习的知识
简洁非交互式的多项式知识论证
英文:Succinct Non-Interactive Argument of Knowledge of Polynomial (zk-SNARKOP)
现在我们整理一下最终的zk-SNARKOP协议,为了简单起见,我们将使用花括号来表示由旁边的下标填充的一组元素,例如: ( s i ) i ∈ [ d ] {(s^i)}_{i \in [d]} (si)i∈[d]表示一个数组 s 1 , s 2 , . . . , s d s^1,s^2,...,s^d s1,s2,...,sd。使用目标多项式 t ( x ) t(x) t(x)和证明者 d d d次多项式:
- 初始化:
- 抽取随机值 s , α s,\alpha s,α
- 加密计算 g α g^{\alpha} gα和 { g s i } i ∈ [ d ] \{g^{s^i}\}_{i \in [d]} { gsi}i∈[d], { g α s i } i ∈ [ 0 , . . . , d ] \{g^{\alpha s^i}\}_{i \in [0,...,d]} { gαs