找回密码
 立即注册

扫一扫,登录网站

首页 百科 查看内容
  • 450
  • 0
  • 分享到

什么是零知识证明?

2023-8-28 12:20

  1985年,来自MIT的S.Goldwasser、S.Micali 及 C.Rackoff 在研究论文《互动式证明系统的知识复杂性》中首次提出零知识证明。这是一种用于证明者在不泄漏任何有效信息的情况下证明其知识正确性的验证协议。

  为了方便理解,不妨举个例子:

  小O拥有一个带密码的盒子,他想在不告诉小K真正密码的情况下,让他相信自己知道盒子密码。那怎么做呢?

  小O想出了一个办法:他让小K写下一个全世界只有他才知道内容的纸条,然后由小K亲手放进打开的盒子中并锁上。然后小O将盒子拿走后利用密码取出小K放在盒子里的纸条,第二天再将纸条给到小K。在这个过程中,小K并没有得知任何此前自己不知道的信息(盒子的密码),但还是必须相信小O知道密码这件事情。这个验证过程就是零知识证明。

  简单来说,零知识证明就是以最小的信息交换量在双方之间建立信任,在不透露更多信息前提下,A可以向B证明某件事/某个结论是正确的。

  根据证明过程中的交互方式,可分为“交互式零知识证明”和“非交互式零知识证明”两大类。

  交互式零知识证明,是指为了证明某件事,证明者需要和验证者反复互动,就像是测谎仪一样:验证者不断提出问题来挑战证明者承诺的真实性,证明者则需要不断回应这些挑战,直到使验证者相信。其流程如下所示:

  早期的零知识证明都是交互式的。这种方式很直接,但过程冗长且效率低下:双方必须同时在线完成验证,并且每次只能取信于一个验证者,如果要取信多人,则要重复上述过程。这个过程,想想就累。

  于是,非交互式零知识证明出现了。在非交互式零知识证明中,证明者和验证者提前约定验证规则,证明者按照承诺提供数据,验证者则可随时验证这些数据的正确性。这种非交互式验证,双方不用同时在线,并且证明者只需要提供一次证明。实际场景中应用的基本都是非交互式零知识证明,比如ZK-SNARK和 ZK-STARK。

 

版权申明:本内容来自于互联网,属第三方汇集推荐平台。本文的版权归原作者所有,文章言论不代表链门户的观点,链门户不承担任何法律责任。如有侵权请联系QQ:3341927519进行反馈。
相关新闻
发表评论

请先 注册/登录 后参与评论

    回顶部