如果从开发角度的话,生成零知识证明,需要将业务转化为零知识证明算法认识的QAP问题。这个地方是比较繁琐的。如果是使用的角度的话,现在就是慢点,操作还是蛮简单的。
『Soteria 主题分享 | 李星:zkSNARK应用场景分析』
https://news.marsbit.co/20191030225839264062.html

Claire:非常感谢李星大神的精彩分享,看看大家有什么问题需要和主讲嘉宾讨论?
Claire:@李星 请问,采用零知识证明对于小白来说,过程繁复吗?人们会不会因为时间太长,或者过程太繁复而放弃使用呢?
李星:如果从开发角度的话,生成零知识证明,需要将业务转化为零知识证明算法认识的QAP问题。这个地方是比较繁琐的。如果是使用的角度的话,现在就是慢点,操作还是蛮简单的。
李星:记得中午@wx问了一个STARK的问题。
STARK,和SNARK相比,有比较明显区别:

上面的这张图给出了,三种算法的区别。zkSTARK生成的proof数据太大了。最新的状态是:0x团队开发的open-zkp用的Stark算法。Starkware和0x合作 StarkDEX。
张翼:Stark不需要一个可能造成泄密的setup阶段
李星:是的,这个也是zkSNARK最被人诟病的地方。不过,现在都在用power of tau的仪式,来降低风险。
啊,人品:tau是啥的缩写?
李星:tau是希腊字母
张翼:stark的证明size一般是什么量级?
李星:印象中一个证明快到100k了。zkSNARK才100~200个字节。
啊,人品:STARK安全假设更弱一些,主要基于HASH
张翼: 如果像比特币这样的区块链如果每个交易增加100K,是有点太大了。
李星:这个就是 tau

黄凯波:tau可以介绍一下?
不忘初心: 这个tau,具体的中文意思是什么呢?
李星:tau,你可以理解成:秘密~
啊,人品:神秘的核电站反应堆找随机数生成CRS仪式哈哈。
Claire: 感觉很厉害哈哈
李星:Zcash生成CRS仪式的名字,叫Power Of TAU。
啊,人品:都是网上的资料,干货是李星都是分享的。
李星:在Filecoin里面,把一个Merkle树的树根也叫TAU。
Steve Guo:可以理解成随机的基元,然后power of tau就是基于这个随机种子在ECC曲线上算幂次。
黄凯波:大致算法是什么?
Steve Guo: t0,t1...tn
黄凯波:sha512?
李星:这个比较复杂的,除了椭圆曲线的计算外,还有MPC的一些协议。不是sha512,简单的hash函数的事情。
黄凯波:是随机数。采用它的原因是什么?
李星:避免单个人获取到这个最初的随机数。只要参与的有一个人是诚实的,数据就是安全的。
杨闯:这个应该是整个系统的信任根了哈哈。
李星:是的~
黄凯波:看来要补课,没预习。
李星:哈哈,哈哈,哈哈,欢迎入门~
Claire:@李星 可否把你的公众号发到这里?让大家多学习你已发表的研究报告呢?
李星:当然可以,欢迎大家关注我的技术公众号:星想法。
Claire:这是一个非常硬核的公众号。
Claire:现在国内研究零知识证明的人,估计也很少吧?
李星:不多。我知道的,都在【魔笛手社区】这个群了。哈哈。这是个好群啊。
Claire:非常荣幸!
李星:@黄凯波 先理解理论,再选择工具。
黄凯波:大致的以前看过。但深入理解还是看码吧。
不忘初心:Tau=Merkle树根可以理解,那Power of Tau整个意思呢?
李星:力量之源,这个翻译,帅不帅?
阿尔伯特:火种
李星:@阿尔伯特 这个好啊。牛~
Claire:@李星 据闻有很多区块链项目将来都会采用零知识证明的。
李星:@Claire用了才知道,要学习~
Claire:@李星 在不久的将来,你们这些零知识证明专家将会很忙。
李星: @Steve Guo @郭宇 是我知道的在做零知识证明产品的高手。
Steve Guo: 如果大家对路印3.0是如何应用零知识证明技术的更多细节感兴趣的话,可以访问: https://github.com/Loopring/protocols/blob/master/packages/loopring_v3/DESIGN.md,我们在今天也开源了全部的电路部分代码: https://github.com/Loopring/protocol3-circuits,并同步发布了BUG悬赏计划,欢迎大家来找茬哈哈。
Claire:这两篇主题分享的干货也很多,欢迎大家取阅:
『魔笛手主题分享 | 王东: 去中心化交易的现状和发展趋势』 https://news.marsbit.co/20191101115450059044.html
『魔笛手Q&A | 王东: 去中心化交易的现状和发展趋势』 http://www.marsbit.co/newsdetail/20191101123341417991
胡宇光: @李星 Filecoin的那个证明我有点不明白。怎么证明数据经过了vdf处理之后的mklroot?
李星:你可以理解,vdf通过电路实现了一遍。
胡宇光: 这意味着这个电路的输入是所有数据?假设数据是32M,意味着这个电路包含100w个VDE子电路?
李星:电路证明是对每个Sector来的。每个sector是256M。这个256M的数据,又会分成一个个的32bytes。每个VDE的作用在一个32bytes上。会有很多子电路。
胡宇光:相当于是对这256M数据进行一次加密,然后为加密后的数据产生mklroot对吧?
李星:是的。
胡宇光:并且要证明这个mklroot
李星:这个是PoREP。
胡宇光:我问的就是这个过程,它称之为seal
李星:是的。没错。
胡宇光:那么意味着这个电路有几百万个vdf子电路,假设每个子电路是100个gate,那么就有几亿个gate.用groth16处理亿级电路,这需要多少内存和时间?
李星: 这个是我之前写的文章,当时,要证明1G的数据,最好成绩是40分钟左右。
woodstock:亿级电路肯定就要用dizk来处理了。
胡宇光:@李星 1GB 40分钟就只是gro16的过程?
李星:是的~
胡宇光:为1GB计算vdf本身的时间呢?
李星:这个我没有测算过。
HeWei:学习了,非常专业!感谢!
胡宇光:另外,它验证一个vdf,这个子电路的约束大概是什么量级?100?还有这个40分钟是什么性能的机器?用gpu了吗?还是在亚马逊上搞了个512核的虚拟机?1GB数据意味着10亿级别的电路啊。
李星:我估计是集群吧。这个性能是第一名的性能。可能就是filecoin团队内部的测试环境。
胡宇光:这个集群跑40分钟的费用估计是远远超过买1GB硬盘的费用。
李星:哈哈,哈哈,费用问题,这个需要详细的测算了。而且Filecoin团队,也在调整参数。所以,Filecoin进展不是一般的慢。从我的角度看,Filecoin给出了一个大胆的想法。
胡宇光:这个矿工要开门做生意,接一个1GB的存储订单,先得证明一个几十亿级别的电路,后面的时空证明和这相比不值一提。
李星:是啊。主要工作是porep。post只是证明merkle树的存在。
胡宇光:哪怕时空证明似乎还用了递归snark,我估计电路也只在百万最多千万量级。
李星:不是递归snark,是loop而已。
胡宇光:我理解loop就是通过递归实现的。
黄凯波:这估计不会吧。能loop,不会选递归。
李星:我的理解,loop中间的proof只是用做随机数。最后一个证明,才会发送到链上。
不忘初心:@李星 讲的是post上的Loop counter的次数吗?
李星:是的。
不忘初心:我是看那白皮,主要是每次PoRep进来,要做用户及系统的挑战验证后,才会上链吗?
李星:用户及系统的挑战验证?指的是什么?
不忘初心:C应该是系统挑战,C'应该是用户复制内容的挑战,不知道可以这样理解吗?

李星: C和C'都是对复制内容的挑战。只是C是初始值,链上决定而已。
不忘初心:好的,我再从代码好好理解,[OK]
郭宇@SECBIT安比实验室: Filecoin现在还是这样么?
胡宇光:刚才和Starli讨论了一下Filecoin,我甚至产生了写一篇文章喷它的想法。
Claire: 时间过得很快,又到主题分享的尾声了。今晚非常感谢李星 大神为我们做了一个非常硬核的主题分享。大家如果还有问题,可以继续和李星大神继续探讨。
李星:谢谢大家,谢谢Claire.
(全文完)
特别鸣谢主办机构Soteria、【魔笛手技术开发社区】和协办社群(排名不分先后),所有支持媒体和各位群友的持续关注!
- 魔笛手技术开发社区
- 新通证经济无名高地
- 数字万物讨论群
- 盗火者区块链应用联盟
- ⑦月线下线上交流学习社群
- 加密数字货币与区块链生态系统
- 清华校友区块链技术探索者
- Defi 研究院 成都
- SuperStar 国际社区|空中俱乐部
- Metamask中文社区