共学内容 / 课程信息
第一期的重点是向大家介绍什么是 ZK、 ZKP 的基础知识,以及 Circom 代码入门,有一定难度,共学资料如下:
- 第一周:7 月 29 日 - 8 月 4 日:Introduction and History of ZKP
- 20min 的视频:初步理解 ZK 是什么
- 70min 的播客:零知识证明:一场”无知“的游戏
- (一)初识「零知识」与「证明」
- (二)理解「模拟」
- (三)寻找「知识」
- 100min 的视频:ZKP Lecture 1: Introduction and History of ZKP
- 第二周:8 月 5 日 - 8 月 11 日:Overview of Modern SNARK Constructions
- 80min 的视频: ZKP Lecture 2: Overview of Modern SNARK Constructions
- 1-Polynomial-Interaction-and-Proof
- 2-Non-interactivity&Distributed-Setup
- 3-General-Purpose-Computation
- 4-Construction-Properties.md
- 5-Pinocchio-Protocol
- 第三周:8 月 12 日 - 8 月 18 日:Write some Circom
- 基础电路:
- ZK Shanghai 基础电路教学
- 编辑器:zkREPL
- 基础电路练习 这部分材料结合了 Circom 源码,可以多花时间来研究
- 实用电路:
- ZK Shanghai 实用电路教学
- 课程资源:snarkjs resources (zkiap.com)、What Is Semaphore? | Semaphore
本次共学资料前两周的 lecture 来自 zk-learning,博客来自 《探索零知识证明系列》和《从零开始学习 zk-SNARK》,第三周的 Circom 部分来自 0xparc,视频讲解为 ZK Shanghai 的中文版本。郭宇老师还推荐了这篇文章《Survey-SNARKs》,学有余力者可以依此找到更多的扩展内容。
最后,非常感谢安比实验室郭宇老师对于本次共学资料选择的指导!
报名和打卡规则
因为残酷共学的报名和打卡是基于 GitHub 进行开展的,如果你是非开发者或者对 git 操作不熟悉,请先阅读此文档:残酷共学 GitHub 新手教程
- 报名:
- Fork 本仓库
- 复制 Template_ZICLst.md 创建你的个人笔记文件,并根据文档指引填写你的信息,并将文件重命名为你的名字:YourName_ZICLst.md。
- 创建一个 PR 到当前仓库,本残酷共学助教会对你的 PR 进行 review,review 通过后,你的 PR 会被 merge 到 main 分支,这个时候你会收到邀请加入这个仓库 contribution 的邮件,接受邀请后,你会自动获得 main 分支的 push 权限,这个时候表示你报名成功了,后续就可以将你的学习记录直接 push 到 main 分支进行更新。
- 请加入 ZK 残酷共学频道 群组保持交流。加入群组后请在群里报到一下方便助教记录。
- 打卡:
- 报名成功后,你将拥有 main 分支的 push 权限,你需要将每天学习笔记按日期更新到你的 YourName_ZICLst.md 文档中,提交更新后,我们会自动更新你的打卡状态到下面的打卡记录表。
---
共学激励
残酷无激励,为体现残酷共学的氛围,目前不设置激励环节,~~因为 200w 年薪就是最大的激励~~,因为学习知识就是最大的奖励
更多信息
- 共学目标:「 ZK 残酷共学」将可持续地从第 1 期有序的推进到 N 期,21 天为一个周期,从基础开始,初步掌握关于 ZK 的基础知识,了解 ZKP 简单的代码实现,进而最终实现 ZK 的项目的设计与开发。
- 共学形式:自主学习、线上分享(腾讯会议 or gather town or whatever),更多信息请关注 ZK 残酷共学频道