在区块链领域,匿名性和隐私性是人们最关注的方向之一。而在各种提供隐私性的加密技术中,zk-SNARKs最为重要,它是目前区块链领先的强大隐私工具,而Filecoin部署的zk-SNARKs网络是目前最大的。
它究竟是什么?即使你完全是一个技术小白,今天这篇文章也能让你对它有基础的了解。
zk-SNARKs是一种加密技术,即“零知识简洁非交互知识论证”的缩写,它允许“证明提供者”以数学方式向“验证者”证明信息的准确性,而不会透露除其真实性和完整性之外的任何内容。
这么说可能还是有些难以理解,1990年,一位密码学家发布了一篇《如何向你的孩子解释零知识协议》的论文,如果你有兴趣,可以点击阅读原文查看完整论文。我们在这里大概来捋一下这篇论文,相信你就会有一个相对清晰的思路。
FIL突破40美元关口 日内涨幅为5.79%:欧易OKEx数据显示,FIL短线上涨,突破40美元关口,现报40.01美元,日内涨幅达到5.79%,行情波动较大,请做好风险控制。[2021/3/3 18:10:28]
要从阿里巴巴的故事说起。有一天,一位叫阿里巴巴的老人去集市赶集,小偷偷走了他的钱包,阿里巴巴立马去追他,追到一个山洞,进去后发现山洞竟然有两条岔路。
上方为山洞的入口
没看见小偷走了哪条路的阿里巴巴只好随机选了左边,发现路是封死的,又去右边那条,竟然也封死了。小偷到底去了哪里?
第二天,小偷拿走了阿里巴巴的菜篮子,他追过去,又遇到同样的情形…这样的情况维持了40天。于是,阿里巴巴决定守在右边通道守株待兔,等了许久终于等到小偷,他看到小偷跑到被封死的路口,小声喊了句咒语“芝麻开门”,被封死的洞口打开了。
Filecoin当前全网有效算力为774.18PiB:据IPFS100.com报道,filfox浏览器数据显示,Filecoin网络当前区块高度为208438,全网有效算力为774.18PiB,总质押量约为1506.1165万枚FIL,活跃矿工数为668个,每区块奖励为12.0664FIL,近24小时产出量为164280FIL,24小时平均挖矿收益为0.2100FIL/TiB;
目前有效算力排名前三的分别为:F01248(智合云zh)以48.58PiB暂居第一,F02770(时空云&灵动)以45.81PiB位居第二,F01782(hellofil.com)以27.12PiB位居第三。[2020/11/5 11:43:22]
小偷进去后,洞口又自动封了起来,原来,说出咒语进入山洞后,左右就能连通起来。不断地尝试后,阿里巴巴为这个洞口更换了新的咒语。相当于洞口被设置了新的密码。
阿里巴巴的故事引起了许多人的好奇,后来,有人真的找到了这个山洞。一位自称是阿里巴巴后人的研究者想证明自己知道这个新咒语,但又不想公开,他要如何做呢?
他带领团队走到那个洞口,自己先念咒语进入山洞,再让人掷硬币替他决定从哪一边出来。也就是说,如果研究者不知道密码,他只会随机进入一个封死的路口,再从那个路口原路返回,不可能做到每次都能和掷硬币的结果相同;只有知道密码打开洞口,才能随意选择出来的方向。实验进行了40次,每次都成功了,研究者也成功证明了自己是知道秘密的人。
这个过程被一位摄影师记录下来,授权给了电视台A,电视台B得知这件事之后,找人伪造了一段非常相似的视频。这两段视频同时播出后,谁都无法证明哪个电视台播出的是正确的的。
研究者不可能为了证明电视台A的真实性而当众披露这个秘密,但摄影师确信研究者知道这个秘密,研究者也因此达到了自己最初的目的:在不透露自己秘密的情况下,说服他人完全相信自己是可能的。
这就是零知识证明。它的首批应用之一是Schnorr认证协议,这种数字签名方案可以在加密货币上实施,以使其更加保密,但也有一个很明显的缺点,这些协议是交互式的,证明者和验证者必须相互通行才能完成验证流程,证明者和验证者双方必须同时在线。
1996年,Fiat-Shamir启发式在随机预言机中得出非交互式零知识证明。非交互式即证明者和验证者之间共享的公共参考字符串足以实现计算零知识,而无需交互。经过后来人们不断完善,;零知识证明才演变出今天的分支——zk-SNARKs。
现在,让我们重新拆分一下zk-SNARKs是什么——
zk-Zeroknowledge:零知识,即在证明过程中不透露任何隐私数据。
S-Succinct:简洁的,指在验证过程中不涉及大量数据传输,且验证算法简单。
N-non-interactive:无交互,证明者与验证者之间不需要交互即可实现证明。交互的零知识证明需要摄影师和研究者需要同时在现场,或需要向摄影师发送视频才能验证。但在无交互的零知识证明中,证明者只需要计算一次产生一个证明,所有的验证者都可以验证这个证明。
AR-Argument:论证,讨论这些证明的一种形式主义,因为有一些花哨的密码学和非确定性并不能完全构成传统意义上的这些“形式证明”。
K-Knowledge:知识,指证明者自己实际上拥有证据这一事实,也能够使验证者确信证明者的答案正确。
简单来说,即“一个人知道内情,其他人都可通过简单、易操作的技术,不需要和这个人交流,就可以验证这个人是对的,除此之外一无所知。”
那么,Filecoin是如何使用zk-SNARKs的?
对于要在Filecoin上验证的存储,涉及两个证明:复制证明(PoRep)和时空证明(PoSt)。
在PoRep中,存储提供商证明他们正在存储一段数据或信息的唯一副本。PoRep只发生一次,即客户端和提供者之间的初始存储交易发生、并且数据首次由矿工存储时。每个上链的PoRep都包含10个单独的SNARK,它们共同证明该过程是通过概率挑战正确完成的。
另一方面,PoSt用于证明存储提供商会随着时间的推移继续存储原始数据,在这期间没有被操纵或损坏。当存储提供商首次同意为客户存储数据时,他们必须以FIL作为抵押品。如果在协议期间的任何时候,提供者未能证明PoSt,他们将受到处罚,并且可能会失去所有或部分FIL抵押品。
如果没有使这些证明变得小而高效的解决方案,它们将占用大量的网络带宽,并为存储提供商和矿工带来高昂的运营成本。现在,存储提供商可以使用zk-SNARKs生成证明来降低成本,它生成的证明数据包很小,验证过程也非常快。
通常需要数百KB来验证的证明可以使用zk-SNARK压缩到仅192字节。如上所述,每个PoRep包含10个SNARK,即每个1920字节。这样一来,就能保证Filecoin一直维持30秒的出块时间。
zk-SNARKs是在Filecoin主网上线以来就在使用的的重要工具,它已经构成了Filecoin网络的一部分,并对未来高效、经济、安全的网络发展起着至关重要的作用。它改变了Filecoin网络的游戏规则,将验证过程大幅减少,同时保证了用户对Filecoin网络的信任。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。