区块链零知识证明是什么意思

当前位置:首页 > 币圈百科 > 区块链零知识证明是什么意思

区块链零知识证明是什么意思

2022-11-14币圈百科247

用零知识证明最著名的技术是隐形币?Zcash?实际上zk-SNARKs?目前主流的加密货币,无论是比特币还是以太坊,都是匿名的。简单来说,没有人会知道钱包的主人是谁,但每个人都知道钱包里有多少钱,做了哪些交易,这会大大降低人们的使用意愿。想象一下,在加密货币支付的生活中,你想在老婆不知情的情况下买SWITCH。虽然他并不直接拥有钱包,但是他可以看到你钱包里转出的钱数,以及你转到了哪个钱包里,这样你就很容易发现你做了什么。零知识证明是一种非常有趣的验证方法。矿工可以在不披露交易信息的情况下验证交易的有效性。以太坊创始人Vitalik Buterin曾多次公开称赞zk-SNARK的零知识证明技术,并表示该技术有助于提高以太坊的交易速度。

零知识证明

零知识证明到底是什么意思?用有趣的方式解释给大家听。

零知识证明-wally蓑衣网小编2022

小时候没有智能手机,也没有电脑可以玩。唯一的乐趣就是玩“沃利在哪里”,找出沃利在照片中的位置。你可以开心地回忆没有3C的童年。如果你找了十分钟都找不到,开始怀疑我在骗你,当Wally根本不在画面里的时候,零知识证明就可以派上用场了!

零知识证明的概念是“证明你知道真相而不透露详细信息”。如果我直接告诉你Wally在哪里,那么你就无法继续玩下去了,所以我给你一张Wally的截图:

零知识证明-wally thumbnail蓑衣网小编2022

通过这张图,除了能够证明Wally真的存在,我知道它在哪里,你还可以继续找Wally,因为你不知道它的实际位置。零知识证明就是这么简单的概念。

交互式零知识证明

了解了零知识证明之后,我们来介绍一下什么是交互式零知识证明。我们也用小时候的游戏给你解释一下。

有一天,阿财给阿平出了一道数独题。阿萍回家玩了三天三夜发现根本解决不了。由于阿蔡通常不诚实,阿萍怀疑阿蔡根本没有回答这个问题。他只是随便填了几个数字,第二天就怒气冲冲地跑去找一个蔡。

但是,阿彩觉得自己是一个遇到兵的书生,说不出实话。这个题目明明设计的难度很大,阿蔡还是决定用某种方式证明给阿萍看,让他知道这个题目真的是可解的。

阿才让阿平先转过去。阿彩拿出81张(99)空白卡片,放在桌子上。在每张纸上,他写了一个从1到9的数字。然后,81张卡片按照答案顺序排列在桌子上,代表谜底。数字面朝上放在桌子上,数字面朝上放在桌子上。

零知识证明-数读1

排好之后,阿财叫阿萍转过身来,对阿萍说:“现在我已经把一切都排好了,但不会给你看答案。你可以随意选择按行、按列或者按33方格来检查。你可以选择任何一个。

阿萍不知道白菜里卖的什么药

“如果你不给我看答案,你可以让我知道你没有骗我。我看看你在做什么。我选择在“行”和“列”中测试“行”。

于是阿蔡把各蓑衣网小编2022排的牌按顺序放好,装进麻袋,把牌都抖了。

零知识证明-数读2

“好吧,你可以选择任何一个包。只要袋子里的数字是1~9,就说明我的题目没有问题。

阿萍打开每个袋子,仔细检查每个袋子里的卡片。结果数字都是1~9,没有重复,但阿萍不服气。

“那又怎样?虽然“行”的数字没有重复,但不代表“列”和“九宫格”的数字没有重复。

阿蔡解释

“但是我事先不知道你会按照“行”、“列”还是“九宫格”来考。 我是按照问题的答案放的牌,不怕你选什么。”

阿萍想了一下。的确,只有一个数独真正正确的解,才能保证每一行、每一列、每九个方格中的数字都是1-9,没有重复。如果阿蔡真的在骗他,阿萍至少有1/3的概率抓到他出轨。

阿萍用同样的方法依次检查了几次“行”、“列”、“九宫格”。结果袋子里的数字真的没有重复。

通过这个故事,我们发现,阿萍选择了“行”、“列”、“九宫格”,阿才把牌收起来交给阿萍验证。于是,他不断出示证据进行验证,这就是所谓的“交互式零知识证明”。

“交互式零知识证明”要求验证者(阿平)在证明者(阿蔡)放上答案后,持续发送随机测试。是最简单的零知识证明和验证方式。

这就好比我们打电话给银行的客服,客服人员会问你的出生日期和身份证号码,以验证你是不是自己。然而,这种方法只有在验证者反对证明者的情况下才能成功。一旦涉及到第三方,验证和证明双方事先串通好,那么他们就可以在不知道真实答案的情况下作弊。由此衍生出另一种证明验证方式,非交互式零知识证明。

非交互式零知识证明

后来,阿萍和阿财找阿友玩数独,阿萍和阿财给阿友演示了这种检查方式。阿萍把“行”“列”“九宫格”查了一圈后,只见阿友沉默不语,若有所思。

第二天,阿友找到了阿财和阿萍

“你们平时爱鬼混,我很难信任你们。昨天你的验证方法,如果你们两个串通好了,就不值得信任了,所以我把这个机器做成了“零知识数独非交互证明机”。

该机基本自动化了之前阿财和阿萍面对面做的那套校样,不再需要人工交互验证。只要你把牌放在传送带上,机器就会自动选择把牌按行、列、或方块收集起来,放在袋子里打乱顺序,然后通过传送带把袋子送出去。然后阿蔡就可以当着大家的面打开袋子露出里面的卡片。

零知识证明-证明机

机器内有控制面板,可以设定“行”“列”“九宫格”的检查顺序。阿友设置好验证序列后会把外壳焊死,没有人会知道验证序列,阿友可以和他们一起玩,放心阅读。

但是现在,换个蔡和阿萍都不开心。只有阿友知道验证的顺序,才会有机会耍花招。于是,他们三个凑在一起,让阿友再开一次壳,然后一起在控制面板上设置验证顺序。这个过程被称为“可信设置仪式”。

阿蔡提议把这台机器放在暗室里,把旋钮上的指示灯贴纸全部撕掉。三个人轮流进入房间,阿萍还建议每个人进入房间都要蒙上眼睛,保证随机性。这样三者都没有办法知道最后这些旋钮所代表的验证顺序,从而保证了验证结果的可信度。

“交互式零知识证明”之所以有风险,是因为这个过程需要证明者和验证者相互验证。而“非交互零知识证明”不需要这种交互,但会需要一些额外的机器或程序以及一系列的测试序列,不能让任何人知道,以维持验证的公平性。有了这样的程序和测试序列,证明机可以自动计算出一个证明,并且可以防止任何一方作弊。

区块链使用的零知识证明是“非交互式零知识证明”。当交易信息给了程序,程序会给矿工一个证书进行验证。矿工虽然不知道交易的细节,但是可以通过这个证书来验证交易的有效性。 最著名的例子就是Zcash的zk-SNARKs零知识证明技术。

总结

通过这些故事,我们可以知道零知识证明的本质,就是向别人证明我有很大的概率(这个很重要,零知识证明只是一个概率证明)我实际上知道或者拥有某样东西,而没有透露出来。

[x]将零知识证明的概念应用于区块链,不仅可以解决加密货币的隐私问题,还可以提高网络的效率。有了zk-SNARKs,挖掘者不必重新执行交易计算,只需要对方出示一个证书,就可以压缩大量的信息,大大提高网络的吞吐量。[x]
区块链零知识证明是什么意思 | 分享给朋友: