# 怎么零基础学习零知识证明

By [头雁区块链](https://paragraph.com/@searchblock) · 2021-12-24

---

### 作者：头雁区块链小组

### Twitter：头雁区块链 [https://www.twitter.com/alacheng](https://www.twitter.com/alacheng)

介绍
--

首先了解，目前零知识证明主要是用于计算证明（如以太坊的Layer2扩容，如跨链dex的交易计算证明）以及隐私保护，而未来包括在预言机领域的应用，游戏领域（Dark Forest)应用会非常有想象空间。一切才刚刚开始。这里我分享，我看过的非常容易入门的文章，以及一些项目采用的技术方向，目前来看零知识证明应用的主要算法是zk-snark（这里有很多变种，应用比较多的实现是PLONK）和 zk-stark算法，每个方向下的一些技术资料分享给各位。

入门文章：
-----

### 零知识基础

### 从零开始学习zk-SNARK系列

*   从零开始学习zk-SNARK(一)-多项式的性质与证明
    

[https://learnblockchain.cn/article/287](https://learnblockchain.cn/article/287)

*   从零开始学习zk-SNARK(二)-多项式的非交互式零知识证明
    
    [https://learnblockchain.cn/article/329](https://learnblockchain.cn/article/329)
    
*   从零开始学习zk-SNARK(三)—从程序到多项式的构造
    
    [https://learnblockchain.cn/article/393](https://learnblockchain.cn/article/393)
    
*   从零开始学习zk-SNARK(四)—多项式的约束
    
    [https://learnblockchain.cn/article/394](https://learnblockchain.cn/article/394)
    
*   从零开始学习zk-SNARK(五)—Pinocchio 协议
    
    [https://learnblockchain.cn/article/493](https://learnblockchain.cn/article/493)
    

### 浅谈零知识证明：背景与起源

*   浅谈零知识证明：背景与起源
    
    [http://blog.higashi.tech/2019/12/27/zkpub\_01.html](http://blog.higashi.tech/2019/12/27/zkpub_01.html)
    
*   浅谈零知识证明之二：简短无交互证明（SNARK）
    
    [http://blog.higashi.tech/2020/01/02/zkpub\_02.html](http://blog.higashi.tech/2020/01/02/zkpub_02.html)
    
*   浅谈零知识证明之三：zkSNARK证明体系的实现
    

[http://blog.higashi.tech/2020/03/15/zkpub\_03.html](http://blog.higashi.tech/2020/03/15/zkpub_03.html)

*   浅谈零知识证明之四：zkSNARK证明体系的实现（下）
    
    [http://blog.higashi.tech/2020/07/12/zkpub\_04.html](http://blog.higashi.tech/2020/07/12/zkpub_04.html)
    

### 零知识实践：

*   零知识证明实践教程，第一部分
    
    [https://zhuanlan.zhihu.com/p/128566089](https://zhuanlan.zhihu.com/p/128566089)
    
*   零知识证明实践教程，第二部分
    
    [https://zhuanlan.zhihu.com/p/128567432](https://zhuanlan.zhihu.com/p/128567432)
    
*   零知识证明实践教程，第三部分
    
    [https://zhuanlan.zhihu.com/p/128568771](https://zhuanlan.zhihu.com/p/128568771)
    

snark和stark
-----------

snark
-----

[https://mirror.xyz/0x8B00cEE42f226B340aF806CD7aaA4c10cc5E0154/nQ1XeR-nivHIaqZc1-9-TaTz08S7ZgB00bems5-PLus](https://mirror.xyz/0x8B00cEE42f226B340aF806CD7aaA4c10cc5E0154/nQ1XeR-nivHIaqZc1-9-TaTz08S7ZgB00bems5-PLus)

### stark算法重要资料：

*   Step1. 理解零知识证明算法之Zk-stark
    
    [https://zhuanlan.zhihu.com/p/91467589](https://zhuanlan.zhihu.com/p/91467589)
    
*   Step2. 理解零知识证明算法之Zk-stark -- Arithmetization
    
    [https://zhuanlan.zhihu.com/p/92709364](https://zhuanlan.zhihu.com/p/92709364)
    
*   Step3. 深入理解零知识证明算法之Zk-stark -- Low Degree Testing
    
    [https://zhuanlan.zhihu.com/p/94197728](https://zhuanlan.zhihu.com/p/94197728)
    
*   Step4. 深入理解零知识证明算法之Zk-stark -- FRI协议
    
    [https://zhuanlan.zhihu.com/p/95033981](https://zhuanlan.zhihu.com/p/95033981)
    
*   STARKs, Part I: 多项式证明
    
    [https://ethfans.org/posts/starks\_part\_1](https://ethfans.org/posts/starks_part_1)
    
*   **STARKs, Part II**
    
    [https://ethfans.org/posts/starks\_part\_2](https://ethfans.org/posts/starks_part_2)
    
*   **STARKs，Part-3：攻坚（上）**
    
    [https://ethfans.org/posts/starks\_part\_3\_1](https://ethfans.org/posts/starks_part_3_1)
    
*   **STARKs，Part-3：攻坚（下）**
    
    [https://ethfans.org/posts/starks\_part\_3\_2](https://ethfans.org/posts/starks_part_3_2)
    
*   **stark算法V神的用例版本实现**
    
    *   [https://github.com/ethereum/research/blob/master/mimc\_stark/](https://github.com/ethereum/research/blob/master/mimc_stark/mimc_stark.py)
        
*   **satrkware 官方从数学角度解释了stark算法的理论逻辑，非常重要的文章**
    

[https://medium.com/starkware/tagged/stark-math](https://medium.com/starkware/tagged/stark-math)

*   **stark虚拟机早期的设计草稿 - 介绍 Distaff：一个用 Rust 编写的基于 STARK 的 VM**
    
    [https://ethresear.ch/t/introducing-distaff-a-stark-based-vm-written-in-rust/7318](https://ethresear.ch/t/introducing-distaff-a-stark-based-vm-written-in-rust/7318)
    
*   **stark虚拟机的早期指令集 - Distaff VM 的扩展指令集**
    
    [https://ethresear.ch/t/expanding-instruction-set-of-distaff-vm/7504/5](https://ethresear.ch/t/expanding-instruction-set-of-distaff-vm/7504/5)
    
*   **stark算法实现的虚拟机，这个作者之后在facebook钱包团队实现了stark算法的证明器和验证器算法，现在被matic招入负责**
    
    *   @bobbinth 是distaff的作者，开发与两年前，几乎是一个人的实现，非常强悍
        
    
    [https://github.com/GuildOfWeavers/distaff/tree/master/src/stark](https://github.com/GuildOfWeavers/distaff/tree/master/src/stark)
    
    @bobbinth （twitter）后实现的兼容eth的stark算法的虚拟机
    
    *   [https://github.com/maticnetwork/miden/tree/main/miden](https://github.com/maticnetwork/miden/tree/main/miden)
        
    *   Miden的视频介绍 - a STARK based ZK
        
        [![]({{DOMAIN}}/editor/youtube/play.png)](https://www.youtube.com/watch?v=pLu7XeEN-f4)
        
*   **facebook实现的stark算法的证明器和验证**
    
    *   [https://github.com/novifinancial/winterfell](https://github.com/novifinancial/winterfell)
        
*   **stark算法实现的细节教学，有python代码和详细的文章解读，非常棒的stark资料**
    
    [https://github.com/aszepieniec/stark-anatomy](https://github.com/aszepieniec/stark-anatomy)
    

Layer2 应用的zk-rollups项目：
-----------------------

**垂直rollups dex ：**

*   **DEX Loopring 路印（去中心化dex和支付系统）**
    
    [https://loopring.org/#/](https://loopring.org/#/)
    
*   **fluidex （去中心化订单薄dex）应用零知识证明 PlonK算法**
    
    [https://www.fluidex.io/zh/index](https://www.fluidex.io/zh/index)
    
*   **zkswap （去中心化dex）**
    
    [https://zks.org/](https://zks.org/)
    
*   **zklink （跨链去中心化dex）（应用零知识证明，算法没有在github上公开）**
    
    [https://zk.link/](https://zk.link/)
    
*   **Dusk Network（零知识证明游戏）**
    
    [https://dusk.network/](https://dusk.network/)
    

### 通用zk-rollups：

### StarkWare

[https://starkware.co/](https://starkware.co/)

**zkSync**

[https://zksync.io/](https://zksync.io/)

**AZTEC 刚拿了** [**@paradigm**](https://twitter.com/paradigm) **的1700万美金**

[https://aztec.network/](https://aztec.network/)

[https://aztec.network/](https://aztec.network/)

### 单独发展的公链

**aleo （a16z投资2800万美金的隐私优先的独立公链）**

[https://aleo.org/](https://aleo.org/)

**Mina Protocol （隐私公链）**

[https://minaprotocol.com/](https://minaprotocol.com/)

[https://zhuanlan.zhihu.com/p/442832584](https://zhuanlan.zhihu.com/p/442832584)

**mir-protocol 递归零知识证明公链 （现已被MATIC并购，4亿美金）**

[https://github.com/mir-protocol](https://github.com/mir-protocol)

[https://mirprotocol.org/](https://mirprotocol.org/)

零知识证明算法结合资料
-----------

*   HALO算法[https://vitalik.ca/general/2021/11/05/halo.html](https://vitalik.ca/general/2021/11/05/halo.html)
    
*   Step1. 理解零知识证明算法之Bulletproofs --Range Proof I
    
    [https://zhuanlan.zhihu.com/p/97029970](https://zhuanlan.zhihu.com/p/97029970)
    
*   Step2. 理解零知识证明算法之Bulletproofs --Range Proof II
    
    [https://zhuanlan.zhihu.com/p/97221875](https://zhuanlan.zhihu.com/p/97221875)
    
*   Step3. 理解零知识证明算法之Bulletproofs --Range Proof III
    

[https://zhuanlan.zhihu.com/p/97676457](https://zhuanlan.zhihu.com/p/97676457)

*   Step4. 理解零知识证明算法之Bulletproofs--Arithmetic Circuits
    

[https://zhuanlan.zhihu.com/p/98157476](https://zhuanlan.zhihu.com/p/98157476)

*   零知识证明算法之PLONK --- 电路
    

[https://zhuanlan.zhihu.com/p/343954730](https://zhuanlan.zhihu.com/p/343954730)

*   零知识证明算法之PLONK --- 协议
    

[https://zhuanlan.zhihu.com/p/345641784](https://zhuanlan.zhihu.com/p/345641784)

*   Plookup原理详解
    

[https://zhuanlan.zhihu.com/p/366693663](https://zhuanlan.zhihu.com/p/366693663)

*   Halo2：原理剖析
    

[https://zhuanlan.zhihu.com/p/385134321](https://zhuanlan.zhihu.com/p/385134321)

*   （电路描述高级语言 circom文档）[docs.circom.io/circom-language/data-types/](http://docs.circom.io/circom-language/data-types/)
    
*   看V神如何巧妙讲解 [https://zhuanlan.zhihu.com/p/429253463](https://zhuanlan.zhihu.com/p/429253463)
    
*   未来前景分析
    
    作者是aleo的投资人（a16z投资了2800万美金给aleo隐私优先的公链系统）
    
    [https://mirror.xyz/fdao.eth/f0VmaA\_NOznHGtywVuuj0YBgtIvNw-k33UNOw0V7V2E](https://mirror.xyz/fdao.eth/f0VmaA_NOznHGtywVuuj0YBgtIvNw-k33UNOw0V7V2E)
    
    可学习链接：
    ------
    
    *   **Github上面的资料：Awesome zero knowledge proofs (zkp)**
        
        [https://github.com/matter-labs/awesome-zero-knowledge-proofs/blob/master/README.md](https://github.com/matter-labs/awesome-zero-knowledge-proofs/blob/master/README.md)
        
    *   **zkp.science 零知识证明索引：**
        
    
    [https://zkp.science/](https://zkp.science/)
    
    *   **StarkNet CEO 分享**
        
    
    [![]({{DOMAIN}}/editor/youtube/play.png)](https://www.youtube.com/watch?v=1KSwVIZ82hs)
    
    *   **零知识证明youtube的视频合集**
        
        [https://www.youtube.com/playlist?list=PLgKuh-lKre10OEVNLH3t0QX0rIK8kK3tu](https://www.youtube.com/playlist?list=PLgKuh-lKre10OEVNLH3t0QX0rIK8kK3tu)
        
    *   **零知识证明 隐私 & 应用场景 & 知识汇总**
        
        [https://three-recorder-52a.notion.site/ZK-12-9-bddfb03890af43ea8fc8b9c116be894b](https://three-recorder-52a.notion.site/ZK-12-9-bddfb03890af43ea8fc8b9c116be894b)
        
    *   **星想法合集**
        
        [https://learnblockchain.cn/people/28](https://learnblockchain.cn/people/28)
        
    *   **知乎上零知识证明内容汇总**
        
        [https://zhuanlan.zhihu.com/p/107502419](https://zhuanlan.zhihu.com/p/107502419)
        
    *   **零知识证明知乎合集资料**
        
        [https://www.zhihu.com/column/c\_1170346974367916032](https://www.zhihu.com/column/c_1170346974367916032)
        
    *   **安比实验室零知识证明合集**
        
        [https://learnblockchain.cn/people/53](https://learnblockchain.cn/people/53)

---

*Originally published on [头雁区块链](https://paragraph.com/@searchblock/06JYvqZqBfPGj9W8nbr9)*
