零知识证明-概念-如何给孩子讲零知识证明协议

139 阅读10分钟

如何给孩子讲零知识证明协议

原文来自How to explain zero-knowledge protocols to your children

作者:QUISQUATER Jean-Jacques、Myniam Muriel、Michael GUILLOU Louis、Marie Annick、Gaid Anna、Gwenole、Soazig

阿里巴巴的奇洞奇遇

孩子们,要知道,很久很久以前,在东方城市巴格达,住着一位名叫阿里巴巴的老人。阿里巴巴每天都会去集市买卖东西。这个故事一部分是关于阿里巴巴的,另一部分则是关于一个山洞,一个神秘的山洞,它的秘密和奇妙之处一直流传至今。但我有点说早了……

有一天,在巴格达集市上,一个小偷抢走了阿里巴巴的钱包,阿里巴巴立刻追了上去。小偷逃进了一个山洞,山洞入口分成两条黑暗蜿蜒的通道。

阿里巴巴没看到小偷进了哪条通道,他必须做出选择,最后决定走左边那条。左边的通道是个死胡同,阿里巴巴从岔路口一直找到尽头,都没找到小偷。他心想小偷可能在另一条通道,于是又去搜右边的通道,结果也是死胡同,依旧没找到小偷。“这山洞真奇怪,” 阿里巴巴自言自语道,“我的小偷去哪儿了?”

image.png

第二天,又有一个小偷抢走了阿里巴巴的篮子,像之前那个小偷一样逃进了这个神秘山洞。阿里巴巴追了上去,还是没看到小偷走哪条路。这次他决定搜右边通道,一直走到尽头,还是没找到小偷。他心想,和第一个小偷一样,这个小偷也很幸运,选了他没搜的那条路,这无疑又让小偷溜走,悄悄混入了拥挤的集市。

日子一天天过去,每天都有小偷来抢阿里巴巴的东西。阿里巴巴每次都追,但一个也没抓到。到了第四十天,第四十个小偷抢走了阿里巴巴的头巾,像之前那三十九个小偷一样逃进了山洞。阿里巴巴还是没看到小偷走哪条路,这次他决定搜左边通道,可到通道尽头还是没找到小偷。阿里巴巴十分困惑。

他本可以像之前一样安慰自己,说第四十个小偷和其他三十九个小偷一样幸运,但这个解释太牵强,连他自己都不信。四十个小偷都这么幸运,这绝不可能是巧合,四十个小偷都逃脱的概率只有万亿分之一!所以阿里巴巴心想,肯定还有更合理的解释。他开始怀疑这个神秘山洞藏着什么秘密!

于是,阿里巴巴决定探寻这个神秘山洞的秘密。他决定藏在右边通道尽头的几个麻袋下面。经过漫长又难受的等待,他看到一个小偷来了。小偷察觉到被失主追赶,便小声念起了咒语:“芝麻开门。” 阿里巴巴惊讶地看到山洞的墙壁滑开了,小偷跑了进去,随后墙壁又滑了回去。追赶的人来了,只看到通道尽头麻袋下的阿里巴巴,小偷已经逃走了。但阿里巴巴很高兴,因为他发现了神秘山洞的秘密。

image.png

阿里巴巴试着念咒语,惊讶地发现墙壁滑开后,右边通道和左边通道是相通的。这下阿里巴巴明白那四十个小偷是怎么从他眼皮子底下逃走的了。

阿里巴巴不断研究咒语,最后成功用新咒语替换了原来的,就像更换一些挂锁的密码组合一样。第二天,一个小偷就被抓住了。阿里巴巴把这个故事和他的发现记录在一份精美的手绘手稿里。他没有写下新咒语,但在里面留下了一些微妙的线索。

手稿的命运

阿里巴巴这份精美的手绘手稿在中世纪传到了意大利,如今在美国波士顿附近。最近,它引起了几位好奇的研究人员的极大关注。通过解读手稿里的微妙线索,这些研究人员甚至还原出了新咒语!

在对古老巴格达集市的废墟进行几次考古挖掘后,神秘山洞的位置被确定了。它并非虚构!而且,尽管历经数个世纪,咒语依然有效。好奇的研究人员兴奋地穿过了两条通道之间的尽头墙壁。

电视网络很快得知了巴格达发生的这些不寻常事件。一家美国大型电视网甚至获得了这个故事的独家报道权。其中一位研究人员米克・阿里,可能是阿里巴巴的后代,他想证明自己知道这个秘密,但又不想泄露秘密。于是他是这么做的:

首先,一个电视摄制组详细拍摄了这个有两条死胡同通道的山洞。然后所有人都走出山洞,米克・阿里独自返回,走进其中一条通道。接着,记者带着摄像机走到岔路口,在那里抛硬币决定让米克从右边还是左边出来。如果硬币正面朝上,就叫米克从右边出来;如果反面朝上,就叫他从左边出来。结果硬币正面朝上,记者大声喊道:“米克,从右边出来。” 米克照做了。

为了纪念那四十个小偷,这个演示场景重复了四十次。每次所有人都走出山洞,米克独自走进其中一条通道,然后记者和摄像机走到岔路口,抛硬币决定让米克从哪边走出来。米克在这四十次演示中全部成功。

任何不知道山洞秘密的人,第一次就会露馅。对于不知道秘密的人来说,每次新测试成功的概率都会减半。而知道秘密的米克,每次都能按要求的出口出来。

嫉妒的记者

另一家电视网的一名记者心生嫉妒,也想拍摄这个神秘山洞的故事。米克拒绝参与,因为他已经把这个故事的独家报道权给了第一家电视网。

但米克调皮地向嫉妒的记者提议,即使不知道秘密也能拍出这个故事。嫉妒的记者想了又想,终于明白了。他心想:“我认识一个长得很像米克・阿里的舞台剧演员,别人很容易把他认错。”

于是第二个故事开始拍摄。拍摄过程中,有一半的场景都拍砸了,因为米克的替身不知道怎么在两条通道之间穿行!嫉妒的记者剪辑了录像带,只保留了成功的场景,凑够了四十个。

这两个故事在同一个晚上的同一时间,由两家竞争的美国电视网播出。这件事闹上了法庭,两盘录像带都作为证据提交。但法官和专家们无法分辨这两盘录像带。哪盘是模拟的?哪盘是真的?仅靠录像带无法做出判断。

模拟的录像带显然没有透露秘密,但模拟的和真实的录像带难以区分。所以真实的录像带也没有传达出秘密。获得独家报道权的记者当时坚信米克・阿里知道秘密,但他无法在法庭上让法官信服,也无法让电视观众相信。

米克・阿里达到了他真正的目的。事实上,他想证明,在不泄露秘密的情况下也能让人信服,不用揭开自己的秘密。

并行测试

与此同时,以色列的其他研究人员发现,通过使用多个秘密并进行并行测试,可以减少拍摄的场景数量,也就是说,缩短认证的时长。

他们设想有一栋公寓楼,每层都有一个山洞,每个山洞都有自己的咒语。他们每层只需多找一个演员。可以同时拍摄所有楼层,看看演员从每层的哪个出口出来。

他们甚至提出了一种数学解决方案,用一个数字作为证明的回复,就能替代许多演员。

不过,在秘密数量和拍摄场景数量之间找到的平衡并不总是最优的。要是只有一个秘密和一个场景就好了。

此外,随着秘密数量的增加,通过连续尝试进行模拟会越来越不现实。当无法通过连续尝试进行模拟时,是不是就没有知识的传递了呢?

预先约定

这一切引起了一些欧洲研究人员的极大兴趣。他们发现,无论是连续版本还是并行版本,都存在一个问题。为了节省拍摄时间,嫉妒的记者和米克・阿里的替身要是能提前商量好一份包含四十次左右选择的随机列表就好了。拍摄时,嫉妒的记者假装在心里随机选择问题,而替身因为提前知道会被问到的问题,即便不知道秘密,也能一次又一次地通过所有测试。

因此,除了只保留成功场景的连续尝试模拟技术外,又出现了一种证明者和验证者预先约定的模拟技术。

单个秘密

针对这一发现,人们建造了一个新山洞(改良山洞),里面有更多在岔路口结束的通道。当然,随着通道数量的增加,山洞的实际建造变得困难。不可能建造一个有万亿条通道的山洞。但不管通道数量有多少,都可以通过预先约定进行模拟。一种更数学化的方案是让验证者从一组万亿个问题中选择一个问题。通过一次测试,就能直接达到在有两条通道的山洞里进行四十次连续测试所获得的安全级别。

image.png

法庭完全无法区分两盘录像带:一盘是真实演示,另一盘是通过预先约定进行的模拟。所以,即使问题的规模很大,演示也无法表明对秘密价值的知晓。

尾声

孩子们,你们已经听过阿里巴巴是如何发现神秘山洞的秘密,以及他的后代,聪明的研究人员米克・阿里,是如何在不告诉电视记者秘密内容的情况下,让记者相信他知道这个秘密的。无数人在电视上看到了米克・阿里,他因此成名,还在世界各地经历了许多冒险。他至今仍未透露神秘山洞的秘密,但让包括我在内的许多人相信他确实知道这个秘密。对秘密的保守让我想起了默克尔 - 赫尔曼和他的超递增背包的故事。但时间不早了,那是另一个故事,以后再说吧。

致谢

感谢吉勒斯・布拉萨德一直以来的关注和支持。