课程已结束,请戳↑课程目录查看录播视频
01 什么是零知识证明
零知识证明(Zero-knowledge proofs)是一种在不暴露声明本身的情况下证明声明有效性的方法。零知识证明允许一方(证明者)向另一方(验证者)证明一个陈述是真实的,而不会透露任何超出陈述本身有效性的信息。
“零知识”的概念最早由麻省理工学院的研究人员 Shafi Goldwasser、Silvio Micali 和 Charles Rackoff在 1980年代提出。他们发表的论文《The Knowledge Complexity of Interactive Proof Systems》(即 GMR85),这篇论文阐释了在一个交互系统中,经过 K 轮交互,需要多少知识被交换,从而证明一个证言是正确的,如果需要交换的知识为零,则称之为零知识证明。
密码学是区块链技术的基石,密码学领域的零知识证明因其深度契合区块链发展的技术特点和需求而备受关注。计算完整性证明系统,有助于解决困扰去中心化区块链的两大基本问题:隐私及可扩展性。零知识证明(ZKP)通过屏蔽计算某些输入而不损害完整性来提供隐私。而简洁可验证的CI系统通过指数级压缩验证大批量交易完整性所需的计算量,以提供可扩展性。
独立开发ZK应用,开发者需要具备以下研发能力:
-
算法和低级别优化的算术技能
-
开发人员需要此技能来解决有限域算术、多项式承诺和椭圆曲线中的问题。
-
关于 ZK 证明系统的密码学知识,
-
如 ZK-SNARKs、Plonkish 和trust setup过程。开发者需要选择合适的 ZK 证明系统,并且可能需要对其进行定制
-
电路编程技巧
-
开发人员需要为一些密码学原语(如默克尔树和哈希)制定约束条件。
-
应用程序和加密协议开发
02 工作坊简介
这里是由 Kepler42B - ZK Planet 和 Sutulabs 共同举办的开发者Workshop,我们将开展构建和使用零知识证明的系列课程工作坊。
Kepler42B ZK Planet将汇集国内外零知识证明的研究者、爱好者。我们的目标是通过对零知识证明以及密码学技术的学习交流,打造ZKP理论研究者和开发者的交流广场,并从这个健康的、具备知识渊博和技术娴熟的开发人员的社区中涌现出各式各样的ZKP应用。
为此我们将打造为期三个月的zk learning 共学计划。
在三个月的时间里,我们将对零知识证明进行全方位的学习和实践。为此我们以[MIT-IAP-2023]为蓝本精心制作了零知识证明应用及密码学的相关课程 ,每周开放 Office Hour 解答学员问题,不定期邀请行业大V、技术专家为大家指点迷津,为期三个月的课程结束之后,进行一场ZK Shanghai Hackathon,获胜者将获得由赞助方提供的Grant。(?目前赞助方合作持续开放中,欢迎添加微信:Mr_Samaritan咨询合作)
03✨ 我们解决的问题
过去十年零知识密码学的最新进展?
以及它们面向用户的实际应用程序?
我们可以做些什么来简化 ZK 的学习过程?
我们如何支持新开发人员构建可行的有意义的产品?
04 ✒️ 课程内容
本课程依托[MIT IAP 2023] Modern Zero Knowledge Cryptography 课程计划以及内容基本按照MIT课程计划进行:
本课程涵盖的主题范围从现代零知识协议(交互式协议、椭圆曲线密码学、基于配对的密码学、多项式承诺方案、zkSNARKs 等)的数学基础到由 ZK 原语(隐私保护身份)启用的数字系统的实际构建和信誉系统、匿名数字交易系统、可验证计算等)。
在课程快结束时,学生将实现自己的“零知识电路”,这些电路可以集成到实际应用中。
本课程的重点是培养对现代零知识的概念性理解。由于这个课程旨在调查从理论到应用的“全栈”景观,因此较少强调精确的数学严谨性,而更多地强调传达通常的大局思想和方法出现在现代 ZK 应用程序中。
前置知识
初等数论和群论
基本密码原语。您应该熟悉散列函数、加密和签名方案以及密码累加器(即 Merkle 树)的概念;理想情况下,您具有在实际设置中使用和操作这些原语的一些经验(例如,您可能已经在应用程序中实现或使用过签名验证 API)。
基本代数概念。您应该熟悉多项式的基本操作,也许需要阅读一些内容:多项式乘法和除法、拉格朗日插值概率多项式恒等式测试域扩展 快速傅立叶变换
英文听写和熟练科学上网能力
讲师:
- Icer:Icer(梁爽),上海交通大学计算机在读博士,研究方向为基于零知识证明的数据库管理系统。Icer是Chia链上知名钱包Pawket的架构师,同时也是多个区块链项目的联合创始人。
助教:
-
Jet:同济计算机学士
-
William:美国东北大学计算机硕士
✨ 课程福利
-
优秀学员fellowship
-
黑客松获胜者将获得奖金!
-
导师答疑&助教指
-
结业证书认证
-
行业交流机会
线下工作坊
讲师授课
小组讨论
分组讨论-线下组,4-5个人一组,总共30人以内
作业产出
线上Co-learning
视频直播
分组讨论-线上组,6~8人一组
行业大V知识讲座
Office Hour 答疑解惑
小组输出内容
课后作业
学习笔记、代码练习
基于ZKP的Dapp的实战项目
05 时间和费用
Kepler42B - ZK Planet将与合作伙伴 Sutulabs 举办为期 3 个月的 ZK Planet Workshop。课程出发点是公益性质的系列讲座,但是为了保证教学质量以及各位真心想学习的同学的学习体验,我们设置了押金返还计划,报名参与学习需按照参与类型缴纳押金 ,一旦作业完成 即可全部返还押金。
加入我们的ZK workshop,获得学习如何使用这个框架进行开发的基本知识!
✅ 开始:2023 年 4 月 8 日~2023年 7月
✅ 形式:线下Workshop(上课+现场答疑),线上同步直播(线上答疑)。每个月4次,共计12次(问题解答环节面向所有学员开放,导师答疑)。每周六线下上课,线上同步直播
✅ 押金:699元(提交所有作业全额退)
注:线下工作坊会对报名者github进行筛选
已缴纳押金的学员 请加微信:Mr_Samaritan 。并备注:已付押金