LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 行情分析 > 钱包丢了要开证明?零知识证明在区块链中的应用

钱包丢了要开证明?零知识证明在区块链中的应用

2020-03-04 POCC 来源:区块链网络

(2020聆听区块链,见证新商业系列)

一个问题:你的好友小岳岳,钱包丢了,有人捡到了交给了JC叔叔。小岳岳去警局领,请问他怎么才能证明钱包是自己的?

1、准备去开办自己的身份证明、办证的回执、取款机的出钞编号清单、买钱包的发票、办理银行卡的小票、超市购物小票的复印件,遗失现场的监控录像……然后领到了钱包;

2、在JC监管的条件下,或者在拾金不昧的人参与监督下,小岳岳准确地说出钱包的颜色、款式、钱包装的物品、数量等,只要若干个信息点吻合,小岳岳就拿到了钱包。

对于第一种方法,世上不太会有人用这么笨的办法去证明每一样东西的权属。第二种方法,小岳岳不用透露自己更多的信息,基本就可以证明钱包是自己的物品。

我们称第二种方法为“零知识证明”。我们在上一篇文章中提到了安全多方计算是未来区块链普及应用很重要的技术要点,那么零知识证明则是安全多方计算领域很重要的部分。

零知识证明(Zero-KnowledgeProof),由S.Goldwasser等人在1980年代初提出的:它指的是证明者能够在不向验证者提供任何有用的信息的情况下,使验证者相信某个论断是正确的。

顾名思义,零知识证明就是既能充分证明自己是某种权益的合法拥有者,又不把有关的信息泄露出去——即给外界的“知识”为“零”。

零知识证明可以在不泄露内容本身的情况下,证明我知道这个秘密,可以有效解决许多验证问题。

——这个知识点老师没划重点,不代表没有用,实际上早有人在用了。举个反面例子:在2020年初的疫情中,出现了特殊商品口罩及额温枪的紧缺现象,这导致了囤积居奇,哄抬物价的违法现象产生,并逐渐演变成空手套白狼,发国难财的资金黑庄,在相关部门的调查中发现,投机者为了逃避打击、隐匿自己的真实信息,同时又要证明自己有现货,就产生了“暗号视频”这个东西。它指的是卖家按照买家随机下的即时指令,拍摄现场视频,要求包含买家制定的文字、声音、物证等。这样卖家就能自证“不泄密、有现货、非骗子”(实际上无数人被骗,行骗者自有法律制裁,不在本文讨论之内)。本质上这也是零知识证明,只是偏离了法律许可的边界。

完备性(completeness)?:

如果证明方和验证方都是诚实的,并遵循证明过程的每一步,进行正确的计算,那么这个证明一定是成功的,验证方一定能够接受证明方。

合理性(soundness):

没有人能够假冒证明方,使这个证明成功。

零知识性(zero-knowledge)?:

证明过程执行完之后,验证方只获得了「证明方拥有这个知识」的信息,而没有获得关于这个知识本身的任何信息。

零知识证明的优点是,使用它作为验证手段,但是用户隐私的安全性不会降级,因为该证明具有零知识性质。高效性强,该过程计算量小,双方交换的信息量少。

数据隐私是当今社会最重要的课题之一。保护个人资料极为重要,并越来越重要,以至于在国与国的竞争中提出了“数据主权”的说法。我们每天都在生成海量数据,而这些数据也在不断被获取,像谷歌、脸书、推特这样的大公司已经利用数据成为科技伟业,伴生的还有对数据的恶意利用。魔高一尺道高一丈,密码学的不断进步和区块链的兴起,使数据主权和数据缔结的链条有了新的保护方式。

——零知识证明可能就是如何保护数据隐私的答案。

零知识证明协议是一方(证明者)向另一方证明(验证者)某件事情是真实的一种方法。除了该特定声明是真实的以外,没有披露任何其他信息。

举例,登录一个App,忘记密码了,App将用户密码的哈希值存储在其web服务器中。为了验证客户端是否真的知道密码,大多数网站目前使用的方法是对客户端输入的密码进行哈希值计算,并将其与存储的结果进行比较。比对结果弹窗告知。

零知识证明可以保护用户的帐号信息不被泄露。如果零知识证明可以实现,那么在客户的密码是未知的情况下,仍然可以在客户端登录进行身份验证。当服务器受到攻击时,用户的帐户仍然是安全的,因为客户的密码没有存储在web服务器中。

交互式零知识证明

零知识证明协议的基础是交互式的。它要求验证者不断地提出一系列关于证明者所知道的“知识”的问题。比如早期网站中,不需要知道密码,但可以回答注册时设定的“你父亲的名字”、“高中校长的名字”等问题也能登录该账号。

再例,著名的九宫格谜题验证,验证者B(出考题者)随机翻开某列或某行的扑克牌,只要看见该行或列中包含“1-9”数字的9张牌,在足够多的验证次数下,就可以证实证明者(答题者)会解这九宫格谜题。答题者不用演算他的解题方法和过程,看结果就够了。

然而,这种验证方式还存在参与双方事先串通作伪证,以便证明者在不知道答案的情况下通过验证。如果他们想说服第三方相信这个结果,验证者还必须证明验证过程是随机的,并且它不会将答案泄露给证明者。因此,第三方很难验证交互零知识证明的结果,要么第三方全程参与,要么需要额外的努力和成本才能向多人证明某件事是真实的。

◎ 非交互式零知识证明

非交互式零知识证明,顾名思义,不需要交互式过程,避免了验证者和证明者串通的可能性,但可能需要第三方机器和程序来确定验证的顺序。

例如,在九宫格游戏中,由第三方程序决定要验证哪一列或哪一行。验证序列必须保密,否则验证者可能在不知道真实“知识”的情况下通过验证序列。

比特币和以太坊网络都使用公共地址来代替验证者和证明者的真实身份,使得交易部分匿名;只有发送和接收地址,以及交易数量是公众知道的。但是,通过区块链上提供的各种信息,如交互记录等,可以发现地址的真实身份,存在隐私暴露的隐患。

用了零知识证明之后,发送方、接收方和第三方的细节信息可以保持匿名,同时保证交易有效。

在前文中所列的安全多方计算应用领域中,零知识证明将能极大限度地消除多方参与者信息泄露的风险,尽可能地保护用户隐私,一旦隐私和数据主权得到充分保障,新时代的多方协同将变得更为活跃,更为轻松。

2020年开年,突然发给全世界一张打Boss的地图,对过去十年惯性下开车的全球经济,打了个措手不及。在反思应对策略的同时,我们更希望使用创新科技的系统化、智能化来面向未来!寒冬将过,春暖花开!特地分享一系列跟区块链有关的文章,供参考。

—-

编译者/作者:POCC

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...