从零开始学zk和密码学,入门教程,不追求数学推导
追求工程理解,代码层面用 go 实现,后续补充 ts 代码
https://github.com/CJ-Labs/cryptography-go
-
[🪜] 认识Zero-Knowledge
-
[🪜] 零知识证明科普入门
-
[✅] 基础数学
-
[ 🪜 ] 椭圆曲线
-
数据结构
- [✅ ] Merkle树
-
线性代数
-
承诺 和多项式系统
- [✅] 承诺基础
- [✅] Pedersen承诺
- [✅] KZG多项式承诺 Plonk用到
- [🪜] Poseidon哈希函数
- [🪜] FRI承诺
ZK-STARK
和Plonky2
用到 - [🪜] IPA承诺 Halo2 用到
-
zk 中的名次解释
- [✅] 证明
- [✅] 见证
- [✅] 非交互式 常见的非交互式 包含
Fiat-Shamir
和CRS (Common Reference String)
- [🪜] CRS (Common Reference String)
-
[✅] 电路系统 程序逻辑 → 门电路 → 算术电路 → R1CS → QAP → 零知识证明
-
证明系统
-
zk Rollup 项目
- [] poloygon-zkevm
- [] [scroll]
-
[] zkp 跨链项目
-
参考实战项目 ZKMerkle Proof of Solvency