隐私计算词典丨安全多方计算番外篇之「零知识证明」

论道隐私计算

    前言:隐私计算赛道作为当下的风口赛道,无数企业纷纷涌入,抢跑占道。作为一家专注于区块链隐私计算赛道科普入门的垂直媒体,同时也是针对隐私计算兴趣者开放的低门槛入口,我们汇总并分类了隐私计算行业内晦涩难懂的名词,编写了「隐私计算词典」板块,帮助大家理解、学习。
    上篇我们介绍了隐私计算技术之「安全多方计算」,而在安全多方计算领域,「零知识证明」被归于是安全多方计算常用的技术手段之一。相对其他技术而言,零知识证明的概念通俗易懂,也更易于大家理解隐私计算技术具体如何实现数据的可用不可见。
    顾名思义,零知识证明用于向验证者证明某个问题,并且在整个验证过程中,证明者能够在不向验证者提供任何有用信息的前提下,使验证者相信某个论断是正确的
    
    实质上,零知识证明是一种涉及两方或多方的协议,即两方或多方完成一项任务所需采取的一系列数据加密步骤。大量事实证明,零知识证明在密码学中非常有用,如果能够将零知识证明用于验证,可以有效解决许多问题。
    那么,零知识证明具体如何起到加密验证作用?我们通过举例说明——?
    
  • 钥匙之谜

    有 A、B 两人,某天 A 想向 B 证明她有 C 房间大门的钥匙,此时她有两种选择????:?
    
  1. 直接拿出 C 房门的钥匙,打开房门证明自己持有的钥匙就是 C 房门的钥匙
  2. 不拿出 C 房门的钥匙,而是拿出 C 房间里独有的物品,且不损坏 C 房门,向 B 证明自己拥有进入 C 房门的能力(也就是拥有 C 房门的钥匙)

    在以上情境中,第二种验证方式便属于零知识证明。?而在日常情境下,C 房间大门的钥匙便是人们不愿意直接公开的隐私数据,通过使用零知识证明,既可以实现隐私数据不可见,又能够将其投入使用,使其产生相应的数据价值
    初步理解了概念后,我们再将零知识证明技术放到著名的「姚氏百万富翁问题」的情境中,进一步说明为何此项技术会被广泛用于安全多方计算领域。?
    
  • 百万富翁难题

    某天,Alice 和 Bob 两个百万富翁在街上相遇,他们俩想知道谁更富有,但又不想让对方或者其他人知道自己拥有的资产数。那么,如何在没有可信第三方的前提下实现两者资产比较?
    我们先假设 Alice 拥有 a 百万财富,Bob 有 b 百万财富,并且他们俩互不知道。?
    
    Alice 依次在房间里排列十个箱子,因为 Alice 有 a 百万财富,于是她在顺数的前 a 个箱子中放置了自己写 ??的纸条,剩余箱子中放置了写 ? 的纸条,放置完所有的纸条后,Alice 使用钥匙把十个箱子依次锁好。?
    Alice 出了房间后,告诉了 Bob 她在房间里设置的逻辑,让 Bob 进去按顺序拿箱子。?Bob 按照逻辑,从房间里拿出了顺数第b个箱子,在出房间时,Bob 为了不让 Alice 知道自己拿的是第几个箱子,一把火烧了房间里剩余的其他箱子。?
    最后,Alice 用钥匙打开了 Bob 拿出的箱子,此时会产生两种结果:?
    
  1. 如果 Bob 的箱子里的纸条写着 ?,则 Alice 便知道 a<b,Bob 更富有;
  2. 如果 Bob 的箱子里的纸条写着 ?,则 Alice 便知道 a≥b,Alice 比 Bob 更富有或是两者财富持平。

    在此情境中,Alice 和 Bob 使用的便是零知识证明技术,除了得到最终的结论(a<b 或 a≥b)之外,未得出任何与 a 或 b 相关的其他数据信息,也无法通过结论反推出 a、b,如此保证了 Alice 和 Bob 资产数的隐私性和安全性,解决了百万富翁难题。?
    而放置到安全多方计算领域中分析,Alice、Bob 两人共同作为协同计算的参与方,数据由房间里的带锁的箱子进行加密,在密码学中,锁??代表公钥,所有人都可以对数据用公钥进行加密,而锁对应的钥匙??便称为私钥,只有私钥拥有者才能用把锁打开,对数据进行解密。?
    
    如果 Alice 和 Bob 想获取更加准确的结果,则需要更加复杂的算法支撑,感兴趣的小伙伴可以多去学习密码学相关的资料。
    相信大家阅读完此篇,能对零知识证明的概念有了更清晰的认识。
    在现实生活中,使用类似零知识证明协议,保证在不泄露隐私的前提实现共享数据的价值的用例非常广泛。例如,《安全多方计算》篇中提到的金融、医疗、教育行业等等。
    
    事实上,数据经济时代下,人们获得的有利数据越多,越能通过算法技术分析出真实、准确的数据。
    然而,数据流通的痛点和诉求意味着信息和数据在成为社会生产资料的同时,既要保证数据能够流通、共享,更要注重加强数据的确权与保护,这也是为什么国家多次出台政策法规文件,保护个人信息安全、防止数据被过度收集和滥用的原因。
    零知识证明可以说是隐私计算技术中的最基本的技术之一,虽然本文中我们尽可能用最简易的例子对此项技术进行说明,但实际上,技术都是通过算法实现,根据已有算法的复杂程度度,要想运用好每一项隐私计算技术都道阻且长。?
    不过,正是有了这些技术,为复杂的隐私安全计算推开了一扇门。未来需要突破的技术难点还很多,技术优化还有很长的路要走,但相信在计算能力日益强大的时代下,在现实需求的不断增长下,隐私计算技术终将迎来突破