阿里巴巴四十大盗教你零知识证明
原创: 大宝123 响链财经 2018-07-12
响链,为技术发声
了解区块链,关注响链
关注
在学习区块链知识过程中,有一个名词经常出现——零知识证明。其中我们熟知的大零币ZEC就是采用的零知识证明。
基本概念
零知识证明这个概念,最早是由三位外国学者在上世纪80年代初提出的。
那么什么是零知识证明呢,顾名思义,零知识证明就是既能充分证明自己是某种权益的合法拥有者,又不把有关的信息泄露出去——即给外界的“知识”为“零”。
举例说明
上面给的解释是官方给出来的解释,对于大众来说可能太生硬了,看不懂?没关系,下面举两个简单的例子说明。
最早有关零知识证明的例子,大约发生在16世纪的时候。
当时数学界正在寻求一元三次方程的解法,有两位数学家同时声称自己找到了解法。
为了证明自己没有说谎,同时保证求根公式不被泄露,于是双方提出各想出来30个方程给对方求解,要是有求根公式,那30个题目很快就可以算出来。
最后结果也应验了,一个人解题成功,另一个则一个题也没有解出来。从这个故事里可以看到零知识证明的初步概念。
第二个例子是关于一个童话故事的,大家小时候肯定知道阿里巴巴与四十大盗这个故事。故事是这样的。
有一天,阿里巴巴被强盗抓住了,强盗向他索要开启山洞大门的咒语。
但此时阿里巴巴面临一个两难的问题,如果把密码告诉强盗,自己就没有利用价值了,最后肯定会被杀。
如果不告诉强盗咒语,强盗以为自己不知道咒语,自己还是会被杀。
怎么能做到让他们相信自己确实知道咒语,但是还不能让他们知道咒语是什么。
这确实是一个很难的问题,但是阿里巴巴想出了一个好办法。
他对强盗头领提议说,你们离我30米远,然后用弓箭指着我,当你举起双手后,我就念咒语开启山洞大门;当你把双手放下后,我就念咒语关上山洞大门,如果我要是逃跑,你们就用弓箭射死我。
对于强盗头领来说,这显然是个好主意,于是照办。
强盗头领先是举起双手,看到阿里巴巴动了动嘴皮子,门就开了,然后放下双手,阿里巴巴又动了动嘴皮子,门就关了。
显然,强盗相信了阿里巴巴。
这样,阿里巴巴在没有告诉强盗头领开门咒语的情况下,又向强盗证明了,自己是知道开门咒语的。
这就是两个零知识证明的重要实例。
基本原理
关于零知识证明的原理,我们以大零币ZEC为例来解释。
我们都知道比特币用户可以拥有无数个比特币地址,并且从这些地址无法追查到真实信息,两者没有任何关系,所以具有一定的匿名性。
但是谁转给谁,每一笔交易都可以通过网站查询到,如果按照一条线索就很容易查询到其他链条。
而ZEC运用零知识证明则很好的解决了这个问题。那么ZEC怎么实现这种完全的匿名呢?
一般转账的时候涉及到两个重要信息,即币数量和地址。
假设A要向B转移2个币,一般有两个办法。
方法一:A地址向B地址转移2个币。
方法二:A地址将2个币分散成无数份转到一个盒子里,这个盒子是一个大容器,所有交易方都将币转到这里,然后盒子再拼凑出2个币转移到B地址。
方法一就是比特币的转移方式;方法二就是ZEC的转移方式,保证了B不知道币的来源和具体数量。
ZEC保证了完全的匿名性,在现实生活中体现在,杜绝了信息被盗用这个问题。
但也是因为其完美的匿名性,在监管上会带来诸多问题,如果不法分子利用其进行赌博、转移资产等违法活动,对于追踪和监管都是非常大的挑战。因此,如何正确的使用才是未来的关键。