本文通过将零知识证明(ZKP)与魔术表演相类比,深入探讨了ZKP在web3中的重要性,尤其是在隐私和可扩展性方面的应用。文章清晰地解释了zk-SNARK的定义及其属性,并通过通俗易懂的例子帮助读者理解这一复杂概念。
任何足够先进的技术都与魔法无法区分(或者正如科幻作家阿瑟·C·克拉克所著名所说)。一个像科幻小说般进展的领域是零知识证明(或 ZKP),这是一种解决 web3 中两个关键挑战的加密工具:可扩展性 和 隐私。特别是,ZKPs 可能是降低交易费用、设计新的隐私保护应用程序的关键,从而欢迎下一个十亿加密用户。甚至在加密领域之外,ZKPs 可能会在某一天帮助安全地传输敏感数据,打击非法融资,或 打击虚假信息。
但什么是 ZKPs?许多聪明的解释已经存在,供工程师、研究人员和加密社区使用,但它们并不总是针对对加密或计算机科学经验较少的听众。即使有大量的类比可用——从 瓦尔多 到 阿里巴巴的洞穴——也不容易找到一种准确、易于理解的 ZKP 解释,全面捕捉其超能力。
因此,在这篇文章中,我结合我在加密和魔法方面的背景,探索一种新的类比:把 ZKPs 想象成一个伟大的魔术。查看下面的演示,并继续阅读有关 ZKPs 的定义特性(可扩展性和隐私)的概述——这一切是如何通过魔法进行的。
秘密以及如何证明它们:魔术师的零知识证明指南 - YouTube
a16z crypto
16.8K 订阅者
a16z crypto
搜索
稍后观看
分享
复制链接
信息
购物
点击取消静音
如果播放未能在短时间内开始,请尝试重启设备。
更多视频
你已注销
你观看的视频可能会添加到电视的观看历史记录,并影响电视推荐。为此,请取消并在电脑上登录 YouTube。
取消确认
分享
包含播放列表
检索共享信息时发生错误。请稍后再试。
0:00
0:00 / 2:20•直播
•
我将首先分享一个 ZKP 的高级定义(具体是一个叫做 zk-SNARK 的定义),以及它的各种属性,然后将这些属性映射到魔法的类比上。
扩展 a16z crypto 研究合作伙伴贾斯廷·塔勒(Justin Thaler)对 SNARK 的定义:“一个 zk-SNARK 让一个(称为 prover)向一个不信任的方(称为 verifier)证明他们知道一些数据,而不透露有关数据本身的任何信息。” 或者,正如 麻省理工 AIP ZK 课程 所说,“零知识协议允许我向你证明我知道一个事实,而不告诉你这个事实。”
在公共区块链的背景下,这一点令人兴奋,因为 ZKPs 可以同时保护私人信息,并允许任何人(毫无疑问地)验证信息的真实性。zk-SNARKs 也是 简洁且节省工作: “简洁性”意味着证明的大小比你证明自己知道的数据更小。“节省工作”意味着验证者验证证明的速度比分析原始数据本身要快(在以太坊上,这意味着智能合约处理的数据更少,因此用户的 gas 成本更低)。第二层区块链可以利用 zk-SNARKs 的简洁性和节省工作属性,使去中心化应用程序处理更多数据,降低成本。
总结来说,zk-SNARKs 具有两个主要属性:
即便这个高级描述听起来有点像谜语:一个人如何能证明他们知道某件事而不分享他们对它的知识?
让我们再来理清这个定义……这一次,使用一些魔法。
简单来说,魔术表演 就是 零知识证明。在魔术表演中,魔术师声称知道一个秘密,使他们能够执行这个幻觉。但他们不想向观众揭示这个秘密——这会破坏表演。
将此扩展到 ZKPs:将 魔术师 想象成“证明者”,将他们的 观众 想象成“验证者”。一场成功的魔术表演(希望伴随着观众的惊呼和热烈的掌声)类似于一个“有效”的证明:这个把戏成功了,因此魔术师一定知道执行它的秘密。当然,如果幻觉没有成功,证明就是“无效的”:观众会失望,而魔术师可能根本不知道这个秘密方法。
因此,魔术表演展示了 ZKP 的一个属性:隐私。但是简洁性和节省工作的属性呢?让我们回到这个类比……
观众 可以 完全跳过表演,直接询问魔术师分享某个把戏的秘密方法。但魔法的秘密可能是复杂而精致的。仅仅解释一个把戏的过程,伴随着所有的细节和微妙之处,可能需要很长时间来理解,更不用提完全理解了。有时,当要求魔术师揭开他们的秘密时,魔术师可能故意 揭露一个“错误的”解决方案 给观众,引导他们走上错误的道路。如果没有亲自在自己的掌握下掌握这个把戏,观众只能不肯定这个秘密方法是否真的有效——而掌握这一切可能需要数天、数月或数年。
因此,正如直接检查秘密方法的正确性实际上是耗时且费力的 - 即使魔术师愿意向观众透露这个秘密 - ZKP 的情况也是如此。观众更快的方式是通过欣赏表演来验证秘密方法是否有效。
作为快速示例,在上面的视频中,我声称知道一种秘密方法,允许我瞬间“重新洗牌”一副扑克牌。我想向你证明我有这种能力,而不透露这个方法是如何运作的。在把戏结束时展示有序的扑克牌就是一个有效的证明,我一定知道一种秘密方法来“重新洗牌”扑克牌。同时,当我展示有序的扑克牌时,你可以迅速验证我的声明,这比自己学习这个把戏要快得多。
\\*\
我希望这个类比有助于揭开零知识证明的神秘面纱。而魔术表演和魔术师隐藏秘密可以作为理解 ZKPs 关键属性的有用心理模型,即使是对于那些不是密码学研究者或工程师的人。
再一次:魔术表演实际上就是零知识证明。而零知识证明与魔法无法区分。
如果你有更多简单解释零知识或其他计算机科学、密码学或更广泛的 web3 中复杂概念的想法(尤其是使用一副扑克牌),请在 Twitter @blauyourmind 或 Farcaster @michaelblau 上与我分享!
特别感谢斯蒂芬妮·津,贾斯廷·塔勒,乔·博诺,蒂姆·粗园,盖·乌尔莱,萨姆·拉格斯代尔,马克斯·卢基安丘科夫,阿里·雅哈,卡拉·吴,杰·德雷恩;埃林·布雷绍,蒂姆·哈辛,索纳尔·乔克希。
\\*\
- 原文链接: a16zcrypto.com/posts/art...
- 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!