零知识证明之书

价    格: 50 学分
文章篇数: 29 篇
更新时间: 1秒前
等 7 人参与

Rareskills 出品的零知识证明之书, 对程序员最友好的零知识证明教程

这里有关于从头开始实际编写实用的零知识证明器和验证器(ZK-SNARK)所需知道的内容。

对事物的概念性理解和具体理解是不同的。大多数相当聪明的人在阅读教程后会对某些东西有一个概念性的理解,但他们离用这些知识做一些有用的事情还有很长的路要走。

对于数学家来说,具体的理解发生在他们写证明的时候。对于程序员来说,具体的理解发生在他们编写功能代码的时候。

《零知识证明之书》主要面向寻求具体理解的程序员。我们的书中充满了代码片段,并演示了实际加密库的使用。我们使用数学符号,但是我们以这样一种方式来编写,将其转换为源代码只是一个小小的飞跃。

Groth16是tornado cash(和许多其他公司)用于实现链上零知识证明的算法。我们相信这是学习之旅的最佳起点,我们的书是完全理解算法的最直接途径。

第一模块 零知识证明的基础数学

1.P vs NP 及其在零知识证明中的应用

2. ZK的算术电路

3 . 用于零知识证明的有限域与模运算

4. 为程序员准备的基础集合论

5. 抽象代数

6. 程序员的基本群论

7. 同态映射

8. 椭圆曲线点加法

9. 有限域上的椭圆曲线

ZK-SNARKS 第 1 部分 (Groth16)

10. Python、Solidity 和 EVM 中的双线性配对(Bilinear Pairings)

11. 将代数电路转换为R1CS(一阶约束系统)

12. 从R1CS构建零知识证明

13. 使用Python实现拉格朗日插值

14. Schwartz-Zippel 引理及其在零知识证明中的应用

15. 二次算术程序 QAP

16. 在Python中将R1CS转换为有限域上的二次算术程序 QAP

17. 可信设置

18. 在可信设置中评估和二次算术程序

19. Groth16 详解

Bulletproofs:用于内积论证的 ZKP

20. BulletProofs 详解

21. 什么是Pedersen承诺及其工作原理

22. 多项式承诺通过 Pedersen 承诺实现

23. 零知识乘法

24. 内积的零知识证明

25. 向量承诺的简洁证明

26. 对数大小的承诺证明

27. 内积代数

28. 通过随机线性组合减少等式检查(约束)的数量

29. 范围证明

RareSkills
RareSkills
https://www.rareskills.io/

该作者的其他专栏