本文深入探讨了zk-SNARKs技术中的二次算术程序(QAP),详细解释了如何将代码转换为QAP并生成零知识证明。文章通过一个简单的三次方程示例,逐步展示了从代码扁平化到R1CS再到QAP的转换过程,并介绍了如何在多项式上进行约束检查。
本文介绍了多项式的基本概念,包括定义、例子、图形表示以及如何通过样本点定义多项式。文章还讨论了多项式的因式分解形式以及根的概念,并通过多个例子进行了说明。
本文适合有一定的数学基础的人进行阅读,有很多基础概念不会在本文中详细介绍,如多项式的次数、系数、项、一元多项式、多元多项式等特别基础的概念。本文主要讨论一元多项式。多项式有不少核心性质,如运算封闭性、因式分解、插值与近似、求导与积分等。本文主要关注其在密码学中的性质以及应用。接下来直接上干货。