什么是零知识证明呢?“零”就意味着没有,空的意思。
零知识证明(zero-knowledge proof),它是由Goldwasser等人在20世纪80年代初提出的。
简单点理解是指我们在没有足够或者说一点依据也没有的情况下,猜出一个事件(密码反译)的计算方法。
虽然是没有任何依据的猜,但是这个猜出的计算法方被证明是正确的,这就是零知识证明。
Blum等人80年代末,他们又进一步提出了“非交互零知识证明”的概念。
就是用一个短随机串代替交互过程并实现了零知识证明。
证明者和验证者之间必须进行交互,这样的零知识证明被称为“交互零知识证明”。
阿里巴巴的零知识证明
在一场战争中你被敌俘虏人了,敌人想要拷问你情报。
你就会想的:如果我把情报都告诉他们,他们就会认为我没有价值了,就会灭口然后省粮食。
但如果我宁死不从,结果你还是死了,因为你不肯说,而且还浪费粮食。
那,有没有办法可以不泄密又不用死呢?
聪明的阿里巴巴就帮我们想出了解决问题的好办法。
当强盗向他拷问打开山洞石门的咒语时,他对强盗说:“你们离我一箭之地,用弓箭指着我。
你们举起右手我就念咒语打开石门,举起左手我就念咒语关上石门,如果我做不到或逃跑,你们就用弓箭射死我。”
强盗们当然会同意,这样做并没有造成损失,还能帮助他们搞清楚阿里巴巴到底是否知道咒语这个问题。
对于阿里巴巴来说也没损失,因为处于一箭之地的强盗听不到他念的咒语。
更加不必担心泄露了秘密,而且他确信自己的咒语有效,更加不怕发生被射死的悲剧。
这是一箭双雕的方法,何乐而不为?
当强盗举起了右手,只见阿里巴巴的嘴动了几下,石门真的就打开了。
强盗举起了左手,阿里巴巴的嘴动了几下后石门又关上了。
强盗还有点不相信阿里巴巴,说不准这是巧合呢?
他们不断地变换着举右举左,石门跟着他们开开关关,最后强盗们想,阿里巴巴肯定知道秘密。
于是,机智的阿里巴巴就这样保住了性命。
这就是著名的阿里巴巴零知识证明。
“零知识证明”说的是示证者要向向验证者表明他知道某种秘密。
也就是要你相信我知道秘密,但是又不能把秘密告诉你。
阿里巴巴的这个方案,就是认证理论“零知识证明”的一个重要协议。
那么,“零知识证明”在现代社会中有没有用处呢?
例如:我写了一篇很不错的文,发给某朋友看,某朋友说就一般吧!
结果,背着我拿我的文去发布了,还赚取了一笔不错的稿费。
其实,我的这个例子还算好了。
有些人直接盗取学术上的科研成果。
我们经常会在剧里或者是现实中,某某博士生告他的导师剽窃他的成果。
但除了令师生关系恶化外没有任何效果,最后他使出了终极杀手锏。
说他在给导师审阅的论文的关键公式中,故意标错了一个下标,而这会导致整个推导失败。
学术委员会检查真的是这样,但还是部分人相信导师。
还有人说那是导师的笔误,只不过让你发现了而已,并不能证明那公式就是你推导出来的。
有人说这博士生也太有心眼了吧!
博士生故意标错下标,不能说他没有心眼。
只是都是成年人了,多留个心眼还是好的。
好了,今天分享的区块链小知识就先到这里。
想要了解更多,记得多多留意我们的最新动态!
网友评论