读懂区块链:零知识证明(一)

“零知识证明”-zero-knowledge proof,是由S.Goldwasser、S.Micali及C.Rackoff在20世纪80年代提出。我试着在网上找到了论文,但深深觉得自己的数学知识和英语能力的不足。

 

网上有一个被很多人引用的例子,即“阿里巴巴的零知识证明”,可以帮助我们理解“零知识证明”的原理。

一天,阿里巴巴被强盗抓住了,强盗向阿里巴巴拷问进入山洞的咒语。面对强盗,阿里巴巴是这么想的:如果我把咒语告诉了他们,他们就会认为我没有价值了,就会杀了我省粮食;但如果我死活不说,他们也会认为我没有价值而杀了我。怎样才能做到既让他们确信我知道咒语,但又一丁点咒语内容也不泄露给他们呢?

这的确是一个令人纠结的问题,但阿里巴巴想了一个好办法,当强盗向他拷问打开山洞石门的咒语时,他对强盗说:“你们在离开我一箭远的地方,用弓箭指着我,当你们举起右手我就念咒语打开石门,举起左手我就念咒语关上石门,如果我做不到或逃跑,你们就用弓箭射死我。”

强盗们当然会同意,因为这个方案不仅对他们没有任何损失,而且还能帮助他们搞清楚阿里巴巴到底是不是真的知道咒语这个问题。阿里巴巴也没有损失,因为处于一箭之地的强盗们听不到他念的咒语,不必担心泄露了秘密,同时他又确信自己的咒语有效,也不会发生被射死的杯具。

强盗举起了右手,只见阿里巴巴的嘴动了几下,石门果真打开了,强盗举起了左手,阿里巴巴的嘴动了几下后石门又关上了。强盗还是有点不信,说不准这是巧合呢,他们不断地换着节奏举右手举左手,石门跟着他们的节奏开开关关,最后强盗们想,如果还认为这只是巧合,自己未免是个傻瓜,那还是相信了阿里巴巴吧。

这样,阿里巴巴既没有告诉强盗进入山洞石门的咒语,同时又向强盗们证明了,他是知识这个咒语的。

这就是零知识证明的一个重要实例[1]。

那么,利用了区块链技术的ZCash,就是利用“零知识证明”实现的匿名性。

 

参考:

[1] http://www.jianshu.com/p/d706b44b1e1e

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值