Notes on Binius (Part II): Subspace Polynomial

FRI-Binus 论文 [DP24] 中讨论了基于 Subspace Polynomial 的 Additive FFT 算法,并给出了用奇偶项分解的视角来理解 [LCH14] 中的基于 Novel Polynomial Basis 的 Additive FFT 算法。本文直接介绍子空间多项式 Subspace Polynomial,然后据此介绍奇偶项分解视角的 Additive FFT 算法。本文省去了 Normalized Subspace Polynomial 的定义,方便读者理解。Normalization 只是影响 FFT 算法的性能,和本文介绍的简化版算法并没有本质的区别。

Notes on FRI-Binius (Part I): Binary Towers

二进制域拥有优美的内部结构,而 Binius 是意图充分利用这些内部结构,构造高效的 SNARK 证明系统。本文主要讨论 Binius 底层所依赖的 Binary Fields 以及 基于 Binary Fields 的 Extension Tower 的构造方法。Binary Fields 提供了更小的 Fields,并且兼容传统密码学中的各种工具构造,同时也可以充分利用硬件上的特殊指令的优化。选用 Extension Tower 优点主要有两个,一个是递归的 Extension 构造提供了一致的、增量式的 Basis 选择,从而使得 Small Field 可以以非常自然的方式嵌入到一个 Large Field 中,另一个优点是乘法和求逆运算存在高效的递归算法。

从零开始学习 zk-SNARK(五)——Pinocchio 协议


作为本系列的最后一篇文章,本文继续对 zk-SNARK 协议进行完善,最终形成一个完整的 zk-SNARK 协议。

从零开始学习 zk-SNARK(四)——多项式的约束


上一篇文章中我们学习了如何将程序转换为多项式进行证明。到这里似乎已经有点晕了,本文将对协议执行进一步的约束,并对协议展开优化。

从零开始学习 zk-SNARK(三)——从程序到多项式的构造


前文主要介绍了如何构造多项式的零知识证明协议,现在将开始探讨如何构造更通用的协议。本节主要是讲如何将一组计算的证明转换为多项式进行证明。本文重点主要包括:多项式的算术性质,多项式插值等。