timezone |
---|
Asia/Bangkok |
请在上边的 timezone 添加你的当地时区,这会有助于你的打卡状态的自动化更新,如果没有添加,默认为北京时间 UTC+8 时区 时区请参考以下列表,请移除 # 以后的内容
timezone: Pacific/Honolulu # 夏威夷-阿留申标准时间 (UTC-10)
timezone: America/Anchorage # 阿拉斯加标准时间 (UTC-9)
timezone: America/Los_Angeles # 太平洋标准时间 (UTC-8)
timezone: America/Denver # 山地标准时间 (UTC-7)
timezone: America/Chicago # 中部标准时间 (UTC-6)
timezone: America/New_York # 东部标准时间 (UTC-5)
timezone: America/Halifax # 大西洋标准时间 (UTC-4)
timezone: America/St_Johns # 纽芬兰标准时间 (UTC-3:30)
timezone: America/Sao_Paulo # 巴西利亚时间 (UTC-3)
timezone: Atlantic/Azores # 亚速尔群岛时间 (UTC-1)
timezone: Europe/London # 格林威治标准时间 (UTC+0)
timezone: Europe/Berlin # 中欧标准时间 (UTC+1)
timezone: Europe/Helsinki # 东欧标准时间 (UTC+2)
timezone: Europe/Moscow # 莫斯科标准时间 (UTC+3)
timezone: Asia/Dubai # 海湾标准时间 (UTC+4)
timezone: Asia/Kolkata # 印度标准时间 (UTC+5:30)
timezone: Asia/Dhaka # 孟加拉国标准时间 (UTC+6)
timezone: Asia/Bangkok # 中南半岛时间 (UTC+7)
timezone: Asia/Shanghai # 中国标准时间 (UTC+8)
timezone: Asia/Tokyo # 日本标准时间 (UTC+9)
timezone: Australia/Sydney # 澳大利亚东部标准时间 (UTC+10)
timezone: Pacific/Auckland # 新西兰标准时间 (UTC+12)
⚠️ 正式开始前请确保你在身体上和精神上都处于合适的状态,请刻意练习,残酷面对 🆒。为方便检索 The First ZK Intensive CoLearning 简写为 ZICL1st,第 2 期即为ZICL2nd,第 3 期即为 ZICL3rd,以此类推。
⚠️ 报名需要按要求认真填写下面 [ XXX ] 部分,方可通过报名审核,通过审核即可开始自主学习。
第一期的重点是向大家介绍什么是 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
- 第三周:8 月 12 日 - 8 月 18 日:Write some Circom
- 基础电路:
- ZK Shanghai 基础电路教学
- 编辑器:zkREPL
- 基础电路练习 这部分材料结合了Circom源码,可以多花时间来研究
- 实用电路:
- 基础电路:
本次共学资料前两周的 lecture 来自 zk-learning,博客来自 《探索零知识证明系列》和《从零开始学习 zk-SNARK》,第三周的 Circom 部分来自 0xparc,视频讲解为 ZK Shanghai 的中文版本。郭宇老师还推荐了这篇文章《Survey-SNARKs》,学有余力者可以依此找到更多的扩展内容。
- 自我介绍
Web2 Full Stack Developer and Web3 Explorer.
- 你认为你会完成本次残酷学习吗?
Yes.
- 目前阶段对于 ZK 的了解?
A little bit.
- 学习主题:初步理解 ZK 是什么
- 学习内容小结:5个难度级别解释零知识证明的概念
- 儿童
- 在这些企鹅中藏了一只海雀,我能向你证明我知道海雀的位置,而不透露其确切地点。
- 把照片放到海报后面,透过洞可以看到海雀,从而证明知道位置。海报后面的照片放置位置是未知的,从而不透露海雀确切位置。
- 青少年
- 将纸条放入密码箱,通过验证纸条内容证明知道密码,而不用透露密码。
- 大学生
- NP完全问题:是一类计算问题,目前还没有找到高效的算法解决方案。
- NP问题:不确定多项式时间问题(Nondeterministic Polynomial time problem),问题的解可以在多项式时间内验证。
- 多项式时间:运行时间可以表示为 n 的一个多项式,如:线性时间 O(n)、平方时间 O(n^2)、立方时间 O(n^3)
- NP-Hard:任何一个NP问题都可以通过多项式时间归约(polynomial-time reduction)到这个问题。这意味着,如果我们能够在多项式时间内解决这个问题,那么我们也可以在多项式时间内解决所有的NP问题。
- 它们至少和NP问题一样难,但不一定属于NP类(即不一定有多项式时间验证算法)。
- NP Complete:NP && NP-Hard
- NP问题:不确定多项式时间问题(Nondeterministic Polynomial time problem),问题的解可以在多项式时间内验证。
- 地图三色着色问题(3-Coloring Problem)是指:给定一个地图,能否用三种颜色对地图进行着色,使得相邻的区域具有不同的颜色。
- 这其实是图论中的一个问题,可以形式化为:给定一个图,能否将其顶点着色成三种颜色,使得相邻顶点颜色不同。
- 任选两块相邻区域,获取他们的颜色,验证颜色不同以证明着色有效。下一次选择时会对着色的颜色进行变换,从而防止透露具体着色方案。
- 进行大量验证都通过,则认为着色方案有效。
- NP完全问题:是一类计算问题,目前还没有找到高效的算法解决方案。
- 研究生
- 一般来说,当你在应用中使用零知识证明时,主要的瓶颈往往在于证明者。
- 证明者(Prover):负责生成零知识证明的实体,需要做大量的计算工作来创建一个有效的证明。
- 验证者(Verifier):负责验证证明有效性的实体,通常验证工作相对简单且快速。
- 是否能把证明者的工作拆分成多个并行计算任务?
- 一般来说,当你在应用中使用零知识证明时,主要的瓶颈往往在于证明者。
- 专家
- 如何为高效的零知识程序和证明创建数学上的难题。随着量子计算的到来,它能够破解许多加密系统,我们需要新的抗量子难题来源。
- 零知识证明(Zero-Knowledge Proofs)依赖于构造难题,使得证明者能够在不泄露秘密信息的情况下,证明自己知道某个解。这些难题需要具备以下特性:
- 难以求解:在没有特定秘密信息的情况下,问题应该是难以求解的。
- 容易验证:给定正确的解,验证这个解的正确性应该是容易且快速的。
- 计算难度是加密和零知识证明的基础:难题的难度保证了加密的安全性和零知识证明的有效性。
- 量子计算威胁现有密码系统:量子计算机的出现可能会破解现有的许多密码系统,迫使我们寻找新的难度来源。
- 量子抗性问题:为了应对量子计算的威胁,我们需要开发基于新数学问题的加密方案和零知识证明,这些问题需要对量子计算保持抗性。
- 零知识证明(Zero-Knowledge Proofs)依赖于构造难题,使得证明者能够在不泄露秘密信息的情况下,证明自己知道某个解。这些难题需要具备以下特性:
- 如何为高效的零知识程序和证明创建数学上的难题。随着量子计算的到来,它能够破解许多加密系统,我们需要新的抗量子难题来源。
- 儿童
Note: 一遍回顾一遍问ChatGPT,好家伙好多新概念。
- 学习主题:(一)初识「零知识」与「证明」
- 学习内容小结:
看了昨天的视频对于文中的一些概念没有那么陌生了。 另外学到一个新的概念:“电路可满足问题”,之前经常看到什么写电路,一直不太明白电路跟零知识证明有何关系,目前大概能理解一些了。
- 学习主题:(二)理解「模拟」
- 学习内容小结:
今天的文章介绍了模拟的概念。模拟器的不可区分性使得验证者无法区分真正的交互和模拟的交互,从而保证零知识属性。 总的来说还是比较抽象,需要继续阅读下一个文章来加深理解。
- 学习主题:(三)寻找「知识」
- 学习内容小结:
总结一下:「抽取器」在「理想世界」中,通过时间倒流的超能力,把 Alice 的「知识」完整地「抽取」出来,这就保证了一个没有知识的 Alice 是无法让抽取器达成目标,从而证明了「可靠性」。
跟上一节一样,涉及到模拟器超能力的部分都有点难以理解。
- 理想世界:只是一个用于理论证明的假设,不是实际存在的。
- 现实应用:虽然抽取器在现实中不具备时间倒流的能力,但通过理论证明我们可以确保协议在现实中也具有类似的可靠性。
还是有点懵懂,只能先这么理解着,再继续往后学习吧。