timezone |
---|
Asia/Shanghai |
⚠️ 正式开始前请确保你在身体上和精神上都处于合适的状态,请刻意练习,残酷面对 🆒。为方便检索 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》,学有余力者可以依此找到更多的扩展内容。
{Rayer} 自我介绍: 区块链从业者 你认为你会完成本次残酷学习吗? 会的 目前阶段对于 ZK 的了解? 只有概念性的了解,没有数学和算法层面的了解 Notes
-
学习主题:介绍zk
-
学习内容小结 零知识证明的基本概念 完整性:如果声明是真实的,诚实的证明者可以说服验证者。
可靠性:如果声明是假的,没有办法伪造证明以说服诚实的验证者。
零知识:除了声明的真实性之外,验证者不会获得任何额外的信息。
Blum、Feldman和Micali在1988年提出了非交互式零知识证明(NIZK),这种证明系统不需要证明者和验证者之间的多轮交互。这一发展使得零知识证明在实际应用中更为实用。零知识简洁非交互知识论证(zk-SNARKs)。zk-SNARKs显著地减少了零知识证明的计算复杂性和证明大小,使其更适合在区块链和加密货币中应用。
- 学习主题: (一)初识「零知识」与「证明」 (二)理解「模拟」
- 学习内容小结: 对模拟有了初步认知,应该说,如果任何一个没有知识的人都能通过一个方法来伪造、模拟自己有这个知识,那么想要获取这个知识的人的利益就会受害。下一章节说是再讲如何保护求知者的利益。
- 学习主题: (三)寻找「知识」
- 学习内容小结:
Schnorr 协议,这是一个简洁而强大的零知识证明协议。Alice(证明者)通过一系列数学运算,向 Bob(验证者)证明她拥有某个秘密(私钥),同时保证 Bob 无法获取这个秘密。
协议步骤:
Alice 生成一个随机数 r,并计算出 rG。
Bob 提供一个挑战数 c。
Alice 计算 z = r + ac,并将 z 发送给 Bob。Bob 通过 zG 是否等于 rG + c(aG) 来验证。
可靠性证明:
通过引入“抽取器”(Extractor),展示了如何在理想世界中通过时间倒流等超能力,证明 Alice 具有知识,从而保证了协议的可靠性。 ECDSA 签名攻击:
解释了 ECDSA 签名方案中的一个安全隐患,即如果在两次签名中使用相同的随机数,签名者的私钥将会暴露。通过对比,指出这个问题与 Schnorr 协议中的可靠性证明过程类似。
请假一天