美文网首页
零知识证明---简易版

零知识证明---简易版

作者: 鱼之乎 | 来源:发表于2018-06-25 17:42 被阅读0次

版权声明:本文授权BH好文好报群摘编、推广、转载请声明


前言

现实生活中,我们出行必不可少要带上身份证,因为买票住酒店统统都需要。小小的一张身份证卡,即包含了个人的所有信息,也具有法律效应。因此它对每个社会人很重要,也因为有太多隐私,我们也总担心它丢掉或被盗。但是现在有了区块链技术,再配合零知识证明的运用,或许可以解决我们的困扰。因为不懂什么是零知识证明,所以查阅了一些文章帮助自己理解。下面这篇文章我觉得比较通俗易懂,特翻译出来,如果你也对零知识证明感兴趣,希望能为你的理解助力。


原文标题:A zero knowledge proof for Where’s Wally

https://medium.com/swlh/a-zero-knowledge-proof-for-wheres-wally-930c21e55399

By Patrick Woodhead

原文翻译如下:

在区块链世界里,零知识证明--这一话题有很高的热度。

比如:智能合约可以用零知识证明来隐去一个合约到底是怎样被触发的,而只是披露一个事实--就是这个合约已实现了。

So,零知识证明到底是什么呢?

A zero knowledge proof is a protocol between two parties, a prover and a verifier, where the prover, who makes some claim, can convince the verifier that their claim is valid, whilst revealing nothing more than the validity of their claim.

是不是晦涩难懂呢?

与其逐句解释,不如用一个有趣的故事来说明,等你再回头读这段话时,也许你就能理解了。

零知识证明的故事背景大多是这样的:

1,有一个很难解决的问题

2,对问题的陈述

在我讲的这个故事里,包含了:

1,问题:Where’s Wally(Wally在哪?)

2,对问题的陈述:一张专门的Where’s Wally拼图

角色

好吧,下面是我们故事的主角。首先是Peggy,the prover(证明者)

证明者Peggy喜欢提出论断。自然了,她期望人们都相信她的推断是有效的。但是这也给她带来了困扰,因为她不想泄露她推断的细节,不想为了证明什么就把她辛苦掌握的知识透露出去。

在我们故事里,Peggy的论断是这样的:I have found Wally in the above Where’s Wally puzzle.我已经在wally在哪的拼图里找到了Wally的位置

我们故事里的另一个主角是Vitcor, the verifier(验证者)

他喜欢听到Peggy的论断,但他更喜欢确信Peggy没有糊弄他,因为他可不想自己像个傻瓜似的被耍。

于是他想知道Peggy是否真的在拼图里找到Wally的位置了。

So.....

也就是说证明者Peggy提出了知道Wally在哪的论断,并且向Victor,验证者炫耀。

按传统验证的方式,有一个很明显的方式可以让Peggy来验证她的论断。那就是她只需要在拼图上指出Wally的位置就可以了。这样一来,验证者Victor就会完全相信Peggy没有说谎了。但是,Peggy(证明者)并不喜欢以这种方式来验证,因为这样的话,Victor就轻易知道拼图中Wally的位置了。

零知识证明的方法阐述

如果证明者Peggy不相信验证者Victor,或者不想泄露她的秘密知识。如果验证者Victor也知道在哪里找到Wally,那么Peggy解决问题用的知识就没什么价值了。当然,Peggy更不希望他离开后欺骗其他人说是他自己找到了Wally的位置。

因此,她就想,我是否仍然可以说服验证者Victor:我知道拼图里Wally 的位置,却不用透露Wally 的位置信息吗?我能否以零知识说服他?

SO, 证明者Peggy需要隐藏的是什么呢?

对于任何零知识证明来说,最好先想想验证者Victor已经掌握的信息是什么。

本故事里,验证者Victor已经掌握的信息有:

1,Wally在拼图中某个位置。

2,Wally可能在拼图中的任一位置。

因此,当Peggy向Victor展示她的解决方案时,Peggy只需要遮挡住Wally可能在拼图中占据的所有其他可能位置,。只要Peggy传达出的信息没有超出Victor已知信息范围,她就会很高兴。所以她提出了以下方案(或协议)。

协议

证明者Peggy出去找了一张黑色卡片,长宽至少是Where’s Wally拼图的两倍。然后她在卡片的中间切出一个Wally形状的洞。

然后,她将Where's Wally拼图(放在一张纸上)粘贴到黑色卡片的背面,以便拼图上的Wally正好卡在卡片中间Wally孔上。重要的是,验证者Victor,他站在黑色卡片前面,无法看到Wally在拼图中以外的部分,即便Peggy正在把它往卡片上贴。 但是,一旦Peggy解决了这个难题,Victor就可以肯定他没有被欺骗,因为如果Peggy不知道Wally在哪,她就不可能通过这个洞展示Wally。 (显然,Peggy可以用一些狡猾的手段来欺骗Victor,例如,在她的口袋里藏着打印出来的Wally图像,但让我们假设所有这些方法Victor都已考虑了。)因此,当验证者Victor通过洞看到Wally时,他相信证明者Peggy的说法是有效的(协议的这种属性在学术上被称为soudness正确性)

Peggy也很高兴。由于黑色卡片足够大,所以当她将拼图粘贴到黑色卡片背面时,不管Wally在拼图中哪个位置,都不会透过黑色卡片被看到。

因此,这个协议满足了证明者Peggy的愿望:她能让验证者Victor知道她的验证结果(学术上叫完整性),同时也没向Victor披露超过他已知的关于Wally的信息(学术上称为零知识)。

Peggy已经验证了她论断的有效性,并且是以零知识的方式,也就是零知识证明。

此时你若重读最上面那段英文,是不是好理解多了。

零知识证明在现实中如何被运用?

回到我们开始的地方,智能合约要求某人要满足条件A或B或C,才能执行合约。但“履行者”可能不希望透露他们确实满足这些条件中的哪一个。也许这些信息很敏感。

那么,这类似于将Where’s Wally拼图分成与Wally大小相同的N个盒子,Peggy运用零知识证明她知道Wally在哪个盒子中:盒子1或盒子2或盒子3或...或盒子N 。

对用零知识证明的智能合约,验证者们能看到合同可以被执行了,但不会知道更多信息了,除了他们事先已经知道的。

为什么有人希望隐藏满足合约被触发的信息呢?也许是因为它涉及了Peggy的身份信息,签名或是其它她个人敏感的隐私。

点评:

零知识证明就是向别人验证一个结果,只能对方看到那个正确的答案,至于验证过程中用到的方法或步骤统统不告诉。就好比证明能做出XX菜的就是真正的厨师,于是那个厨师只需要把那到菜端到你面前给你吃就行了,至于怎么做出来的统统保密,不给人看到。当然个人觉得这种方式能有效,也在于证明者和验证者都很诚实且相信对方,重要的是验证者接受这种验证方式。

好吧,希望你也理解零知识证明了,不用给我发好人勋章,哈哈哈哈。。。

温馨提示:

如需对本文转载,请注明原文出处,作者以及转载出处和译者,谢谢配合!!!

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

早赞声明:为方便早赞、避免乱赞,“BH好文好报群”为点赞者、写作者牵线搭桥,实行“先审后赞、定时发表”的规则,也让作品脱颖而出、速登热门!加群微信:we01230123(天平)

相关文章

  • 零知识证明---简易版

    版权声明:本文授权BH好文好报群摘编、推广、转载请声明 前言: 现实生活中,我们出行必不可少要带上身份证,因为买票...

  • 2018.4.21清华学习笔记

    一、什么零知识证明(Zero—Knowledge Proof) 零知识证明(Zero—Knowledge Proo...

  • Filecoin白皮书分析

    预备概念 零知识证明(Zero-knowledge proof) 零知识证明指的是证明者(prover)向验证者(...

  • 零知识证明

    本周优壹组织的学习中学习到了加密相关的知识,其中出现了零知识证明,做了一些检索以期解惑。 如何理解零知识证明 零知...

  • 零知识证明

    你的手里有红绿两个颜色的小球,假如你有一个对颜色不敏感的朋友,你要如何在不告诉他小球具体颜色的情况下,让其相信那是...

  • 零知识证明

    员外外出打猎,误打误撞掉进了一个传说中的藏宝洞,传闻这个藏宝洞中有一个可以统领整个族人的权杖。员外心想自己终于可以...

  • 零知识证明

    战争中你被俘了,敌人拷问你情报。你是这么想的:如果我把情报都告诉他们,他们就会认为我没有价值了,就会杀了我省粮食,...

  • 零知识证明

    “零知识证明”-zero-knowledge proof,是由S.Goldwasser、S.Micali及C.Ra...

  • 零知识证明

    战争中你被俘了,敌人拷问你情报。你是这么想的:如果我把情报都告诉他们,他们就会认为我没有价值了,就会杀了我省粮食,...

  • 零知识证明

    零知识证明是密码学中的一个高级协议,从字面意思理解,首先它是一个证明,并且是不包含任何知识的证明,下面来看现实生活...

网友评论

      本文标题:零知识证明---简易版

      本文链接:https://www.haomeiwen.com/subject/xpnyyftx.html