timezone |
---|
Asia/Shanghai |
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》,学有余力者可以依此找到更多的扩展内容。
- 自我介绍 最硬的男人
- 你认为你会完成本次残酷学习吗? 必须能
- 目前阶段对于 ZK 的了解? 懂一点点
-
Child: 很喜欢这个例子:找一张海豹群照片里企鹅,我证明我找得到企鹅,但不透露企鹅的位置。 此时只需要用一块大板子挡住照片,但只漏出企鹅即可。
-
Teen: 一个带密码的秘密罐子,把秘密投进罐子里,此时除我以外没有人能知道秘密,除非有人知道密码。 那么如果一个人说出了我的秘密就说明他知道密码。 关键是不能暴露秘密
-
College Student: ZKP的核心是两个人的交互 进行ZKP前得明确证明什么 NP-Complete Problem: NP-complete problems are a class of computational problems where an efficient, algorithmic solution has yet to be found NP-Complete-三色问题 ZKP不是第一步第二步第三步,而是在一定概率上可以证明某事 (比如三色问题,不断的随机挑两个颜色,如果很多很多次都是对的,那么就可以证明三色设置是对的)
-
Grad Student ZKP解决人的不信任问题 ZKP的瓶颈在验证者,但可以考分布式并行计算加快验证。
-
Expert ZK!=ZK information 非交互性但可验证性 ZK的未来: 量子计算下怎么增加难度
零知识证明是打通链上数据与链下计算的关键技术,也是实现链上数据隐私保护的重要途径
理解证明:洞见-符号推理-程序-交互
零知识证明:
- 数据的隐私保护
- 计算压缩与区块链扩容
- 端到端的通讯加密
- 身份认证
- 去中心化存储
- 信用记录
在讨论任何系统的安全性之前,必须明确其安全假设。例如:
- 系统权限隔离假设管理员账号未被破解。
- 手机银行软件假设手机SIM卡未被克隆。
每个感觉安全的系统都基于大量安全假设,如比特币私钥的安全性依赖于助记词不被暴露、私钥保存加密算法足够强等。
讨论安全性时需要明确其数学意义上的定义。香农从信息论角度给出了完美安全的定义:
- 完美安全:攻击者通过密文获取不到任何有价值的信息,破解的唯一手段是瞎蒙。
但由于完美安全定义过于严格,实际应用中难以满足。Goldwasser 与 Micali 提出了语义安全的概念:
- 语义安全:攻击者通过密文在多项式时间内计算不出任何有价值的信息。
为了更好地理解“计算不出来信息”这一概念,引入了不可区分性:
- 攻击者随机产生两段等长的明文并交给加密者。
- 加密者随机挑选一个明文进行加密,产生密文c。
- 攻击者在多项式时间内无法区分密文c的来源,则加密算法是语义安全的。
理解不可区分性后,回到零知识证明:
- 零知识证明是指一个交互式系统在不泄露任何额外信息的情况下,证明某个命题的真实性。
注:不可区分性在概率意义上可分为完全不可区分、统计不可区分和计算不可区分。在本文中,不需要深入理解这些概念的差别。