主页 > imtoken钱包苹果版用不了 > 零知识证明——隐私问题的解决方案
零知识证明——隐私问题的解决方案
使用零知识证明的最著名技术是隐形硬币 Zcash 的 zk-SNARKs。
目前,主流的加密货币,无论是比特币还是以太坊,都是匿名信息披露。 简单来说,没有人会知道钱包的主人是谁,但每个人都知道钱包里有多少钱,进行过哪些交易。 降低人们的使用意愿。
请想象一下,在加密货币支付的生活中,你想在不告诉妻子的情况下购买 SWITCH。 虽然他不直接拥有这个钱包,但他可以很容易地看到你钱包里转了多少钱,转入了哪个钱包。 可以找出你做的好事。
零知识证明是一种非常有趣的验证方式,它可以让矿工在不公开交易信息的情况下验证交易的有效性。
以太坊创始人Vitalik Buterin也曾多次公开赞赏zk-SNARK的零知识证明技术,并表示该技术将有助于提升以太坊的交易速度。
零知识证明
零知识证明到底是什么意思? 以一种有趣的方式向大家解释。
小时候,我没有智能手机或电脑可以玩。 我唯一的乐趣就是玩 Whereis Wally 并找出 Wally 在图片中的位置。 大家可以一起玩耍,回忆一下我没有3C的童年。
如果你在搜索了十分钟后找不到它并开始怀疑我在骗你,那么当 Wally 根本不在画面中时,零知识证明就可以派上用场了!
零知识证明的概念是“在不泄露详细信息的情况下证明你知道真相”。
如果我只告诉你沃利在哪里,那你就玩不下去了,所以我给你一张沃利的截图:
通过这张图,除了可以证明沃利真的存在,我知道它在哪里,既然你不知道沃利的实际位置,你就可以继续寻找沃利。 零知识证明就是这样一个简单的概念。
交互式零知识证明
了解了零知识证明之后,我们再介绍一下什么是交互式零知识证明。 我们也用童年游戏来给大家讲解一下。
一天,阿彩给阿萍一道数独题。 阿平回家玩了三天三夜,却发现自己根本解不开。
因为阿彩平时不老实,阿平怀疑阿彩的问题根本没有答案,随便填了几个数字,第二天就赶紧去找阿彩。
可阿彩却觉得自己是读书人,遇到了军人,所以也说不上来。 这道题显然设计得很有难度,所以阿彩决定用一种方法向阿萍证明,让他知道这道题是真的有道理。 解开。
阿彩让阿平先转身,阿彩拿出81张(9×9)空白卡片放在桌上,在每张纸上写上1-9的数字,然后把81张空白卡片放在桌子上桌子。 卡片按照答案的顺序排列在桌子上。 代表答案的卡片放在桌子上,数字面朝下,公开数字的卡片放在桌子上,数字面朝上。
布置好后,阿彩让阿萍转身,对阿萍说:“现在我已经把一切都安排好了,但是我不会让你看到答案的,你可以选择按行、列或3×排列3、使用九宫格进行测试,可以随意选择。
阿萍不知道阿彩的葫芦里卖的是什么药
“如果你不给我看答案,你可以让我知道你没有骗我。我看看你想耍什么花样。我会选择在“行”和“行”之间测试“行”。”柱子。”
于是阿彩把每一排的牌按顺序收起来,装进麻袋里,把所有的牌都摇了摇。
“好吧,你随便选一个袋子,只要袋子里的数字是1~9,就说明我的问题是对的。”
阿萍打开一个个袋子,仔细检查每个袋子里的卡片。 原来数字确实是1~9,没有重复,阿萍却很不服气。
“那又怎样零知识证明 比特币,‘行’中的数字虽然不重复,但不代表‘列’和‘九格’中的数字不重复。”
一道菜解释
”但我事先并不知道你是按“行”、“列”还是“九格”来查,我是按题解来放牌的,我不怕你选什么。 “
阿萍想了想,的确,只有真正正确解出一道数独,才能保证每行、每列、每格的数字都是1-9,不重复。
如果阿彩真的骗他,阿平起码有1/3的概率能抓到他作弊。
同样的,阿萍把“行”、“列”、“九格”依次核对了好几遍,结果发现包里的数字真的没有重复。
通过这个故事,我们发现阿萍选择了“行”、“列”和“九格”,阿彩收好卡片交给阿萍核对。 就这样,他不断地提供证据,供对方核实。 ,就是所谓的“交互式零知识证明”。
“交互式零知识证明”需要验证者(阿平)在证明者(阿财)给出答案后不断发送随机测试,这是最简单的零知识证明和验证方法。
就像我们打电话给银行客服一样,客服人员会询问你的出生日期和身份证号码,以验证你是否是本人。
但是,这种方法只有在验证者和证明者反对的情况下才能成功。 一旦有第三方介入,验证者和证明者就已经提前勾结,可以在不知道真实答案的情况下进行作弊。
因此,衍生出另一种证明和验证方法“非交互式零知识证明”。
非交互式零知识证明
后来,阿萍和阿彩让阿优一起玩数独。 阿平和阿彩向阿优展示了检查整体的方法。 阿佑默不作声,若有所思。
第二天阿玉找到了阿彩和阿萍
“你平时最喜欢胡闹,我很难相信你,昨天你的验证方式,如果你们两个勾结,得到的答案是不可信的,所以我只做了这台机器的零知识号交互式证明机”。
这台机器基本上把之前阿彩和阿平面对面做的那套证明自动化了,不需要人工交互验证。
只要阿彩把牌放在传送带上,机器会自动选择按行、列或九格收集牌,放入袋子里打乱顺序,然后把袋子通过传送带。 然后阿彩就可以当着大家的面打开袋子,把里面的牌亮出来。
机内有控制面板,可设定“行”、“列”、“九格”的检测顺序。 阿优设置好验证顺序后,就开始焊接外壳了。 没有人会知道验证顺序。 啊,你会的,我可以放心地和他们两个一起玩数数和阅读。
可现在阿彩和阿萍不高兴了。 只有阿优知道验证的顺序,这样他才有机会耍花样。
于是,三人聚在一起,让阿佑重新打开外壳,然后大家一起在控制面板上设置验证顺序。
此过程称为“可信设置仪式”。
阿彩提议把机器放在暗室里,把旋钮上的说明贴纸全部撕掉。
三个人依次进了房间,阿萍还建议大家进房间的时候都蒙上眼睛,保证随机性。
这样一来,他们三人就无从得知最后这些旋钮所代表的验证顺序,从而保证了验证结果的可信度。
“交互式零知识证明”之所以有风险,是因为这个过程需要证明者和验证者之间进行交互式验证,而“非交互式零知识证明”不需要这种交互,但是会需要一些额外的机器或者程序并需要一系列试验。
为了保持验证的公正性,这个测试序列不能被任何人知道。
有了这样的程序和测试序列,证明机就可以自动计算证明,防止任何一方作弊。
区块链中使用的零知识证明采用“非交互式零知识证明”。 交易信息交给程序,程序会给出一个证明给矿工验证。
虽然矿工不知道交易的细节,但他们可以使用这个证明来验证交易的有效性。 最著名的例子就是 Zcash 的 zk-SNARKs 零知识证明技术。
炼金术研究员总结
通过这些故事,我们可以知道零知识证明的本质,就是在不泄露我知道或拥有的东西的情况下,向别人证明我有很大的概率(这点很重要,零知识证明只是一种概率证明)确实知道或拥有该事物。
将零知识证明的概念应用到区块链中,除了解决加密货币的隐私问题外,零知识证明还可以提高网络的效率。
zk-SNARKs 矿工不需要重新执行交易计算,但只要对方提供证明零知识证明 比特币,就可以压缩大量信息,大大提高网络的吞吐量。
投资有风险。 本文观点和意见仅代表作者本人,不构成任何建议。