美文网首页
零知识的证明:两个朋友的故事

零知识的证明:两个朋友的故事

作者: yangzming | 来源:发表于2020-03-25 09:15 被阅读0次

本篇文章翻译自:https://medium.com/hackernoon/zero-knowledge-proofs-a-tale-of-two-friends-d7a0ffac3185。用了一个小故事讲解了零知识证明,浅显易懂。

在区块链世界中,经常会出现零知识证明。比如Zcash, Zerocoin。

但零知识证明的问题在于,如果不深入到基本的数学知识中去,就很难理解它们。

所以,我将把零知识证明协议描述为两个朋友的故事,在一个我们都能理解的场景中。

零知识证明

就像任何故事一样,在我们遇到主角之前,我们必须设定好场景。下面是一个零知识证明的故事背景。

  1. 一个很难解决的问题。
  2. 关于这个问题的陈述。

在这个故事中,这些指的是……

  1. 问题:魔方。
  2. 问题陈述:魔方处于当前未解状态。

现在我们可以介绍主要人物了。首先,我们请到了验证者佩吉。


证明者佩吉

佩吉是一个总爱发表声明的人。

当然,她希望人们相信她的说法。她想向人们证明她的声明是有效的。然而,这给她带来了一个问题。她通常不愿透露证实她说法的细节,因为那样会泄露她的知识……而知识就是力量!

以下是佩吉提出的一个声明。

我知道如何解决魔方问题(问题)从它目前的未解决状态(陈述)。

但是很自然地,她不想泄露她所知道的做这件事的方法。

我们的第二个角色是验证者维克多。


验证者维克多

他喜欢听佩吉的主张。然而,他只是想确保她不会对她所知道的事情做出毫无根据的断言,因为他不想让自己看起来像个傻瓜。

例如,他想知道验证者佩吉能否解出魔方。如果她能的话,一定会给他留下深刻的印象。

此时,我们有一个来自佩吉的声明,她是魔方(问题)当前状态(声明)的解决方案的证明者,她想向验证者维克多展示这个声明。她真的想让他知道,她确实知道一个验证她要求的解决方案,因为她喜欢给验证者维克多留下深刻的印象。

现在,在一个传统的证明(不是零知识的证明)中,有一个非常明显的方法(或协议),证明者佩吉可以给验证者维克多留下深刻印象并证明她的声明。他们可以见面,她可以在他面前解魔方……就是这样。

在这种情况下,验证者维克多100%确信,证明者佩吉在提出声明时没有撒谎。他确信她是值得信赖的。这真是太棒了! 验证者佩吉已经能够展示她的知识,而验证者维克多确信证明者佩吉并没有愚弄他。

然而,证明者佩吉对这种方法并不满意……验证者维克多可能会了解到一些关于她是如何解开魔方的信息。

零知识

如果证明者佩吉不信任验证者维克多,或者她不想透露她的秘密,该怎么办?如果验证者维克多也会做魔方,那么她对解决方案的知识就会贬值,她当然不希望她在完成之前就在他们共同的朋友面前解开魔方。

对于证明者Peggy来说,这些信息(解决方案)对她很有价值。她不想透露,但她还是很想向验证者维克多证明她知道一个解决方案,因为佩吉是一个爱炫耀的人。

所以她想,有没有一种方法,我仍然可以说服验证者维克多,让他相信我可以解开魔方(她的声明),但不透露我是如何解开魔方的?

那么,证明者佩吉需要隐藏什么呢?显然,她要在魔方的当前状态(陈述)和已解状态之间对其进行的一组移动。她甚至不愿透露她将要采取的任何行动。因为,即使验证者维克多在这两种状态之间看到一个移动,她也已经给出了一些关于她如何解出魔方的信息。证明者佩吉希望她的证明是一个零知识的证明,而不是一个微不足道的知识证明

因此,她提出了以下方案(或协议)。

零知识证明协议

协议

验证者维克多走了出去,找到一个黑盒子,把它放在凳子上。他在顶部和两边各开一个洞。然后他把未解的魔方放进去。

然后,证明者佩吉将她的手臂穿过侧孔,从上孔往下看。她在验证者维克多的监督下解开盒子里的魔方。当她完成后,她展示了立方体。

重要的是,验证者维克多看不到她在盒子里的动作。然而,他可以确信自己没有被欺骗,因为证明者佩吉不可能骗过他。比如说,她不可能有第二块刚从包里出来的、处于解出状态的立方体,随时准备用来偷偷的替换。他确信,他们商定的方案(或协议)是安全的,足以使他接受证明者佩吉的主张为真(协议的这一特性在文献中称为可靠性)。

更重要的是,这个协议满足了证明者佩吉的愿望:她已经能够说服验证者维克多她知道解决方案(在文献中称为完整性),而对她的方法却一无所知(在文献中称为零知识)。

她已经在零知中验证了自己关于魔方问题解决方案的声明,也就是一个零知识的证明!


他们对这个协议都很满意。证明者佩吉展示了她的知识,验证者维克多对她充满了敬畏。他们决定之后去喝一杯庆祝一下。

实际上,佩吉想要隐藏的信息可能是她的身份、她的签名或她拥有的某些特质。

相关文章

  • 零知识的证明:两个朋友的故事

    本篇文章翻译自:https://medium.com/hackernoon/zero-knowledge-proo...

  • 2018.4.21清华学习笔记

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

  • 当区块链遇到零知识证明

    本文由云+社区发表 当区块链遇到零知识证明 什么是零知识证明 零知识证明的官方定义是能够在不向验证者任何有用的信息...

  • 关于零知识证明的胡思乱想

    翠花和小玲的秘密 最近我在搞 “零知识证明”,没听过这个词的朋友可以去搜一下。本来我想说我在 “研究” 零知识证明...

  • Filecoin白皮书分析

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

  • 当区块链遇到零知识证明

    当区块链遇到零知识证明 什么是零知识证明 零知识证明的官方定义是能够在不向验证者任何有用的信息的情况下,使验证者相...

  • 区块链小白入门必备知识:零知识证明

    什么是零知识证明呢?“零”就意味着没有,空的意思。 零知识证明(zero-knowledge proof),它是由...

  • 零知识证明

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

  • 零知识证明

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

  • 零知识证明

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

网友评论

      本文标题:零知识的证明:两个朋友的故事

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