{"content":{"title":"ZK领域入门资料整理","body":"一些笔记或者心得之类的会在https://github.com/EthanShang8989/zk-learning-resources 上面更新。希望大家一起进步。\r\n\r\n\r\n# 文章书籍\r\n- [z2o-k7e社区学习文章](https://learn.z2o-k7e.world/index.html)⭐⭐（人家这个更加完善完整。我后面查资料才发现这么个好东西）\r\n- [Zero Knowledge What? An Introduction to Zero Knowledge — Stanford Code the Change Guides documentation](https://codethechange.stanford.edu/guides/guide_zk.html)\r\n- [从零介绍zk](https://github.com/sec-bit/learning-zkp/tree/master/zkp-intro)⭐\r\n- [What is a zero-knowledge proof? | Zero-Knowledge Proofs](https://zkp.science/)⭐\r\n- [Polygon zkEVM——Hermez 2.0简介_mutourend的博客-CSDN博客_hermez](https://blog.csdn.net/mutourend/article/details/126034757)\r\n- [PLONK 介绍 论文](https://eprint.iacr.org/2019/953.pdf)\r\n- [Plonk初学指南](https://github.com/zisequkuai/zk/blob/main/plonk.md#plonk初学者指南-资料汇总)\r\n- [Scroll zkEVM设计，优化和应用 | 登链社区 | 区块链技术社区](https://learnblockchain.cn/article/5674)\r\n- [17 个关于 SNARKs 的误解（以及为什么会有这样的误解)](https://a16zcrypto.com/posts/article/17-misconceptions-about-snarks/)| [登链翻译的中文版](https://learnblockchain.cn/article/8808)⭐\r\n- [KZG 介绍](https://dankradfeist.de/ethereum/2020/06/16/kate-polynomial-commitments.html)\r\n- [halo2学习仓库](https://github.com/z2o-k7e/halo2-step-by-step)\r\n- [ 0xPARC/plonkathon PLONK 学习仓库](https://github.com/0xPARC/plonkathon)\r\n- [Criticism on ZK — msfew](https://mirror.xyz/msfew.eth/Q0NQDYIerEqqK4N7tMDX4OTIJ0flpPMgdH-XCNociEU)\r\n- [A quick barycentric evaluation tutorial - HackMD](https://hackmd.io/@vbuterin/barycentric_evaluation)\r\n- [Dan Boneh](https://crypto.stanford.edu/~dabo/)\r\n- [【OH问题点小结】Week1-Session1&amp;Session3 · Discussion #33 · Antalpha-Labs/zkp-co-learn](https://github.com/Antalpha-Labs/zkp-co-learn/discussions/33)\r\n- [IACR News（国际密码学研究协会 news）](https://iacr.org/news/)\r\n\r\n# 课程\r\n\r\n- [Oxparc 课程 （包括circom和 halo2）](http://learn.0xparc.org/)⭐\r\n- [中文halo2教程](https://www.youtube.com/watch?v=VSiOhFt3cBA)\r\n- [Modern Zero Knowledge Cryptography（MIT）](https://hackmd.io/@gubsheep/B1LF02t9i)⭐\r\n- [MIT零知识证明(中文版)](https://www.bilibili.com/video/BV1D64y1K78q/?share_source=copy_web&vd_source=9f57b166a79e3fa3c92ed5cb6c246c5a)（大纲基本和前面的MIT的差不多）⭐\r\n- [密码学 I | Coursera](https://www.coursera.org/learn/crypto?action=enroll)\r\n- [Lecture slides for all six weeks | Coursera](https://www.coursera.org/learn/crypto/supplement/DGhhJ/lecture-slides-for-all-six-weeks)\r\n\r\n\r\n\r\n# 项目\r\n\r\n- [GitHub - zcash/pasta_curves: Rust implementation for zcash/pasta](https://github.com/zcash/pasta_curves)\r\n- [ZK挖矿系列二 - ALEO 和 IRONFISH，已经使用零知识证明的项目盘点 | 面向加密挖矿的资源导航站 | MinerNav](https://minernav.com/zh-hans/mining-technology/aleo-and-ironfish-projects-already-using-zk-mining/)\r\n- [research/basic_crypto at main · qizhou/research · GitHub](https://github.com/qizhou/research/tree/main/basic_crypto)\r\n- [Footprint Analytics](https://www.footprint.network/)\r\n\r\n# lib\r\n\r\n- [elliptic vulnerabilities | Snyk](https://security.snyk.io/package/npm/elliptic)\r\n- [AztecProtocol/barretenberg](https://github.com/AZTECProtocol/barretenberg)\r\n\r\n# 社区类\r\n- [z2o-k7e社区学习资料仓库](https://github.com/z2o-k7e)⭐\r\n- [z2o-k7e社区学习文章](https://learn.z2o-k7e.world/index.html)⭐⭐\r\n- [密码回放Notion地址](https://706community.notion.site/1274dda0e8f548daa97d86df386275fd?v=0d8006efb9f045b8b9b75bb9347f7896)\r\n- [ZKP Buidler！](https://706community.notion.site/ZKP-Buidler-16c99076a9064131a032a91680447e6b)\r\n\r\n# 单独视频\r\n\r\n- [零知识证明 KZG 介绍讲解]( https://www.bilibili.com/video/BV1M24y1y7BP/?share_source=copy_web&vd_source=9f57b166a79e3fa3c92ed5cb6c246c5a)⭐\r\n- [[zk入门 与Marlin解析](https://space.bilibili.com/445312136/channel/collectiondetail?sid=1889851)]⭐\r\n- [R1CS & circom 简单介绍](https://706community.notion.site/0x2-Office-Hour-3498e46bd8a84648ad2186d2a36e25ce)\r\n- [分享用 Python来写简单的加密算法，如finite field，poly over Fq，FFT 等](https://706community.notion.site/Python-finite-field-poly-over-Fq-FFT-1968732f468c4c3fa3886a5658c58773)\r\n\r\n\r\n\r\n# 学习路径\r\n\r\n## 先决条件\r\n\r\n1. 了解基本代数知识。（如果不是很熟悉可以通过[【线性代数的本质】合集-转载于3Blue1Brown官方双语](https://www.bilibili.com/video/BV1ib411t7YR/?share_source=copy_web&vd_source=9f57b166a79e3fa3c92ed5cb6c246c5a)\r\n2. 对默克尔树，单向函数，椭圆曲线，椭圆曲线签名算法熟悉\r\n\r\n## 初识ZK\r\n\r\n[从零介绍zk](https://github.com/sec-bit/learning-zkp/tree/master/zkp-intro)\r\n\r\n这个文章写的不错。很适合新手入门。\r\n\r\n然后看MIT的ZK课程。\r\n\r\n[Modern Zero Knowledge Cryptography](https://zkiap.com/)\r\n到第6章的时候，讲kzg那块感觉mit不是很清晰。可以搭配本站crypto_white的视频\r\n[零知识证明 KZG Commitment 1: Polynomial Commitment 20221129]( https://www.bilibili.com/video/BV1M24y1y7BP/?share_source=copy_web&vd_source=9f57b166a79e3fa3c92ed5cb6c246c5a)\r\n\r\n和[[Marlin解析](https://space.bilibili.com/445312136/channel/collectiondetail?sid=1889851)]\r\n这两个视频很清晰。基本看完就懂了。\r\n\r\n中间偏代数部分的如果觉得太难可以先不看。从6直接跳到第十章\r\n\r\n国内也有翻版MIT的中文课程[MIT零知识证明(中文版)](https://www.bilibili.com/video/BV1D64y1K78q/?share_source=copy_web&vd_source=9f57b166a79e3fa3c92ed5cb6c246c5a)\r\n\r\n我感觉-[z2o-k7e社区学习文章](https://learn.z2o-k7e.world/index.html)这个里面写的特别好。我是看完视频后看的这个。我直接看Plonk的介绍。感觉非常易懂。强烈推荐这个。\r\n\r\n\r\n\r\n## 结构分析\r\n\r\n\r\n对于刚入门的来说。明白技术栈目的挺重要的。\r\n\r\n想要高性能，并定制一些cs的话，用plonk等证明系统。只是想实现某个功能的，可以直接用 r1cs或者 circom。不想学zk电路的话，直接用zkvm。\r\n\r\n这里有个对这几个的基本描述。[如何选择zk技术栈](https://www.learnblockchain.cn/article/6638)"},"author":{"user":"https://learnblockchain.cn/people/4862","address":null},"history":"bafkreiduincruvcxbhpre6o4oq4tiq7rezjnyimso6i3vwwlsliutx33le","timestamp":1721788322,"version":1}