http://www.7klian.com

安比实验室郭宇:当深度神经网络遇上零知识证明

已有理论证明,在Binding和Hiding都很完美的理睬方案是不行能存在的。可是在用来做隐私掩护的零常识证明方面,我们凡是用第一类理睬,也就它是Perfect Hiding,但理睬是Computational Binding。因为我们要把理睬上链,上链就意味着100年今后它仍然还被所有人看得见,但不消担忧100年今后这个信息真的能被别人破解。别的,这一类的理睬可以发生很是简捷的零常识证明,这就是前面我提到的 Argument。
zkSNARK
技能一:庞大电路里有着大量相反复的电路。就图像识别而言,有很是多的卷积层,这么多卷积层的电路部门是相似的,可以把相似的举办归并处理惩罚。
但显然方案很是不实用,因为呆板在跑的时候,呆板的内存状态很是大,例如说4G内存,把整个进程录下来视频文件会超等大,以至于无法验证。
在我第一次看到零常识证明观念的时候,第一回响是这个对象很是反直觉。为什么“反直觉”?我先来简朴先容一下零常识证明根基的框架。

电路矩阵太大了,我们不得不发现了一种新的零常识证明方案——CLINK,用来证明图片识别进程。CLINK 与其它零常识证明方案对比,采纳了一些非凡的技能来处理惩罚大局限电路。
这个进程看似简朴,但zkSNARK的研究是基于许很多多的暗码学家的苦苦摸索,蹊径可以追溯到IKO07(2007年),2010年Groth有了劈头想法,重点的打破是2013年,而Groth16的改造方案是此刻业界最风行的零常识证明算法。尚有一些很是新改造方案如:Marlin、Aurora、Spartan、Fractal,都是由GGPR13算法不绝改造一路成长过来的。
性质二:Hiding,理睬不会泄露原始数据的信息。因为只有100个字节阁下,所以没有泄露任何的原始数据信息,因为信息量已经被大量的损耗了。
理睬听上去也挺神奇,却是很传统很常用,但长短专业人士相识很少的的暗码学东西。理睬其实有许多种实现要领,最简朴的是可以用一些像Hash运算。尚有Merkle Tree 、Pedersen Commitment可能是Polynomial Commitment、Elgamal Encryption,这些都是能实现理睬。

怎么验证电路计较呢?要验证每一个门的运算,对付每一个加秘诀,验证左输入和右输入加起来等不便是输出。对付乘秘诀,验证左输入和右输入乘起来等不便是输出。只要耐性地挨个查抄每一个门,必定就没问题。
我们前面讲过,零常识证明提出来的时候对“证明”的范式做了全新的革新,以前证明是写在纸上,好比说老师出了一道题测验,要证明它,要把证明进程写出来。而零常识证明是一种交互式证明,通过和老师对话,可以在不汇报老师任何证明进程的环境下让老师相信我。
下面列了三点:
1、简捷。它生成的证明很是小,有多小呢?凡是是 KB 量级,甚至可以小到200个字节以内。别看只有这几百个字节,但它能代表的计较进程可以很是很是复杂,它所能掩护的数据也可以是上TB量级的。
zkSNARK道理
假如各人对零常识证明、人工智能、呆板进修感乐趣的话可以与我们线下接头交换,感谢各人。
零常识证明在区块链底层技能中尚有许多有趣的用处,自从1985年零常识证明被提出来之后,它恒久逗留在理论功效层面,直到区块链技能获得大局限应用之后,或许自2015年-2020年,零常识证明在区块链上获得了遍及的应用。包罗区块压缩、掩护生意业务匿名性、身份隐私、共享数据、链下数据存储完整性等等之类,在区块链行业的技能伴侣们应该对这些都不太生疏。
编码成曲线有什么长处呢?长处是假如我想改个中某一个值yk,哪怕只要窜改一点点,整条曲线就会产生明明的扰动。扰动后的曲线和原曲线只在n个点处沟通,而其它的点都发生了偏离。多项式编码之后能放大任何一个哪怕微小的修改。于是我们可以通过随机验证一个点,就能查抄曲线编码的点有没有被修悔改。

为什么又有了非交互式零常识证明呢?非交互式零常识证明是用一些非凡的能力,可以或许把交互式的证明进程折叠成非交互式的零常识证明。非交互零常识证明在区块链规模的应用越发遍及。
本文分享摘要:
方案二(串行):串行一层一层来,先做第一层第二层,再做第一层和第二层之间的链接证明。

看一下GGPR13/Pinocchio/Groth16框架。当我们想表达任何计较的时候,先用高级语言编写代码,然后通过compiler编译成算术电路,再通过矩阵暗示发生R1CS矩阵,并通过多项式编码发生QAP,最后通过Trusted-Setup发生:Proving Key、Verifying Key。用Proving Key可以证明计较进程,而通过Verifying Key就可以知道证明π是对的。
并行方案:证明图片识别224×224判别率的小猫,证明时间要花25个小时。假如给一台4TB内存的呆板,大概只需要花5小时,但4TB内存的呆板很难找,而验证时间要花1个小时。证明长度在80KB,内存占用峰值是5TB。
本文竣事,想进修

到70年月,措施和证明之间的奇妙关联被发明,现代函数式编程与自动定理证明的许多观念被引入;到80年月,“证明”的观念被延伸到了交互系统。到了80年月之后交互式证明系统无论是从哲学意义上,照旧从理论技能方面,都带来了革命性的新的看法。
但Alice以为模子又可以给Bob提供有代价的信息,Bob就会提供一张图片交给Alice说你来帮我识别一下图片,可是我又不知道你的练习集的细节。Alice就可以拿着图片放到模子里举办识别并发生功效,同时还附带了零常识证明。假如模子发生的功效是识别出了一只猫,可是我还汇报你零常识证明,证明这个功效确实是通过某个奥秘模子识别出来的,虽然猫狗不需要证明也能看出来,但对付有些呆板进修场景是没有步伐确定预测功效是否可信的。
理睬有两本性质:
3. 如何证明的深度神经网络的揣渡进程

凭什么可以或许做到用100个字节去理睬一个数据库,同时还能去证明这些数据满意必然的性质,这听上去挺不行思议的。

NIZK(Non-interactive zero knowledge)
零常识证明内里有个词“证明”,这个观念在整小我私家类文明成长汗青中颠末尾许多次范式转换。在古希腊,“证明”是一种巧妙的数学能力;到20世纪初,数学证明在第三次数学危机中被从头诠释,引入形式逻辑被形式化,因目前后降生了计较理论与计较机。
好比医疗诊断拍一张片子有没有癌症的早期迹象,这个功效没有步伐通过看片子看出来,但模子可以汇报你长短常康健的。你不相信不要紧,零常识证明可以汇报你这确实是通过很是靠得住的X光片数据库揣度出来的功效。
企业数据:人事档案、仓储物流、财政账本、客户信息,传统意义上这些都长短常机要的数据,可是为了可以或许最大发挥企业间协作的结果,必需要共享一部门数据。零常识证明提供了一种既可以或许担保数据的隐私,同时还能共享数据的方法,所以说它对我们将来糊口、事情的最大影响就是可以或许提供很是有效的数据隐私掩护技能。

算术电路的长处是它的计较进程是可以照相的。这个时候只要相机按快门拍一下,把电路的全景拍下来,就相当于记录了所有的计较进程。这样一来,验证计较就不再是验证视频,视频是一帧一帧看的,可是照片就一张照片,只要验证照片的每个细节就可以。
2、Argument。是零常识证明的一种,稍后会简朴表明下。

做这件工作很是有挑战,首先没有任何前人的事情供我们参考。
1、可验证数据库。每小我私家可以把数据放在数据库里,但从来不需要把数据库汇报任何人。当别人跟你要数据的时候都可以把数据做必然的处理惩罚,但可以证明对处理惩罚并没有造假,同时担保数据真的有代价。可验证数据库是将来让互联网公司通过很是安详的手段共享数据,提供了新的技能偏向。
所谓的Perfect Hiding就是理睬绝对不行能泄露一丝一毫,完美的埋没了原始数据,但它的绑定干系是Computational,假如想象将来100年后有人拥有超等量子计较机,它远超此刻的计较本领,当时候就可以造假,伪造一个和原数据不关联的假理睬。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

相关文章阅读