[原创•区块链关键概念必读系列-07]一分钟教你弄懂零知识证明


一、背景与概念

“零知识证明”其实并不是一个新鲜概念。早在1985年,它就由S.Goldwasser、S.Micali及C.Rackoff提出了。如果要论年龄的话,它可能比很多币圈人士都要老。只不过,那时候停留在数学理论阶段,除了科学界,并没有被很多人熟知。近年来,随着区块链的火爆以及零知识证明在其中的应用,这个概念才逐渐进入大众视野。

所谓零知识证明(Zero-Knowledge Proof),实质上是一种涉及两方或更多方的协议,即两方或更多方完成一项任务所需采取的一系列步骤。证明者向验证者证明并使其相信自己知道或拥有某一消息,但证明过程不能向验证者泄漏任何关于被证明消息的信息。简单理解,就是证明者能够在不向验证者提供任何有用信息的情况下,让验证者相信你。


二、案例

如果没有相关理论基础,很多人第一眼看到上面的概念解释,可能会觉得“这不就是忽悠嘛”。但其实,零知识证明是一种科学的密码学原理,有严密的数学基础。这里,一个有意思的小故事可以帮助大家理解这个概念。

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

这个问题很纠结,山神思考良久后,想了一个好办法。他对强盗说:“你们在离开我一箭远的地方,用弓箭指着我,当你们举起右手我就念咒语打开石门,举起左手我就念咒语关上石门,如果我做不到或逃跑,你们就用弓箭射死我。”

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

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

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

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

三、零知识证明的属性与一般过程

通过山神被抓的故事,我们可以看出,零知识证明必须满足以下3个属性:

(1)正确性,即证明者无法欺骗验证者。换句话讲,如果山神不知道咒语,那么,他能瞒过强盗的概率会很低,因为强盗只要多试几次就知道他有没有咒语了。

(2)完备性,即验证者有足够大的理由相信证明者。在故事中,山神真的知道咒语,所以他可以像故事中讲的一样,做足够多的实验,让强盗相信他不是因为巧合蒙对了一次,而是确确实实知道咒语。如果他不知道咒语,多做几次实验就可能露馅儿,强盗就没有理由相信他知道咒语。

(3)零知识性。验证者无法获取任何额外的知识。强盗虽然知道山神有正确的咒语,但并不知道咒语是什么。

这三个属性是不可分离的,必须同时满足。因为山神给强盗证明他知道咒语,可能存在一种情况——他试了很多次都是巧合,存在证明者欺骗验证者的情况。但只要实验重复得足够多,或者一直重复下去,就会让这种巧合(小概率事件)的可能性降到很低,甚至忽略不计。


四、应用

在区块链中,零知识证明已应用其中,最常见是图灵机的计算模型(后续会专门细讲)。另一个应用是ZCash,用零知识证明来实现交易过程的匿名性。

相比于ZCash而言,比特币的转账有一个特点,那就是不匿名。只要我们知道了比特币地址,任何人都可以查到它的所有交易行为信息,比如从谁那里收了币,又转给了谁,一清二楚。这对于某些领域,比如反洗钱,当然是极好的,但对于另一些人,可能就不那么讨人喜欢了。比如一个普通人,花钱去买什么东西,给谁买了礼物,他可能并不想让别人知道。如果大家都能随意查到,他会觉得自己的隐私权受到了侵犯。ZCash的零知识证明,就解决了这部分用户的需求。

在比特币交易中,如果A有3个比特币,要给B转账1个比特币,那么在账本上就会记录着:A转出了两笔比特币,一笔为1比特币,转给了B;另一笔为2比特币,转给了自己。

那么,利用“零知识证明”的ZCash是怎么做到实现匿名交易的呢?

如果A有3个币,要给B转账1个币。A会先把1个币分成若干份随机放进一个“混合熔炉”里,并指定B的接收地址。在这个熔炉里,同时在里面的还有其他人(交易方)放入的若干份币。这些币又被熔炉随机拆分,再随机组合,然后从被“大杂烩”的币中若干份,合成为1个币,转移到B的地址中。

这样的话,经过一系列 “混合”,我们只能知道A给了B一个币,却无法知道A的交易地址等信息,因为B受到的币实际上是多个交易者“杂烩”而成,并不能准确识别它来自哪里。

五、零知识证明的优缺点和意义

通过以上解释,我们不难看出,零知识证明最大的优点就是保护了交易的匿名性,减少了双方交换的信息。对匿名隐私保护的更彻底,可以有效解决很多问题。

但这并不意味着零知识证明就没有缺陷,它也可能导致一些问题。

首先,通过零知识证明实现匿名性,所需要的证明信息和计算量比较多。从上面比特币和ZCash的交易过程中我们就可以看出这点,熔炉再造需要大量的拆分和重新组合。这就有可能带来大量的资源浪费,也导致了它的可扩展性面临挑战。

另外,匿名性可能会被某些不法分子利用,增加监管难度。比特币透明交易的技术,可以用做很好的反洗钱工具,而ZCash恰好相反,可能为洗钱提供大量的便利。另外,像黄、赌、毒这些产业,如果利用零知识证明,将会给追踪和监管带来非常多的困难,造成一些社会问题。

所以,零知识证明本身有优点也有缺点,关键看应用于什么领域。未来零知识证明会在区块链中有怎样的发展,一方面取决于从业者如何利用它,另一方面也取决于监管部门如何对待。当然,如果能够出现一种弥补零知识证明的缺陷的新技术,那将为零知识证明的应用打开广阔的空间。


参考文献:

(1)区块链解读-零知识证明 - CSDN博客

(2)一文读懂区块链之 - 零知识证明 - 区块网

(3)区块链行业词典-甲子光年

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,012评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,628评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,653评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,485评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,574评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,590评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,596评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,340评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,794评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,102评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,276评论 1 344
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,940评论 5 339
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,583评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,201评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,441评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,173评论 2 366
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,136评论 2 352

推荐阅读更多精彩内容