本文是社区提交的文章。作者是 Kenny Li,Manta Network 的联合创始人,Manta Network 是一种由零知识证明技术支持的可编程隐私第一层协议。
本文中的观点属于贡献者/作者,并不一定反映币安学院的观点。
长话短说
零知识证明(ZKP)是一种密码技术,可以在不泄露信息本身的情况下验证一条信息的真实性。它已成为区块链、加密货币和去中心化金融(DeFi)领域日益重要的技术,用于增强隐私和安全性。
许多 DeFi 项目已经在使用 ZKP 为用户的借贷和交易等服务提供更好的隐私和安全性。许多第 1 层区块链正在添加基于 ZKP 的汇总或 zkEVM。零知识证明预计将在区块链和 Web3 领域发挥越来越重要的作用,因为它们的应用预计将得到更广泛的采用。
零知识证明如何工作?
零知识证明是一种方法,通过该方法,一方(证明者)可以向另一方(验证者)证明某个陈述是真实的,而无需透露任何附加信息。当信息敏感并且证明者不希望验证者访问它时,这特别有用。
证明者提供只有他们才能生成的数学证明,验证者可以使用该证明来验证陈述的真实性。然而,他们无法使用证据来重建原始信息。
想象一条有两个入口 A 和 B 的隧道。有一扇上锁的门,上面有密码,封锁了唯一的路径,阻止人们从隧道的一端走到另一端(A 到 B)。您知道密码并想将其卖给想要进入隧道的 X 女士。
您希望她在向她透露代码之前先付款,但她首先希望您证明您确实知道该代码。在这种情况下,她可以站在隧道前,看着你走进一个入口并从另一个入口出来。这样,她就会对你确实知道密码感到满意。
高级零知识证明示例
想象一下你有一个朋友无法区分红色和蓝色。您展示了两个球:一红一蓝。然而,你的朋友不相信这些球可以彼此区分。您想要证明它们是不同的颜色,而又不想透露您有一个红色和一个蓝色的球。事实上,您根本不想透露任何有关如何区分它们的信息。
那么,我们如何证明它们可以被区分,同时揭示有关识别过程或定义特征的零知识呢?答案很简单。您要求您的朋友在展示其中一个之前将两个球放在背后。然后,他们会将球放在背后,并随机选择 (50/50) 两个球之一再次展示。请注意,您的朋友将始终知道他们是否换了球。
然后你的朋友会问你:“球换了吗?”在确认您的答案的有效性之前。在给出正确答案后,你的朋友可能会怀疑你猜对了。他们要求你再做五次,这意味着你在实验中每次都猜对的机会是:
机会看起来很渺茫!可以肯定的是,您和您的朋友重复这个过程 15 次。那么你猜对的机会是:
此时,你几乎可以肯定证明是正确的。如果你和朋友重复实验无数次,你每次猜对的几率就会趋于零。
因此,你已经向你的朋友证明,这些球是可以区分的,而你的朋友对此的了解为零。然而,他可以自信地接受这一发现。
为什么使用零知识证明?
数字交易中对隐私和安全的需求不断增长,推动了区块链和加密货币中零知识证明的流行。随着区块链技术和加密货币的兴起,人们越来越需要一种在不泄露敏感信息的情况下验证交易的方法——ZKP 可以满足这一需求。
近年来,零知识证明引起了越来越多的关注和兴趣,许多使用 ZKP 的协议已经推出,主要区块链也构建了零知识汇总。在 DevCon 2022 大会上,零知识证明的受欢迎程度得到了明显体现,超过 20% 的演讲都是关于这项技术的。
主要进展
零知识证明的一个关键发展是 zk-SNARK(ZKP 的一种特定类型)的使用增加。 zk-SNARK 已广泛应用于各种 DeFi 应用中,例如私人代币交易和屏蔽借贷。零知识证明的另一个重大发展是通过 zk-rollups 更加关注可扩展性和性能。
zk-SNARK
零知识简洁非交互式知识论证(zk-SNARKs)是一种特定类型的零知识证明,它允许在不透露有关陈述本身的任何信息的情况下验证陈述。
zk-SNARK 已用于 Zcash 和摩根大通基于区块链的支付系统等应用程序。它还被用作向服务器安全地验证客户端身份的一种方法。
Zk-Rollups
Zk-rollups 是区块链网络的扩展解决方案,有助于将多个交易批处理为单个更大的交易,然后记录在区块链上。例如,BNB Chain于2022年推出了基于zk-rollup架构的zkBNB测试网。
zkBNB 可以将数百笔交易捆绑到单批链下交易中,并生成密码证明来证明所有交易的有效性。 zk-rollups 在可扩展性和安全性之间提供了平衡,适合高规模、低延迟的设置。
零知识证明的用例
零知识证明有很多用例,其中一些已经实现;其他的预计将在未来成为现实。一些主要的 ZKP 用例包括:
数字身份验证
零知识证明可用于验证用户身份,而无需泄露任何敏感个人信息。这在数字投票系统等应用中非常有用,因为这些系统必须验证选民的身份,而又不损害他们的匿名性。
保护隐私的交易
加密领域零知识证明最流行的用例之一是支持隐私保护交易。例如,Manta Network 的 MantaPay 去中心化应用程序 (DApp) 使用 ZKP 使用户能够在去中心化交易所 (DEX) 上进行交易,而无需透露其身份或交易详细信息。这允许用户维护自己的隐私,同时仍然能够使用该平台进行交易。
屏蔽交易
Zcash 是一种使用零知识证明来实现屏蔽交易的加密货币。在此类交易中,发送者和接收者地址以及交易金额在公共区块链中是模糊的,从而为用户提供了更多的隐私。
标记化和所有权验证
零知识证明还可用于对资产进行代币化并验证其所有权证明。例如,财产可以被标记化,任何一方都可以验证其所有权,而无需公开透露任何其他信息。
全球合规性
一些国家对金融信息的收集和共享有严格的规定,这对于去中心化平台来说可能很难遵守。零知识证明可用于与监管机构共享所需信息,同时对其他方保密。
这有助于弥合去中心化平台和传统金融机构之间的差距,使 DeFi 更容易遵守各个司法管辖区的法规。
区块链零知识证明的未来
零知识证明未来很可能带来新的技术创新。一些值得关注的 ZKP 相关未来发展包括:
跨链隐私层
随着区块链和 DeFi 生态系统的不断发展和演变,不同区块链网络之间的互操作性需求日益增加。跨链隐私层将允许在不同的区块链网络上进行交易,同时保护相关方的隐私。
零知识证明
另一个需要注意的领域是 zk-STARK(零知识可扩展透明知识论证)的使用增加,这是一种新型的零知识证明,被认为比 zk-SNARK 更高效、更安全。 zk-STARKs 相对于 zk-SNARKs 的另一个优点是前者验证速度更快,并且不需要可信设置。
用户友好的工具包
零知识证明技术可能很复杂,并不是每个开发团队都拥有这一特定密码学领域的专业知识。用户友好的 ZKP 工具包可以帮助弥合这一差距,并使不同背景的开发人员更轻松地使用该技术。
零知识证明的局限性
零知识证明是一种独特的方法,可以在保护隐私的同时验证信息的真实性,但并不能提供 100% 的保证。虽然当证明者撒谎时,验证成功的概率可以忽略不计,但用户应该意识到 ZKP 并非万无一失。
此外,零知识证明使用的算法需要大量的计算资源。在某些类型的 ZKP 中,密集计算是必要的,因为它们需要验证者和证明者之间的大量交互。在其他情况下,算法的计算量非常大,这可能会限制 ZKP 的应用。
结束语
零知识证明因其独特的隐私保护和扩展潜力而迅速受到关注。该技术在区块链、加密货币和 DeFi 中的应用越来越多,可能会带来更多创新服务,让用户受益匪浅。零知识证明有望在创建更安全、私密和高效的 DApp 生态系统中发挥至关重要的作用。
进一步阅读
zk-SNARK 和 zk-STARK 解释
区块链第 1 层与第 2 层扩展解决方案