Time:2023-02-28 Click:126
2022 年,由于 ZK-Rollups 在以太坊领域取得进展,零知识证明(Zero—Knowledge Proof)成为 Web3 年度关热词。甚至有人预测下一轮牛市的发动机就将会是零知识证明,并宣称零知识证明之于 Web3 的重要性,能和 Bitcoin 引入了区块链概念、以太坊引入了智能合约相媲美。
零知识证明何以拥有如此强大发展潜力?这或许要从 Web3 的发展谈起。Web3 旨在通过去中心化网络将网络所有权移交给其用户,然而当下 Web3 似乎只是带来了以用户为中心的价值观,距离其愿景落地还有很多问题需要解决,隐私安全即是其面临的关键问题。
Web3 网络在设计中宣称用户与去中心化的网络进行交互,以避免如 Web2 中心化网络数据泄露、私有数据化、集权等弊端。即如果您正在运行一个完整的节点,您将获得完整的、数学上保证的加密安全性。然而,运行一个完整的节点需要昂贵的硬件以及保持连接到 100 GB 的大型区块链。
显然目前的加密客户端无法处理这类需求。因此,当下 Web3 仍在很大程度上依赖于受信任的中心化中介,由这些中介连接起 Web3 去中心化网络,这似乎与 Web3 愿景背道而驰。如何在去中心化网络环境中,以去中心化的方式保障隐私安全呢?零知识证明技术巧妙地解决了这个问题。而网络安全之外,零知识证明的用例还有很多,下文将为大家介绍该技术在加密领域中的用例。
在介绍零知识证明在 Web3 的用例之前,让我们快速了解零知识证明的原理。零知识证明是一种密码学,允许一个人(证明者)向另一方(验证者)证明某些细节是真实的,而无需提供任何额外信息。
零知识证明需要以下三个关键要求:
完整性:如果陈述真的是真的,并且两个用户都正确地遵守规则,那么验证者将不需要任何其他条件,就可以完成验证。
可靠性:如果陈述为假,验证者在任何情况下都不会被说服。该方法利用概率检查理论,以确保不会发生错误。
零知识:意味着验证信息的人无法知道除断言是否正确之外的任何信息。
零知识证明有两种主要类型:
交互式零知识证明要求证明者执行一组任务或操作,以向验证者证明他们拥有特定信息。为了通过交互式零知识证明而必须完成的大部分任务通常涉及数学概率之类内容。
证明者和验证者无需相互通信即可使非交互式零知识证明有效,而验证将在之后进行。这类特殊、的零知识证明需要使用额外的计算或程序。
尽管零知识证明技术早在 1980 年已经产生,但受困于技术难度,其并未得以广泛应用。零知识证明到底能够为 Web3 的发展带来哪些帮助?让我们从技术用例中窥探一二。
随着越来越多应用在以太坊上部署,在以太坊上的交易处理速度较慢,网络扩展性不足成为阻碍其发展的重要难题。而构建一个 Layer 2 网络,将计算处理转移至链下成为解决当下问题的重要方案。ZK-Rollups 即是颇受以太坊社区认可的解决方案之一。ZK-Rollups 系 Starkware,Zk-sync 是扩容类项目。
扩展性是零知识证明在 Web3 中最普遍的用例。目前也有将扩展和隐私两种性能结合的方案,如 Aztec、StarkNet 之类的隐私 Layer 2 公链的发展,感兴趣的开发者可在《浅谈隐私在 Layer 2 现状和未来》一文中了解更多。
随着公链生态的扩张,以太坊一统天下的局面很难达成,跨链互操的需求越来越大,而利用桥来跨链的安全性难以得到保障,因此很多项目将开始使用零知识证明以实现互操作,其中包括 Wormhole,Polymer 和 ZKBridge 正在布局基于零知识证明技术构建无信任假设的跨链协议,将一改因 IBC 轻客户端不能在 ETH 运行所导致的无法互通的现象。零知识证明也将大大提高加密桥的安全性,以提高跨链互操的安全性。
以“黑暗森林”(Dark Forest)为例,这是一款灵感来自于刘慈欣的《三体》的基于零知识证明的游戏。作为策略游戏,游戏中的许多阴谋都来自于隐藏信息或信息不对称的概念,整个黑暗森林宇宙是无限的,它充满了成千上万的对抗玩家、机器人、脚本、智能合约玩家等等。然而,单个玩家在加入宇宙后只能访问整个宇宙地图的一小部分,这正是赋予《黑暗森林》灵魂的地方。如何在信息都是公开透明的区块链上实现“隐藏”部分信息,这正是基于零知识证明所实现的“隐藏”部分不想透露或需要触发条件的信息。
区块链技术不仅保证了我们的资产只由我们自己处理(非托管),而且分布存储在多个节点中,降低了资产风险。而零知识还有助于进一步提高 Web3 安全级别。在安全设计中使用数学验证而不是概率论,零知识通过采用有效性证明来降低潜在风险,有效性证明保证信息的准确性,具体而言:
唯一能够破译加密信息的人是用户;如果证明者是伪造的,得到的最终根将不同,验证者将拒绝接受;
即使所有验证者与证明者串通,由于区块链数据的可用性,账户状态也可以回滚和更正;
使用零知识证明时,通常会采用额外的检查和强化机制。
可以通过零知识证明来确认个人的加密身份。零知识证明允许用户向系统验证他们的身份,而无需透露他们完整的个人信息。例如,当您登录一个帐户时,需要输入用户名和密码,但如果使用零知识证明技术,你只需要出一个 ZK Proof,平台就永远无法算出你的真实密码,在无需泄露个人敏感数据的前提下完成个人身份验证。
我们在网络上常会面临某些数据共享需求,而共享过程中会面临信息丢失、拦截等问题。当零知识证明与区块链技术相结合,可以分片加密数据,不仅保障传输安全性,还能使用户拥有管理某些块以及其中包含的信息的权利,从而授予某些用户访问权限,而未经授权的用户则无法访问您的共享文档。
去中心化存储作为 Web3 三大支柱之一,对于行业发展十分重要。而零知识证明能够为存储安全提供更好的保护,其能够利用算法设置相应的协议,使存储单元和其中的协议被加密,甚至在访问通道也会设置加密保护,让 Web3 云存储的安全性更上一层楼。
在可扩展性和隐私用例之外,零知识证明的用例十分广泛,其在 Web3 中发挥的作用也更加清晰。目前已有不少项开始将该技术用于项目实践,据 Messari 统计显示,零知识证明最广泛应用的扩展领域的一众项目将在 2023 年迎来发展的关键期,如 Scroll、Polygon zkEVM 等项目主网将陆续上线。在《扩容赛道开年即冲刺,盘点近期上线测试网的 L2 项目》一文中,也介绍了近期上线测试网的零知识证明项目。
但是我们还需要认识到,尽管零知识证明在 Web3 中的应用前景广阔、领域众多,但其证明的性能问题还未得到妥善解决。目前有不少团队都在搞硬件加速,但这种硬件加速仅部分负责有效证明。而在算法级别、软件级别和其他方面仍需要进行优化。
鉴于此,今年零知识证明的有效的利用将出现在小规模应用之中,很难得到大规模广泛应用。而 DeFi 之后,零知识证明要想成为下一轮牛市的发动机还有很长的路要走,希望能够有更多 Web3 开发者在前瞻零知识证明的前景基础上,敢于挑战、攻克其技术难题,以技术进展推动应用实践。