零知识证明:ZKproofs 的工作原理及其重要性

零知识证明:ZKproofs 的工作原理及其重要性

零知识证明:ZKproof 的工作原理及其为何重要 PlatoBlockchain 数据智能。垂直搜索。人工智能。

您是否曾经感到知道秘密信息但不共享就无法“证明”的巨大挫败感? 那么零知识证明可能是您的最终解决方案。

零知识证明(ZKP 或 ZKProof)是一种身份验证系统,允许双方在不透露任何相关信息的情况下确认声明是否真实。

在当今世界,在线保护您的数据和加密货币比以往任何时候都更加重要。 ZKP 系统用于构建基于区块链的隐私解决方案,在保护您的信息的同时让您证明您的陈述是真实的。

本指南将揭示您关于 ZKProof 的紧迫问题,并揭开这个被误解的话题的神秘面纱。 让我们开始吧。

什么是零知识证明?

尽管随着加密技术和区块链技术的发展而普及,但零知识证明被用作身份验证系统的最早记录可追溯到 1985 年。计算机科学和机器学习专家 Shafi Goldwasser 和 Silvio Micali 发表了一篇关于 ZKP 的麻省理工学院论文很久之前 以太坊 是一个现实。

使用密码学,零知识协议建立信任并确认事实陈述。 听起来很简单,但这里有一个转折点:ZKP 允许“证明者”和“验证者”在不实际共享声明的情况下确保声明是真实的。 该证明协议为不想泄露私人信息的用户提供了更高的网络安全性。

为了简单起见,我们举一个 ELI5 的例子。 ZKP 允许我,一个证明者,向你,一个验证者展示,我知道 Waldo 在哪里,而无需在书中实际指向他。 我可以在不泄露任何敏感信息的情况下证明这一说法。

零知识证明如何工作?

要使零知识协议真正有效,该算法必须在满足三个简单要求的同时证明一个陈述是真实的。

  • 完整性——如果证明者提供的陈述为真,ZKP 将始终返回相同的“真”结果。 一切真实的东西都可以被证明。
  • 统计可靠性——如果证明者提供的陈述不真实,验证者需要能够确认其不准确性。 本质上,证明者不能撒谎和欺骗诚实的验证者。 
  • 零知识——ZKP 必须只揭示证明者是否向验证者说真话。

虽然乍一看这可能看起来很复杂,但在实践中就会变得非常容易理解。 也许零知识证明系统最著名的例子是阿里巴巴洞穴的故事。

零知识证明的一个例子

阿里巴巴洞穴讲述了证明者鲍勃和验证者爱丽丝的故事。 想象一个形成环路的洞穴。 环路中的某处是一扇锁着的门,只有输入正确的密码才能打开并通过。 Bob 想向 Alice 证明他知道密码,但实际上并没有告诉 Alice 密码是什么。

Alice 和 Bob 为他们的零知识协议创建了一个可信设置。 如果 Bob 真的知道密码,就像私钥一样,并且可以通过门,他应该能够从环路的任一侧返回到洞穴入口处的 Alice。

为了验证这个定理,鲍勃在魔法门旁等待爱丽丝从任何一条路径把他叫回入口。 Bob 可以通过正确的路径以 100% 的准确率返回,无论她呼叫 A 还是 B。

我们可以确定这是一个有效的交互式证明系统,因为:

  • 它是完整的——Bob 证明他知道密码,因为他以 100% 的准确率从正确的路径返回
  • 它是可靠的——鲍勃没有密码就不能通过门。 如果他从错误的路径返回,Alice 可以验证他不知道密码。
  • Bob 无法诱使 Alice 认为他知道密码。
  • 零知识共享——Bob 无需共享任何秘密信息即可证明他确实知道密码。

不同类型的零知识证明

就在您认为自己已经弄明白的时候,还有更多内容需要剖析。 阿里巴巴洞穴是几种不同类型的零知识证明的一个例子。 ZKP 主要分为两大类:交互式和非交互式。

交互式零知识证明

阿里巴巴洞穴是交互式 ZKP 的一个例子。 这意味着双方需要不断地相互交互,以确保可信设置保持可靠。

这带来了一些问题。 交互式 ZKP 可能很耗时,并且需要双方都可用。 因此,这种类型的零知识证明存在可扩展性问题。 幸运的是,区块链技术提供了解决这个问题的方法,例如非交互式零知识证明。

非交互式零知识证明

在非交互式 ZKP 中,证明者和验证者都可以访问共享公钥。 该密钥确保各方之间只需要一轮通信即可证明证明者的陈述。

证明者与一个安全的加密算法共享信息,该算法确认该陈述是真还是假。 然后,将结果传递给验证者。 验证者将证明者的陈述与单独的算法进行交叉引用,以确保准确性。

就像区块链智能合约可以简化金融交易一样,非交互式证明比交互式证明更有效。 此外,一旦创建证明,任何有权访问共享密钥和算法的人都可以将其用于验证目的。

当然,兔子洞更深! 在非交互式零知识证明的保护伞下还有更多种类,ZK-Snark 和 ZK-Stark。

ZK-Snark 是一种特殊类型的 ZKP 的冗长首字母缩写词。 它代表:

  • 零知识——我们已经知道,证明者可以在不共享秘密信息的情况下确认陈述的真实性。
  • 简洁——证明很小且易于验证,即使被证明的概念很复杂
  • 非交互式——证明者和验证者不需要为了 ZKP 的正确运行而来回通信
  • 论据——证明是可靠的,这意味着验证者可以揭穿证明者的陈述。
  • 知识——算法确保证明者的信息是正确的

最终,ZK-Snarks 被设计成无需许可、安全和可扩展的工具,无需上述信息即可显示知识证明。

ZK-Starks 本质上与 ZK-snarks 相同。 两者之间的关键区别在于 ZK-starks 针对更大的可扩展性和产生更大的证明进行了优化。 ZK-starks 不是简洁和非交互的,而是:

  • 可扩展——ZK-starks 旨在更快地验证更大的语句。
  • 透明——ZK-stark 证明系统可根据生成的随机值进行公开验证,而不是通过私有算法进行验证。

零知识证明在现实世界中有什么用?

虽然比特币和以太坊等区块链技术在现实世界中的应用显而易见,但 ZKProofs 直到现在才走上链上创新的前沿。 ZKP 的许多用例仍在被发现中。 以下是 ZKProofs 的一些最令人兴奋的现实生活实用程序:

出示资金证明

在许多国家/地区,通常的做法是在您想要贷款或购买房地产时出示您的银行对帐单和收入。 然而,并不是每个人都愿意公开他们生活和开支的每一个细节。

ZKP 允许用户展示他们有足够的资金和收入证明,而无需向无关方透露他们的整个交易历史。

在线保护您的身份

KYC 程序和其他身份收集提供商以现有格式将敏感数据存储在中央服务器上。 这可能会带来问题,因为安全漏洞可能会导致您的信息在未经您同意的情况下被共享。

零知识证明让您可以轻松地在线验证您的身份,而无需将您的个人信息暴露给任何人。 例如,您可以证明自己是您所在国家/地区的公民,而无需透露您的任何护照详细信息。

发送和接收安全的匿名付款

使用加密货币和区块链技术的主要好处之一是收回您的在线隐私。 但是,如果您的钱包地址与您的身份相关联,则很难保持这种匿名性。

ZKP 和注重隐私的区块链可以更轻松地保护您的钱包和交易免受窥探。 通过混合和屏蔽交易,这些协议为用户在链上发送和接收资金时提供了更大的匿名性。

零知识证明系统是强大的工具。 不出所料,它们需要高昂的计算和硬件成本才能有效运行。 因此,提供商的运营成本可能很高。

此外,在链上确认和验证 ZKProof 交易是一项密集型工作,需要支付高昂的 gas 费用。 幸运的是,随着更具可扩展性的区块链,比如 雪崩,并且第 2 层解决方案浮出水面,这些费用将会减少。

什么是零知识证明加密货币?

ZKProof 的叙述是加密市场中一个既定且竞争激烈的利基市场。 以下是一些使用零知识证明的加密初创公司和区块链项目的示例。

Zcash 是一个区块链网络,允许用户即时匿名发送和接收加密货币,而无需共享有关交易的敏感信息。 在比特币和以太坊等其他网络上,所有交易数据(例如地址和交易价值)都是可公开验证的。

默认情况下,Zcash 网络使用 ZKP 自动隐藏这些秘密信息,让用户更加安心。

Tornado Cash 是一种代币混合器,允许用户“隐藏”未链接钱包之间的转账。 利用 ZKProof 技术,用户可以将资金从一个钱包存入应用程序,然后使用密钥将这些资金提取到新钱包。

制定的协议 当其创始人 Alexey Pertsev 成为 2022 年的头条新闻时, 在荷兰被捕。 据检察官称,Tornado Cash 为犯罪分子提供洗钱服务。 尽管如此,Tornado Cash 是一种去中心化服务,没有真正的所有者或动机。

非交互式零知识证明是有效的,但远非完美。 这项技术仍处于起步阶段,新来者需要完全信任开发人员才能创建可信设置,从而造成权力不平衡。

零知识证明是区块链技术的一个颠覆性用例,它可以改变我们在线共享敏感信息的方式。 了解它们的功能非常重要,这样您才能有效地使用它们。

交互式和非交互式零知识证明有什么区别?

交互式零知识证明系统要求参与者经常相互交流以确保证明仍然有效。 非交互式 ZKProof 使用密码学和共享密钥来消除此要求。

使用零知识证明的缺点是什么?

ZKProofs 是需要高计算能力的密集型协议。 它们需要昂贵的硬件和链上交易成本才能有效运行。

什么是零知识证明示例?

ZKProof 最著名的例子是本指南中概述的阿里巴巴洞穴类比。

时间戳记:

更多来自 日币