零知识证明指的是证明者能够在不向验证者提供任何有用的信息的情况下,使验证者相信某个论断是正确的。零知识证明实质上是一种涉及两方或更多方的协议,即两方或更多方完成一项任务所需采取的一系列步骤。证明者向验证者证明并使其相信自己知道或拥有某一消息,但证明过程不能向验证者泄漏任何关于被证明消息的信息。大量事实证明,零知识证明在密码学中非常有用。如果能够将零知识证明用于验证,将可以有效解决许多问题。
姓名:王镭璋
学号:19011110177
链接:
20世纪80年代初,麻省理工学院研究人员S.Goldwasser、S.Micali及C.Rackoff提出了“零知识证明”的概念。
零知识证明,指的是证明者能够在不向验证者提供任何有用的信息的情况下,使验证者相信某个论断是正确的,它实质上是一种涉及两方或更多方的协议,即两方或更多方完成一项任务所需采取的一系列步骤。
证明者向验证者证明并使其相信自己知道或拥有某一消息,但证明过程不能向验证者泄漏任何关于被证明消息的信息。
举个例子,
假如A要向B证明自己拥有某个房间的钥匙,该房间只能用钥匙打开锁,而其他任何 *** 都打不开。B确定该房间内有某一物体,A用自己拥有的钥匙打开该房间的门,然后把物体拿出来出示给B,从而证明自己确实拥有该房间的钥匙。这就是零知识证明。
它的好处在于,在整个证明的过程中,B始终不能看到钥匙的样子,从而避免了钥匙的泄露。
再举一个更具体的例子:
如下图:
洞穴里有一个秘密,知道咒语的人能打开C和D之间的密门。对其他任何人来说,两条通道都是死胡同。Peggy知道这个洞穴的秘密。她想对Victor证明这一点,但是她不想透露咒语。下面是她如何使Victor相信的过程:
1.Victor 站在A点。
2.Peggy一直走进洞穴,到达C点或者D点。
3.在Peggy消失在洞穴中之后,Victor走到B点。
4.Victor向Peggy喊叫,要她:
从左通道出来,或者 从右通道出来。
5.Peggy答应了,如果有必要她就用咒语打开密门。
6.Peggy和Victor 重复第1~5步n次。
假设这个过程重复了十次,我们把这个例子放到刚才提到的交互式系统中,在Peggy知道咒语的情况下,那么她有很高的概率(1-1/2^10)让Victor相信她知道这个咒语(完备性),但是如果她不知道咒语,那么Victor相信的概率更大为 1/2^10,也就是有很高的概率Peggy没法欺骗Victor(公正性)。
进一步设想一下,如果Victor和Peggy上面的交互过程用摄像机记录下来,然后Victor拿给第三个人Carol看,Carol会相信吗,答案是否定的,因为Peggy和Victor完全可以事先商量好进入哪个通道,从哪个通道出来,这样Peggy在不知道咒语的情况下也可以正确的按照Victor的要求从通道走出来。或许他们不这么做,Peggy走进其中一条通道,Victor发出一个随机的要求,如果Victor猜对了,好极了;如果他猜错了,他们会从录像带中删除这个试验。总之,Victor获得一个记录,它准确显示与实际证明Peggy知道咒语相同的事件顺序。
这就说明了两件事情,其一,Victor不可能 使第三方相信这个证明的有效性;其二,它证明了这个协议是零知识的。在Peggy不知道咒语的情况下,Victor显然不能从记录中获悉任何信息。但是,因为无法区分一个真实的记录和一个伪造的记录,所以Victor不能从实际证明中了解任何信息——它必定是零知识。
零知识证明满足的性质
(1)正确性。P无法欺骗V。换言之,若P不知道一个定理的证明 *** ,则P使V相信他会证明定理的概率很低。
(2)完备性。V无法欺骗P。若P知道一个定理的证明 *** ,则P使V以绝对优势的概率相信他能证明。
在零知识协议中,除满足上述两个条件以外,还满足下述的第三个性质。
(3)零知识性。V无法获取任何额外的知识。
零知识证明的优点
安全,随着零知识证明的使用,安全性会大大提高。
高效,零知识证明过程计算量小,双方交换的信息量会大大减少,因此较为高效。
零知识证明能够保障数据的安全性,能够解决很多隐私问题,而且能让双方交换的信息量减少,在各个领域都能有较好的应用。
零知识证明的应用
零知识证明最初经常被应用于身份验证,数字签名,认证协议等,而后, 区块链的出现给零知识证明的应用提供了更多新的方向。
它可以解决区块链中的隐私问题和安全问题,可以在不知道客户密码的前提下,进行客户登录的验证,即使服务器被攻击,由于并未存储客户明文密码,用户的账户还是安全的。
运用零知识证明技术来保证个人信息的隐私安全。
目前的数据以亿为计量单位的,必须对链上的数据进行加密储存, 在大部分的数据应用场景中,运用零知识证明,保证链上输出的有效性和安全性。
数据使用者只可以获取到与其业务相关的有限信息字段,确保数据使用者难以获取完整有效的明文用户信息,
意义
区块链兴起之后,密码学受到更大的重视,零知识证明作为一种密码学 *** ,热度也提高了很多。但是零知识证明到底有什么现实意义,可以用在哪些场合呢?
以前零知识证明还有一个名字叫“最小暴露证明”,意思是可以在证明一些命题的同时,对信息进行非常好的保密,这个特点显然对保护隐私是有帮助的。例如,我现在要贷款,贷款公司要求我的月收入是大于两千元的,但是我不想暴露具体我的工资是多少,这个时候就可以用零知识证明的方式来达成。
另外在区块链上,也可以用零知识证明来达成隐藏转账信息的作用。熟悉比特币的同学知道,比特币上每一笔交易都是透明的,谁给谁转了多少钱都是公开可查的。但是,通过零知识证明技术实现的隐私币,例如 Zcash 就可以达成隐藏交易信息,但是同时能让全网验证交易合法性的效果。
Web3.0 时代是个人持有数据的时代,是隐私需求非常高的时代,这个背景下,零知识证明在很多场景下都会非常有用。
结论
这就是对零知识证明的基本介绍了。我们要记住的是,零知识证明是一种密码学 *** ,示证者要在验证者对信息本身“零知识”的前提下去证明跟信息相关的某个命题是成立的。在 Web3.0 的数据经济时代,个人隐私问题尤其突出,零知识证明会大有用武之地。
简单来说,零知识证明更大的用途就是将交易完整信息隐藏,其目的是保护个人隐私,不让用户地址被暴露在区块链上,被有心之人利用。零知识证明还可应用在多重签名技术中,将每个人的地址匿名化,降低彼此串通的可能性。
ofo密码怎么破解 第一步:按紧锁头(开锁的按钮)第二步:闭下眼睛,慢慢转动“千位转轮”(四位密码锁一共有4组密码,第一位数字称为千位),找出最松动的位置。第三步:同样的道理,也由此找出其它三位数。那...
我要导出qq群成员成员列表,有办法吗 如果是QQ会员的话可以导出来,不过要手动复制出这些QQ群内的成员是非常麻烦的,我从网上找了一款免费的软件叫金达QQ群成员提取器,可以设置导出的格式,挺好用的,祝好...
怎么解密excel加密文档 1、首先小编有一个加密的excel表格,在其上方点击右键,在弹出的菜单中点击重命名。2、把后缀名修改为rar,然后在任意空白处点击一下,在弹出的窗口中点击是。3、双击打开该...
planetbase修改器怎么用 基本功能:点击简体、繁体、English,可以切换语言(切换语言后修改器将把该语言设置为默认语言)点击音乐图标,可以开启/关闭音乐,游戏开始后会自动关闭音乐。点击笔记...
如何破解ipa文件 ipa的破解也较为简单,现在有现成的GUI可供下载。在cydia里面添加源Cydia.xsellize.com搜索poedcrack后安装,首次进入提示输入用户名,选择需要破解的软...
右眼跳要倒霉,怎么破解 迷信说法右眼跳怎么破解在民间风水习俗中眼皮跳有两种说法分为男女,就是所谓的男左女右,男人左跳为异性,事业钱财等,代表一些事物,右眼跳动表示身体,或者灾祸,突然的事情,女人左眼为...