文章
视频
课程
百科图谱
集训营
更多
问答
提问
发表文章
专栏
活动
文档
工作
集市
发现
Toggle navigation
文章
问答
视频
课程
集训营
专栏
活动
工作
文档
集市
搜索
登录/注册
零知识证明之书
2025年02月27日更新
28 人订阅
原价:
¥ 144
限时优惠
24 元订阅
专栏简介
P vs NP 及其在零知识证明中的应用
ZK的算术电路
用于零知识证明的有限域与模运算
为程序员准备的基础集合论
抽象代数
程序员的基本群论
同态映射
椭圆曲线点加法
有限域上的椭圆曲线
Python、Solidity 和 EVM 中的双线性配对(Bilinear Pairings)
将代数电路转换为R1CS(一阶约束系统)
从R1CS构建零知识证明
使用Python实现拉格朗日插值
Schwartz-Zippel 引理及其在零知识证明中的应用
二次算术程序
在Python中将R1CS转换为有限域上的二次算术程序(QAP)
可信设置
在可信设置中评估和二次算术程序
Groth16 详解
Circom 零知识电路简介
Circom 之 Hello World
Circom模板参数、变量、循环、If语句、断言
二次约束 - Circom
Circom中的符号变量
Circom 中间信号与子组件
先指示再约束 - 在 Circom 中复杂约束条件的方法
先计算,后约束 - ZK 电路设计模式
Circom循环中的组件
使用虚假证明攻击欠约束的Circom电路
Circomlib中的AliasCheck和Num2Bits strict
Circom 中的条件语句
Quin Selector(选择器)
ZK 中有状态计算简介
在Circom中交换数组中的两个条目
选择排序的零知识证明
在 ZK 中建模栈数据结构 - 如何在 Circom 中创建一个堆栈
ZKVM 的工作原理
ZK中的32位仿真
Circom 中的 MD5 哈希
零知识证明友好的哈希函数
排列论证 - The Permutation Argument
Tornado Cash 的工作原理(开发者逐行解析)
BulletProofs 详解
什么是Pedersen承诺及其工作原理
多项式承诺通过 Pedersen 承诺实现
零知识乘法
内积的零知识证明
向量承诺的简洁证明
对数大小的承诺证明
Bulletproofs零知识证明:内积的零知识与简洁证明
内积代数
通过随机线性组合减少等式检查(约束)的数量
范围证明
作者:
RareSkills
关注
https://www.rareskills.io/
Rareskills 出品的零知识证明之书, 对程序员最友好的零知识证明教程 这里有关于从头开始实际编写实用的零知识证明器和验证器(ZK-SNARK)所需知道的内容。 对事物的概念性理解和具体理解是不同的。大多数相当聪明的人在阅读教程后会对某些东西有一个概念性的理解,但他们离用这些知识做一些有用的事情还有很长的路要走。 对于数学家来说,具体的理解发生在他们写证明的时候。对于程序员来说,具体的理解发生在他们编写功能代码的时候。 《零知识证明之书》主要面向寻求具体理解的程序员。我们的书中充满了代码片段,并演示了实际加密库的使用。我们使用数学符号,但是我们以这样一种方式来编写,将其转换为源代码只是一个小小的飞跃。 Groth16是tornado cash(和许多其他公司)用于实现链上零知识证明的算法。我们相信这是学习之旅的最佳起点,我们的书是完全理解算法的最直接途径。 我们的 ZK Book 的Circom 和 Constraint 设计模式将带您踏上从乘法到数字相加的旅程: - 从头开始构建 ZKVM - MD5 哈希函数的编码约束 - 学习约束设计中反复出现的设计模式 ### 模块一 零知识证明的基础数学 1 : P vs NP 及其在零知识证明中的应用 2 : ZK的算术电路 3 : 用于零知识证明的有限域与模运算 4 : 为程序员准备的基础集合论 5 : 抽象代数 6 : 程序员的基本群论 7 : 同态映射 8 : 椭圆曲线点加法 9 : 有限域上的椭圆曲线 ### 模块二 ZK-SNARKS Part 1 (Groth16) 10 : Python、Solidity 和 EVM 中的双线性配对(Bilinear Pairings) 11 : 将代数电路转换为R1CS(一阶约束系统) 12 : 从R1CS构建零知识证明 13 : 使用Python实现拉格朗日插值 14 : Schwartz-Zippel 引理及其在零知识证明中的应用 15 : 二次算术程序 16 : 在Python中将R1CS转换为有限域上的二次算术程序(QAP) 17 : 可信设置 18 : 在可信设置中评估和二次算术程序 19 : Groth16 详解 ### 模块三 Circom 和 Constraint 设计模式 20 : Circom 零知识电路简介 21 : Circom 之 Hello World 22 : Circom模板参数、变量、循环、If语句、断言 23 : 二次约束 - Circom 24 : Circom中的符号变量 25 : Circom 中间信号与子组件 26 : 先指示再约束 - 在 Circom 中复杂约束条件的方法 27 : 先计算,后约束 - ZK 电路设计模式 28 : Circom循环中的组件 29 : 使用虚假证明攻击欠约束的Circom电路 30 : Circomlib中的AliasCheck和Num2Bits strict 31 : Circom 中的条件语句 32 : Quin Selector(选择器) 33 : ZK 中有状态计算简介 34 : 在Circom中交换数组中的两个条目 35 : 选择排序的零知识证明 36 : 在 ZK 中建模栈数据结构 - 如何在 Circom 中创建一个堆栈 37 : ZKVM 的工作原理 38 : ZK中的32位仿真 39 : Circom 中的 MD5 哈希 40 : 零知识证明友好的哈希函数 41 : 排列论证 - The Permutation Argument 42 : Tornado Cash 的工作原理(开发者逐行解析) ### 模块四 BulletProofs:内积论证的 ZKP 43 : BulletProofs 详解 44 : 什么是Pedersen承诺及其工作原理 45 : 多项式承诺通过 Pedersen 承诺实现 46 : 零知识乘法 47 : 内积的零知识证明 48 : 向量承诺的简洁证明 49 : 对数大小的承诺证明 50 : Bulletproofs零知识证明:内积的零知识与简洁证明 51 : 内积代数 52 : 通过随机线性组合减少等式检查(约束)的数量 53 : 范围证明