快速理解零知识证明及其使用场景
ZK 是加密货币中最强大的叙事之一。
zkGM、zkSNARK、zkSTARK、zkEVM、zkSync、zkDai、zkML
ZK的嗡嗡声到底是怎么回事?
是时候解码零知识现象了。
插图:@maramakesmemes
零知识证明(ZKP)是一种加密方法,其中一方,即证明者,可以向另一方,即验证者,证明他们知道一个特定的信息,而不需要传达关于信息本身的任何细节。
为了更好地解释这个概念,我写了一个故事:
在一个足球至上的小镇上,两个最好的朋友罗伯托和里瓦尔多即将开始一项挑战,这将永远改变他们的生活。
他们中的一个人发现了一个强大的秘密,可以使他成为终极足球冠军。
该镇对足球的热爱是无止境的。
每个孩子都梦想着成为一名明星球员,罗伯托和里瓦尔多也不例外。
他们持续的竞争围绕着一个问题展开:谁能把球踢得更远?
一个决定性的日子,罗伯托提出了一个大胆的主张。
他发现了一种秘密技术,可以让他踢倒镇上的任何人。
但他在万众期待的大比赛之前不会透露,这让里瓦尔多和整个镇上的人都充满了好奇。
为了证明自己的说法,同时又不暴露秘密,罗伯托制定了一个计划
他在足球场上搭建了一个不透明的大帐篷,在里面展示他神秘的新能力。
他们同意继续比赛,直到罗伯托失败或里瓦尔多被说服。
里瓦尔多站在帐篷外,动态地在球场上设置了一系列任意的距离标记。
每个标记代表一个新的挑战。
罗伯托进入帐篷,并开始踢球。
根据罗伯托的结果,里瓦尔多会设置一个新的标记,以便让罗伯托的比赛更加困难。
里瓦尔多目瞪口呆地看着球落在每个标记之外。
随着罗伯托的秘密技术继续产生惊人的效果,悬念随着每一次踢球而增加。
里瓦尔多不禁想知道,这种神秘的技术是什么,它将如何影响这场大比赛?
结局是,罗伯托从未透露他的秘密,但里瓦尔多成为了他朋友新发现的能力的真正信徒。
他们共同欢笑,因为他们期待着大比赛带来的敬畏和兴奋,让整个小镇急切地等待着罗伯托的秘密最终被揭开的那一天。
这里描述的其实是是“交互式ZKP”(IZKP),其中验证者和证明者积极地参与。
然而,由于区块链的可扩展性和性能问题,验证者和核查者之间的多轮互动是不可取的。
去除双方的多次通信,不仅提高了协议的性能,而且任何一方都不需要是现场的(异步通信)。
现在,对于好奇的读者,我们提出三个问题:
1/ 如何改变游戏,使之成为非交互式的?
2/ 如何改变游戏,使里瓦尔多只满足于验证一次?
3/ 罗伯托是否有机会欺骗里瓦尔多?
现在我们已经解开了 ZKP 的神秘面纱,让我们来看看它的一些使用案例。
- 安全投票系统
在投票系统中,ZKP 可用于确认投票是否正确并被计算在内,而不透露个人投给谁。
这有助于维护投票过程的完整性和匿名性。
- 医疗记录
ZKP 可以用来证明医疗记录或测试结果的准确性,而不透露基本数据。
例如,它可以用来确认一个人对某种疾病的测试是阴性的,而不透露任何其他医疗信息。
- 信用检查
在金融服务领域,ZKP 可用于进行信用检查,而不透露具体的财务细节。
例如,证明一个人的信用分数高于某一水平,而不透露具体分数或其他财务细节。
- 年龄验证
想象一下这样一个场景:你渴望加入一个仅限 20 岁或以上的人参加的聚会。
然而,你对披露你的确切年龄或透露你的个人身份信息感到不舒服。
在 ZKP 的帮助下,你可以做到这一点。
- 供应链
ZKP 确保供应链的透明度,同时保护商业机密。
它们验证货物的原产地、储存和对标准的遵守情况,而不泄露敏感数据。
它们平衡了可审计性和保密性,提供了一个双赢的局面。