这一期我们仍然请到了清华大学密码学在读博士生 @sputnik-meng 来和我们聊聊隐私数字货币:以“大零币” ZeroCash 为例,我们分享了它铸币和花钱的实现过程,以及算法框架 ZK-SNARK 的一些技术细节。有点硬核但干货满满哟``
00:51 匿名货币的设计动力
02:15 假名 V.S. 匿名
07:10 ZeroCoin “小零币”
08:35 ZeroCash “大零币”
11:15 Hash函数的抗碰撞性
12:50 Merkle tree
14:35 零知识证明
17:30 承诺 Commitment
20:09 伪随机函数
  - ZeroCash 使用的零知识证明算法 zk-SNARK
 
27:17 定义
30:14 简单的机制介绍
32:40 "账本"的数据结构
35:06 铸造币 Minting
40:12 加入随机数的意义
43:15 花钱 Pouring
48:13 序列号
54:24 零知识证明系统
参考资料
  - 🔗 关于zk-SNARK的博客
   - 🔗 ZeroCash文档
   - 🔗 ZeroCash白皮书
   - 🔗 ZeroCash论文原文
   - 🔗 Standford课程
   - 🔗 大零币与比特币的区别 from CSDN
 
__
提到的部分名词
  - Collision resistant - 抗碰撞
   - Vector commitment - 函数H() 有 vector S → h = H(m)
   - Fiat shamir heuristic - 把交互式零知识协议转化成非交互式的零知识协议的方法
   - Groth16 和 PLONK - zk-SNARK具体方案
 
__
更多资料欢迎阅读和贡献到我们的 🌍 (Almost) everything you want to know about ZK 也欢迎 ✍️填写问卷 报名加入我们的讨论组 ; D
下期我们将继续分享零知识算法相关的内容 欢迎分享订阅呀👍
by Hackathon DAO partner with THUBA