读懂区块链,零知识证明是什么?

文章出处:高维空间 责任编辑:一币刀 发布时间:2019-05-29

  零知识证明 zero-knowledge proofs,简称ZKPs,1985年 S.Goldwasser、S.Micali 和 C.Rackoff 在 论文《互动证明系统的知识复杂性》中提出,它是证明者不向验证者提供任何有关的密码的信息,也能让验证者相信证明者知道密码的真实性,其实质是涉及两方或多方的协议,即一方或多方完成任务所需的多个步骤。

 证明者向验证者证明并且让他相信证明者知道或拥有消息,但是证明过程不能向验证者透露关于验证消息的任何信息。大量事实证明,零知识在密码学中非常有用,特别是在NP问题,身份认证识别,数字签名,水印检测,密钥交换等方面,可以很好地解决许多问题。加密数字货币和区块链为零知识证明的应用提供了新的方向。

  是不是有些晦涩难懂,小编给你讲个故事吧:

  某天,劫匪捉住了阿里巴巴,劫匪向阿里巴巴拷问进入山洞的咒语。但是,阿里巴巴是这么想的:如果把咒语告知了劫匪,他们就会认为我没有价值,为了省粮食劫匪会杀了我;而我死活不说,劫匪也会认为我没有价值杀了我。怎样在不泄露一丁点咒语的内容前提下,让劫匪香型我是知道咒语的呢?

  这确实是一个让人苦恼的问题,这是聪明的阿里巴巴有了一个好法子,当劫匪勒索打开山洞的咒语时,阿里巴巴回复道:“你们离我一箭远,之后用弓箭指着我,你们举起右手我念咒语打开石门,举起左手我念咒语关上石门,如果我逃跑或者办不到,就一箭射死我。”劫匪同意了,这个方案对他们没有坏处。劫匪抬起右手,只看到阿里巴巴努嘴了几下,石门真的打开了,劫匪抬起了他的左手,阿里巴巴努嘴了几下,石门果然关闭了。这让劫匪难以置信。他们认为这是巧合。之后他们不断改变自己的节奏,右手和左手轮流举起。但是石门跟随他们的节奏开开合合。最后,劫匪还认为这只是巧合,他们就是个傻瓜。那就相信阿里巴巴。就这样阿里巴巴没有透露任何咒语信息就向劫匪证明了他的真实性。

  总之,这是一种特殊的交互式证明,其中证明者知道问题的答案,他需要向验证者证明“他知道答案”,但要求验证者不要得到答案信息。

  它解决了区块链应用中的根本难题。区块链的应用价值在于去中心化共识。无论是货币交易还是权益证明,所有成员都是证人。在公众的眼中,一旦交易完成,就不能否认。权益产生是不可否认的。但这也意味着你收到了多少,以及有多少套房对每个人都是透明的,这显然与隐私保护的严格要求相矛盾。

  尽管已经提出了一些隐私保护的混淆技术,例如Dash的PrivateSend,但它只能在一定程度上得到缓解,并且无法解决分散化的固有问题。幸运的是,零知识从世界中诞生(严格来说,零知识证明应该早于区块链技术,但区块链让其为世人所知) 。零知识证明的问题是向您证明此判断是正确的,在不预先告知任何有关信息下。

 


联系请扫码
活动会务
免费学习群
商务合作
13215946687