零知识证明初学者终极指南

  • gelato
  • 发布于 2023-03-29 17:19
  • 阅读 69

本文为零知识证明(ZKP)的入门指南,解释了ZKP的基本概念、要求和证明系统,并通过交互式和非交互式证明的例子进行了说明。文章还探讨了ZKP在身份保护、隐私交易、可扩展性和去中心化预言机网络等实际应用,以及Gelato在Web3领域的应用。

博客 — Gelato 大学

面向初学者的零知识证明终极指南

超越基础:从零到 ZK Pro

想象一下:你和朋友在酒吧,你刚点了你最喜欢的饮料。当酒保要求你出示身份证时,你拿了出来,然后犹豫了——意识到交出身份证也会泄露关键的个人信息。

零知识证明 (ZKP) 提供了一种解决方案,其中一方(证明者)可以向另一方(验证者)证明某个陈述是正确的,而无需透露除该陈述有效性之外的任何其他信息。因此,回顾一下之前的场景,当酒保要求你出示身份证时,你可以证明你已达到法定年龄,而无需透露你的确切年龄或出生日期。

要求

为了满足要求,ZK 应该满足以下条件:

  • 完备性(Completeness): 当证明者和验证者如实行事且输入合法时,ZK 协议应始终产生“真”的结果。

  • 可靠性(Soundness): 如果输入不合法,欺骗性的证明者应该无法欺骗 ZK 协议来生成“真”的结果。

  • 零知识(Zero Knowledge): 验证者除了陈述的真实性之外,对陈述一无所知。

ZKP 中的证明系统

在交互式 ZK 证明中,证明者和验证者进行对话以评估证明者的知识,同时避免泄露有关秘密的任何补充信息。

1.交互式 ZK 证明示例

在这种情况下,证明者拥有两个球——一个紫色和一个蓝色——对于色盲验证者来说,这两个球看起来一模一样。证明者的目标是证明这两个球是不同的颜色,同时保持它们的身份不被泄露。为了实现这一点,证明者指示验证者将球拿到背后,随机决定是否在展示之前交换它们,并多次重复此过程。通过检查颜色,证明者可以准确地辨别验证者是否更换了球。

如果两个球的颜色相同,则证明者正确猜测的概率不会超过 50%。但是,在多次执行该练习后,验证者最终确信这两个球确实是不同的颜色。

结论:上述证明是交互式 ZK,因为朋友永远不知道哪个球是哪个,并且需要来回通信。

但是交互式 ZKP 存在一些局限性:计算能力使用率高,复杂语句速度慢,并且需要多轮通信。

为了解决这个问题,非交互式 ZKP 提供了一种解决方案。

2.非交互式 ZKP

非交互式证明只需要证明者和验证者之间进行一轮通信。

证明者使用一种特殊的算法创建一个零知识证明,然后将其发送给验证者,验证者使用另一种算法检查其是否有效。

这种方法效率更高,因为它减少了证明者和验证者之间的通信。

我们如何在现实世界中使用 ZKP?

身份保护

身份盗窃、欺诈和网络犯罪是个人、企业和组织面临的主要问题。传统的身份管理系统要求个人透露敏感的个人信息,这可能导致数据泄露和经济损失。

零知识证明 (ZKP) 通过允许个人在不泄露敏感个人信息的情况下证明自己的身份,从而为该问题提供了一种解决方案。个人可以提供身份的加密证据,而不是泄露个人详细信息,从而验证他们是否是他们所声称的人。

致力于基于零知识的去中心化身份解决方案的项目:

Polygon ID:借助零知识证明,Polygon ID 允许用户在不暴露其私人信息的情况下证明自己的身份。

私有交易

许多支付系统(包括信用卡和公共区块链)的问题在于交易通常对多方可见,从而损害了用户的隐私。虽然金融监控可以帮助识别非法活动,但它也损害了普通公民的隐私。

ZKP 可以用于区块链和加密货币交易中,以证明交易有效,而无需透露有关所涉及地址或价值的任何信息。

ZCash 是一种提供完整交易隐私的加密货币。

可扩展性

ZKP 技术可以通过实现可验证计算来帮助实现区块链网络的可扩展性。通过将交易的执行转移到单独的链上,链下扩展解决方案可以提高基础层的吞吐量,而无需重新设计核心协议。但是,为了确保链下交易的有效性,链需要验证它们而无需重新执行它们。这就是零知识证明的用武之地。

用于去中心化预言机网络的零知识证明

去中心化预言机网络为智能合约提供了一种访问数据并执行存在于区块链网络之外的计算的机制。这是一项有价值的功能,因为它使智能合约能够利用区块链上无法直接获得的信息,例如天气状况或股票价格。

但是,将链下数据合并到智能合约中会暴露潜在的漏洞,因为数据源可能不可信。如果恶意数据源提供虚假或被操纵的信息,则可能导致智能合约产生不利的结果。

为了克服这一挑战,可以利用零知识证明来确保链下数据的正确性,同时保持其机密性。

这涉及让受信任的实体生成一个证明,以验证链下数据的准确性。然后,智能合约可以验证该证明,而无需泄露实际数据,从而降低数据篡改或操纵的风险。

关于 Gelato

Gelato 是一个 Web3 云平台,使开发人员能够创建自动化的、无 gas 的和具有链下意识的 Layer 2 链和智能合约。400 多个 web3 项目多年来一直依赖 Gelato 来促进 DeFi、NFT 和游戏中的数百万笔交易。

  • Gelato RaaS:只需单击一下即可部署你自己的定制 ZK 或 OP L2 链,其中内置了原生账户抽象和所有 Gelato 中间件。

  • Web3 Functions:通过运行去中心化云函数将你的智能合约连接到链下数据和计算。

  • Automate:通过以可靠、对开发人员友好和去中心化的方式自动执行交易来自动化你的智能合约。

  • Relay:通过易于使用的 API 让你的用户可以访问可靠、强大且可扩展的无 gas 交易。

  • 账户抽象 SDK:Gelato 已与 Safe 合作构建一个功能齐全的账户抽象 SDK,将 Gelato 行业最佳的无 gas 交易功能与行业最安全的智能合约钱包相结合。

订阅我们的新闻通讯并打开你的 Twitter 通知,以获取有关 Gelato 生态系统的最新更新! 如果你有兴趣成为 Gelato 团队的一员并构建互联网的未来,请浏览空缺职位并在此处申请 here

  • 原文链接: gelato.cloud/blog/from-z...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
gelato
gelato
The Web3 Developer Cloud. Launch your own chain via our #1 Rollup-As-A-Service platform.