当前位置: 首页 > 科技观察

零知识证明:像5岁孩子一样解释它(万圣节版)

时间:2023-03-23 12:05:18 科技观察

解释密码学很难,用简单的语言解释密码学更难。向孩子解释零知识证明?简单的!所以,给你-ZKP用一些万圣节糖果解释。本系列前几篇文章:ExplainLikeI'm5:End-to-endEncryption[1]零知识协议零知识协议(或零知识密码学证明,ZKP)是一种不交换密码的认证方式,这意味着它们不能被盗。这很酷,因为它使您的通信变得如此安全和受到保护,以至于没有人可以发现您正在通信的内容或您正在与彼此共享的文件。ZKP允许你向通信另一“端”的人证明你知道一些秘密(或许多秘密),而无需实际透露它。“零知识”一词源于这样一个事实,即没有(“零”)有关秘密的信息被泄露,但第二方(称为“验证者”)(正确地)认为第一方(称为“证明者”))")知道关于它的秘密。为什么你需要证明你知道这个秘密而不说出来?当你不信任对方,但仍然需要说服对方你知道这个秘密。所以这个过程是什么样的?糖果棒和百万富翁让我们在鲍勃和爱丽丝的帮助下进行说明,因为他们为万圣节准备了一些巧克力棒。他们想知道他们是否收到了相同数量的糖果,但没有透露他们的巧克力数量因为他们不想分享。假设他们的“不给糖就捣蛋”袋子里正好有10、20、30或40块巧克力。为了比较他们在不分享实际数量的情况下得到的巧克力块数量,Bob得到4个可上锁的盒子,并在每个盒子上贴上标签,上面写着10、20、30或40(巧克力棒)。Bo然后b扔掉所有钥匙,除了他得到的巧克力条数对应的盒子钥匙(假设他有20块巧克力条)并离开。爱丽丝拿了4张小纸片,在一张纸上写上“+”,在另一张纸上写上“-”。然后,她将“+”块通过一个槽滑入数字与她得到的糖果数量相对应的盒子(假设她有30颗糖果),然后将“-”块滑入其余的一些盒子并离开。Bob回去打开他还有钥匙的盒子——那个盒子对应他得到的糖果数量——然后看看里面是“+”还是“-”。如果是“加号”,则爱丽丝的包里有相同数量的巧克力棒。如果纸条上写着“-”,这意味着他们有不同数量的糖果(但仍然不会互相分享)。我们知道Bob的包里有20块巧克力,Alice的包里有30块巧克力。通过打开盒子并找到上面有“减号”的纸片,Bob得知他和Alice有不同数量的糖果。但是他查不出爱丽丝的巧克力是多了还是少了。爱丽丝也回来了,看到鲍勃有一张纸,上面有一个“减号”。所以他有不同数量的糖果。但是爱丽丝和鲍勃仍然不知道他们每人有多少巧克力。他们只知道他们没有相同的数量。这个例子的形式略有不同,被广泛称为Yao的百万富翁问题[2],其中两个百万富翁想知道他们是否拥有相同数量的钱,但没有透露确切的数量。这是ZKP如何工作的一个简单示例。原文:https://hackernoon.com/eli5-zero-knowledge-proof-78a276db9eff