其他
Zk在互联网上有很多教程,无独有偶,只有两种方法介绍,一个是alice和Bob的证明验证故事,一个是数独9宫格的验证故事。我们觉得历史上的真实事件会更有意思的、更生动,更便于让大家理解什么是zk。我们将在zkpdao分享中更详细的给大家剖析zk与黄金劫案的原理关系。1931年,上海地下组织被叛徒出卖,我党许多同志被捕,急需一笔资金转移并医治受伤的地下工作者。由瑞金苏区筹集的120两黄金在送往上海途中失窃,导致上海地下组织损失惨重。让我们看看黄金运输途中与zk有哪些一致的地方。环境输送线路图黄金输送过程中的zk黄金运送过程设计了周密的安全措施与zk如出一辙。运送过程交通员会在除起点瑞金外,包括南平、福州、温州、金华、杭州、松江、上海七个地点进行交接和传递。为了保证黄金安全输送到目的地,在接头暗号、棋子、钥匙的三重印证之下确保交通员的安全。接头暗号除瑞金(起点)外,其他地点皆由不同交通员负责,必须对上接头暗号并确认自己身份后,装有黄金的小盒子才会交到下一任交通员手中。暗号与钥匙作用相似双重认证,但是钥匙是实证物,暗号就是一串信息,避免暗号被泄露的风险,与我们在zk和e2ee里的私钥相似,私钥一旦泄露没法修改,暗号也一样,任务一旦开始来不及修改七个人的暗号。棋子一枚印有“快”字的棋子被分为七份,每个交通员持有一块棋子。只有当棋子完全对上时,才能证明自己交通员的身份。每当完成一段护送任务,交通员就会将棋子送回苏区。若是规定时间内棋子没有送回,苏区就可以凭借棋子判断哪一段路上的运输出了问题,方便及时补救。棋子是为了任务发起者能够最后复原证明任务执行完毕。钥匙除了街头暗号和棋子外,每一位交通员持有一把钥匙加一把锁(第一位交通员无锁)。钥匙是自己身份的象征,只有打开盒子上的锁才能证明自己的身份。上一任交通员带来的箱子被打开后,交通员就将盒子换上自己手中的锁,而这把锁的钥匙则在下一任交通员手中。锁就是加密的过程。交通员接头的zk过程两位交通员必须同时完成接头暗号匹配、棋子分片匹配和钥匙开锁才能进行黄金的传递,这个过程就是证明和认证过程的体现。黄金就是证明者拥有的原始数据内容,在交通员交接黄金过程中,并没有把原始内容(黄金)直接提供给下一位交通员,而是通过事先约定好的三种接头方式,这三种接头方式中的内容就类比零知识证明中的零知陈述。接头动作就是验证过程。可惜如此周密的计划,还是在松江到上海的最后一段路上出现了意外:第六名交通员到达松江汉源客栈后,忐忑不安地等待最后一位联络员的到来。虽然不知道箱子里装的是什么,可看到这次任务的保密程度就知道其重要性。交通员拿出棋子与手中的棋子相比对,而后又对上联络语,这才确定了他的身份。当着他的面,这名交通员将箱子上的锁打开,然后换上自己手中的锁,而后拿着箱子转身离去。到此为止,连来接头的交通员的名字都不清楚。他任务顺利完成,就放下心来,将自己手中的棋子送回苏区,继续投入革命工作中。另一边,最后一位交通员从汉源客栈离开后,谁料当他即将抵达上海时突然被人迷晕,连对方是谁都不知道就被扔进一家旅馆中,醒来后箱子早已不见踪影。他担心回去无法交差,于是隐姓埋名远走他乡。临走之前,交通员让旅店老板写了一封证明信,证明自己是被迷晕扔进了旅馆,并将其藏到自己家中的瓦罐里,以便日后需要时证明自己的清白。此后的时间里,这位交通员再没有露过面,上海地下组织也因为黄金丢失后无法打点国民党高官,最终造成11名工作人员牺牲。从送回苏区的棋子来看,只有最后一块缺失,交通员也毫无踪影,看来问题就出在这里,但细心的调查员第六位交通员不经意的一句话中捕捉到重要信息:“我刚到松江,接头人就找到了我。”这就意味着第七位联络人早就到达了松江,顺着线索找到了第七位联络员,最终查清了第七位联络员被迷晕以及黄金被盗的过程。总结这个故事是真实发生的,传递过程非常便于大家理解,也就更容易解释zk的理念,更会发现zk不是因为发明了计算机才有的。零知识证明是既能充分证明自己是某种权益的合法拥有者,又不把有关的信息泄露出去——即给外界的“知识”为“零”。zk的学术概念是由S.Goldwasser、S.Micali及C.Rackoff在20世纪80年代初提出,由此可见,老一辈革命者们早就运用了zk。此外,本篇文章是为了zkpdao即将于本周举办的关于“快速走进ZK赛道(一)——探索zk技术与应用方向”的线上主题分享活动中关于介绍zk的概念而特意撰写的,从而引起更多人对zk有兴趣和关注,希望吸收更多的爱好者,一起研究,一起建设zkpdao。了解更多zkpDAO的线上主题分享活动,关注更多zk资讯、研究内容,欢迎加入“zkpDAO”社群。zklog专注零知识证明、web3领域的研究和资讯加入zkpDAO社群