本文介绍了零知识证明(ZKP)的概念,它允许在不泄露秘密信息的情况下证明某事。
因为 Snark 是一种奇特的生物,它不会
以一种普通的方式被抓住。
尽你所知,尝试你所不知:
今天不能浪费任何机会!
《猎鲨记》
- 刘易斯·卡罗尔
难道不令人惊叹吗,许多在 1980 年代和 1990 年代创建的数字信任的东西现在正变得活跃起来。这包括格密码学,当然还有零知识证明(ZKP)的奇妙概念 [ 这里]:
通过 ZKP,我们可以证明我们知道某些东西——例如我们的密码或私钥——而无需实际泄露秘密信息。这种方法是许多注重隐私和信任的系统的核心。这个概念最初由 Shafi Goldwasser、Silvio Micali 和 Charles Rackoff 的梦幻研究团队提出。我喜欢这篇论文的原因是,它发表于研究论文必须用打字机打字,而图表通常是手绘的时代:
该论文基本上概述了一个交互式系统,其中 Victor 每次都会提示 Peggy 一个只有她才能解决的难题。每次她证明了这一点,她就更有可能知道秘密,而不是每次都在猜测。
一个例子是 Victor 想让 Peggy 证明她知道阿里巴巴山洞里的助记词。这个山洞有两条路线:A 和 B,并且 A 和 B 之间有一个隔断,只有用助记词才能打开。Victor 将 Peggy 送入山洞,然后要求她从 A 路线出现。如果她从那条路线出来,她要么已经在该路线上,要么在 B 路线,并且能够打开秘密通道。总的来说,Peggy 有 50/50 的机会猜到它。因此,每次 Peggy 从正确的路线出来,她都会越来越多地确认她知道密码,或者不知道。对于八个请求,她将有 1/256 (2⁸) 的机会每次都能正确猜到,或者有 255/256 的概率证明她知道密码。对于一个二元选择,对于 n 位,我们可以用 1/2^n 的机会纯粹通过猜测来获得某些东西来表示这一点。
在现实世界中,Peggy 可以拥有一个加密密钥,Victor 可以交互地提示她用她的私钥对 Peggy 想要发送的消息执行一个难题,然后发回答案。然后,Victor 将能够检查难题的答案,但不知道她正在使用的密钥。基本上,这实际上可能是消息的数字签名,并且私钥的证明就是签名。然后,Victor 用来对照检查难题的东西将是 Peggy 的公钥。这是我们现代数字签名方法的核心。
显然,让 Victor 与 Peggy 进行交互式通信需要大量的开销,因此我们需要尝试找到一种方法,让 Peggy 每次想要证明她知道秘密时都可以创建自己的证明。发现的方法是 Fiat Shamir 启发式,它将交互式证明转换为非交互式证明。这项技术通常被称为 NI-ZKP(非交互式零知识证明)。
现在,我们有相当复杂的 NI-ZKP 方法,并且基本上分为三种主要方法:zk-SNARK、zk-STARKS 和 Bulletproofs:
图:[ 这里]
正如我们所看到的,Bulletproofs 是这三种创建和验证方法中最慢的,但具有相当小的证明。zkSnarks 在创建和验证方面都很快,并且具有较小的证明大小。zk-STARKs 具有相当大的证明,但在创建和验证方面非常快。
2012 年,Nir Bitansky、Ran Canetti、Alessandro Chiesa 和 Eran Tromer 发表了一篇论文,其中引用了 Lewis Carroll 关于《猎鲨记》的诗:
该方法被定义为 zk-SNARK(简洁的非交互式自适应知识论证),它允许 Peggy 和 Victor 不必进行交互,而只需一条证明消息。这意味着 Peggy 不必向 Victor 注册任何内容,并且 Peggy 可以随时证明她的秘密。
因此,如果你想发现一个全新的零知识证明世界,请尝试这里:
零知识证明 \ \ 零知识证明允许对某事进行证明,而无需透露源数据。基于椭圆曲线的零…\ \ asecuritysite.com
- 原文链接: medium.com/asecuritysite...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!