什么是零知识证明 (ZKP) 技术及其工作原理?
ZKP 是一种加密协议,顾名思义,它可以防止窃听者在整个过程中访问数据或侵犯隐私。
零知识证明 (ZKP) 是一种密码学方法,允许一个人(证明者)在证明者不披露任何支持信息的情况下验证另一个人提出的声明。你可能想知道 ZKP 是谁发明的? 20世纪80年代,麻省理工学院的Shafi Goldwasser、Silvio Micali和Charles Rackoff提出了“零知识技术”的理念。
零知识证明必须满足以下三个要求:
- 完整性/无可辩驳性:如果声明是真实的,那么诚实的证明者将被同样诚实的验证者(即正确遵循协议的验证者)说服其完整性。
- 可靠性:如果声明不真实,那么不诚实的证明者说服诚实的验证者相信它是真实的可能性很小。
- 零知识:如果声明是准确的,验证者唯一知道的就是声明是有效的。
在我们了解零知识证明如何工作之前,让我们了解这两种类型。首先是交互式零知识证明,其中包括证明者和验证者之间的重复交互。证明者被验证者“挑战”以反复证明他们对事实的了解。重复该过程,直到验证者确信证明者是真实的。另一方面,非交互式证明是这个过程的对立面。他们要求双方交换一次验证证明者真实性的单一交易。
ZKP 的实际实现使用了多种加密技术,例如 Schnorr 非交互式零知识 (NIZK) 证明,从而可以验证计算语句。 Schnorr NIZK 证明使人们能够证明对离散对数的熟悉程度,而无需透露其价值。许多加密协议都可以从将其用作有价值的构建组件中受益,以确保参与者诚实地遵守协议的规范。
例如,收款人可以使用 ZKP 技术来确认付款人的银行账户中有足够的余额,而无需进一步了解付款人的余额。因此,通过使用 ZKPs,可以保证用户信息的隐私和安全。
2. 什么是 zk-SNARKs,它们是如何工作的?
可信设置的必要性是 zk-SNARKs 的关键特征之一。它还需要创建加密密钥,作为验证和执行机密交易所需的证据。
但是 zk-SNARK 代表什么?术语“零知识简洁非交互式知识论证”或“zk-SNARK”指的是一种证明架构,在该架构中,人们可以证明对特定知识(例如密钥)的所有权,而无需公开该知识,也无需与其他人进行交互证明者或验证者。
大多数加密货币使用网络检查来确保在验证交易之前满足特定要求。要求是验证发件人是否有可用资金,并且他们提供了正确的私钥以证明这笔钱是他们的。
交易的发送者可以使用 zk-SNARKs 证明所有这些,而无需披露任何地址或交易金额。例如,区块链网络使用 zk-SNARKs 对其共识规则的一部分进行编码以提供此功能。
需要证明的信息在交易过程中通过 zk-SNARKs 转化为方程式。在不透露实际数据的情况下,可以评估和求解这些方程式。那么,哪些代币使用 zk-SNARKs?
Zcash 首次应用 zk-SNARKs 来证明可以满足交易的要求,而无需披露有关所涉及地址或值的任何重要细节。尽管 zk-SNARKs 没有任何明显的缺陷,但拥有建立协议所需的私钥的人可能会伪造证据并制造假币。因此,基于 Zk-SNARK 的隐私币必须确保任何一方都无法访问私钥。
3.什么是 zk-STARKs 以及它们是如何工作的?
zk-STARKs 是两种透明且可扩展的隐私增强方法之一。验证者使用的随机性的公开可用性否定了对可信设置的需要。
但是,zk-STARK 代表什么? zk-STARK全称Zero-Knowledge Scalable Transparent Argument of Knowledge,是一种密码学证明技术。 zk-STARKs,也称为零知识证明,允许用户与第三方交流经过验证的数据或执行计算,而无需将数据或分析透露给另一方。
zk-SNARKs 在 zk-STARKs 开发之前用于构建 zk-proof 系统,解决了那些受信方由于必须初始设置 zk-proof 系统而危及系统隐私的漏洞。 zk-STARKs 通过远离对可靠设置的要求来推进这项技术。
此外,STARKs 改善了无许可区块链的可扩展性和隐私问题。目前由 STARK 技术先驱 StarkWare Industries 进行的 zk-STARK 研究主要关注可扩展性,随后才是隐私。
通过使开发人员能够重新定位链下的计算和存储,STARKs 提高了可扩展性。验证链下计算准确性的 STARK 证明可以由链下服务生成。之后,这些证明被重新发布到链上,以便任何有兴趣的人都可以验证计算。
此外,STARK 使现有的区块链基础设施能够以指数方式扩展,而不会通过将大部分计算工作脱链而损害计算完整性。那么,哪些币种使用 zk-STARKs?
Layer-2 解决方案使用 STARK 计算单批次的数千笔交易,然后使用单个 STARK 证明来确认它们在链上的有效性。批次中的所有交易均分摊链上操作的成本,为每笔交易提供低 gas 成本。 Starkware 正在许多区块链(包括以太坊区块链)中实施零知识可扩展透明知识论证。
4. zk-STARKs 与 zk-SNARKs:主要区别
zk-STARKs 和 zk-SNARKs 都是非交互式 ZKP 的类型。但是,从不同的角度来看,它们是不同的,如下表所讨论的: | ||
---|---|---|
zk-STARKs | zk-SNARKs | |
初始安全设置 | 不需要 | 需要 |
可扩展性 | 更强 | 弱 |
是否防量子计算机 | 是 | 否 |
基于以上讨论,STARK 是否优于 SNARK? zk-STARKs 在与 zk-SNARKs 的比较中被清楚地描述为有利的。与 zk-SNARKs 相比,它们为区块链提供了更多的可扩展性、透明度和安全性。然而,重要的是要记住 ZK-STARKs 具有更大的证明大小并且需要更长的时间来验证。
因此,如果开发人员开始采用零知识技术,zk-SNARKs 将比 zk-STARKs 获得更多支持。此外,zk-SNARKs 预计仅使用 24% 的 gas,这表明使用 zk-SNARKs 进行交易对最终用户来说成本要低得多。此外,zk-STARKs 仍处于初始阶段,需要很长时间才能向区块链生态系统中的开发人员和其他利益相关者证明其效率。