零知识机器学习(ZKML)及项目版图

Bastian Wetzel
媒体专栏
热度: 28706

目前,随着零知识证明不断优化以处理日益复杂的机器学习模型,ZKML 领域仍在迎头赶上。

原文标题:Zero-Knowledge Machine Learning (ZKML): Projects Exploring the Space

原文作者:Bastian Wetzel

原文来源:Medium

编译:Lynn,MarsBit

在过去的一年中,零知识技术取得了重大发展,到 2023 年,我们正在经历其在区块链领域的采用显着增加。

与此同时,机器学习(ML)的部署也变得越来越复杂。许多企业现在选择机器学习即服务提供商(亚马逊、谷歌、微软等)来实施复杂的专有机器学习模型。随着这些服务的激增,它们变得越来越难以审计和理解,提出了一个至关重要的问题:这些服务的消费者如何相信所提供预测的有效性?

ZKML 提供了一种解决方案,可以使用公共模型验证私有数据或使用公共数据验证私有模型。

零知识

零知识(ZK)证明是一种密码机制,证明者可以在其中向验证者证明给定陈述是真实的,而无需透露任何补充信息,除了透露该陈述是真实的。ZK 证明领域在各个方面都取得了重大进展,从研究到协议实施和实际应用。

ZK 证明利用两个主要的“原语”或构建块来实现其功能。第一个是为给定的一组计算建立计算完整性证明的能力。验证证明比执行计算本身要简单得多,这被称为“简洁性”。此外,ZK 证明提供了在保持计算准确性的同时隐藏计算的特定部分的选项,称为“零知识”。

如果您想了解有关 ZK 的更多信息,我建议您参加此 ZKP MOOC.

ZK 的趋势

ZK 状态报告是一份调查零知识生态系统关键发展的季刊,重点介绍了最受关注的趋势 ZK 社区:

ZK 的主要用例是隐私。ZK 证明的零知识原语允许隐藏正在验证的计算的特定部分。此功能对于创建在生成加密证明的同时保护用户隐私和保护其个人数据的应用程序特别有利。这方面的几个值得注意的举措包括:SemaphoreMACIPenumbraAztec Network.

将 ZK 用于扩展排名第二。分布式系统,例如公共区块链,具有有限的计算能力,因为每个参与节点(计算机)必须自己运行每个块中的计算以验证它们。然而,通过使用 ZK 证明,我们可以在链下执行这些计算,生成 ZK 证明,然后在链上验证这个证明,在保持安全性和去中心化的同时实现可扩展性。示例性项目包括:StarknetScrollPolygonZeroPolygon MidenPolygon zkEVMzkSync.

身份也引起了人们的注意,表明人们对在身份管理领域使用 ZK 技术的兴趣越来越大。 这包括开发身份证明协议以创建加密证明。 该领域的一些著名举措包括:WorldIDSismoCliqueAxiom.

当被问及最令人兴奋的新用例时,社区的焦点显然是 ZKML,它被认为是最吸引人的新用例(除了互操作性或 zkBridges)。本文的其余部分将重点关注 ZKML,目的是有效验证所有计算是否已准确执行,这具有超越区块链的深远影响。

为什么 ZKML 最近受到关注?

创建零知识证明需要大量的计算资源,通常比原始计算要多得多。因此,某些计算由于生成它们所需的时间而无法用零知识证明来证明。然而,密码学、硬件和分布式系统的最新进展使得为日益密集的计算生成零知识证明成为可能。这些进步使得可以开发可以使用密集计算证明的协议成为可能,从而扩大了可以使用零知识证明的应用范围。Modulus Labs 团队最近的一项名为“智能的成本”的研究针对各种不同的模型评估了各种现有的 ZK 证明系统尺寸。

随着人工智能技术的不断进步,区分人工智能生成的内容和人类生成的内容变得更具挑战性。然而,零知识密码学可能具有解决这个问题的潜力,它使我们能够确定特定内容片段是否是通过将特定模型应用于给定输入而生成的,而无需透露有关模型或输入的任何其他信息。对于 GPT-4 等大型语言模型,创建零知识电路表示可以提供一种验证其输出的方法。

这些证明中固有的零知识属性将使我们能够在必要时隐藏输入或模型的任何敏感部分。一个说明性的例子是对个人数据使用机器学习模型,其中用户可以获得模型对其数据进行推理的结果,而无需向任何外部实体(例如医疗保健部门)披露他们的输入。

用例

ZKML 仍然是一项新兴技术,许多用例还有待探索。 然而,以下是一些最明显的用例,Worldcoin 的文章和 Elena Burger 的帖子

计算完整性(有效性)

有效性证明,例如 SNARKsSTARK 有能力证明计算已正确执行,这可以通过验证 ML 模型推理或模型根据特定输入生成特定输出来应用于机器学习。轻松证明和验证输出是特定模型和输入组合的结果的能力允许在链下专用硬件上部署机器学习模型,而 ZK 证明可以在链上方便地验证。

在讨论 ZKML 时,重点通常是生成 ML 模型推理步骤的零知识证明,而不是验证用于训练模型的数据的有效性。后者本身已经是一个高度计算密集型过程。

隐私

除了有效性证明之外,零知识密码学还可用于保护机器学习应用程序中的隐私。一个例子是在不透露所用权重的情况下证明模型对测试数据具有一定的准确性。另一个用例的例子是隐私保护推理,其中私人患者数据可用于医疗诊断,并且敏感的推理(例如癌症测试结果)可以发送给患者,而不会向任何第三方透露他们的数据。

ML 即服务透明度(真实性)

如果公司通过他们的 API 提供对 ML 模型的访问,用户可能很难知道提供商是否真的提供了他们声称提供的模型,因为 API 本质上是一个黑盒子。与 ML 模型 API 相关联的有效性证明在为用户提供透明度方面很有价值,因为他们可以验证他们正在使用哪个模型。

去中心化推理或训练

以去中心化的方式执行机器学习推理或训练,同时允许人们将数据提交到公共模型需要在链上部署现有模型或构建新网络。零知识证明可用于压缩模型。

证明

要将来自外部验证方(例如可以生成数字签名的数字平台或硬件)的证明合并到链上运行的智能合约中,可以使用零知识证明验证签名并将其用作输入程序。此方法可应用于任何经过数字认证的信息,提供一种从可信来源验证真实性和出处的方法。可以通过这种方式验证和使用生成数字签名的端点。

探索 ZKML 的项目

随着密码学、硬件和分布式系统的进步继续使零知识证明适用于日益密集的计算,越来越多的项目正在探索 ZKML 的使用。下图提供了当前项目的非详尽概述,但应注意类别之间可能存在一些重叠,并且为清楚起见简化了此演示文稿。此外,还有许多开源代码库可用于构建 ZKML 应用程序,这表明社区的兴趣和热情在不断增长。

零知识证明

不全面;截至 2023 年 5 月 10 日;类别之间不可能有严格的划分。

结束语

随着 ZK 技术的不断进步,在更短的时间内在功能较弱的机器上证明更大的机器学习模型变得越来越可行。这是由于专用硬件、证明系统架构和更高效的 ZK 协议实现方面的改进。由于这些进步,新的 ZKML 应用程序和用例有望出现。

虽然 ZKML 在 Web3 中的主要用例是使链上组织能够运行机器学习模型,但 ZKML 的快速发展为多个领域的复杂问题提供了潜在的解决方案。 在我看来,在这种情况下可能会出现以下用例:

  • 去中心化金融(DeFi):使用 ZKML 来验证收益最大化策略或为客户重新平衡资金池。RockyBot 就是其中一个例子。
  • 游戏:使用 ZKML 来验证投注机制或 AI 增强型玩家。这方面的一个例子是 Leela vs the World.
  • 身份:使用ZKML对用户生物识别信息进行AI分析,同时确保数据的保管。WorldID 就是一个例子。
  • 医疗保健:通过在敏感医疗数据上运行机器学习模型同时保护隐私,ZKML 可用于医疗领域的疾病预测。

尽管 ZKML 显示出巨大的潜力,但该领域仍处于早期发展阶段。一个挑战是,在将模型转换为电路的过程中,准确性和保真度可能会受到影响。另一个限制是许多机器学习模型的参数和激活被编码为 32 位精度,当前的零知识证明系统很难在没有大量开销的情况下以所需的算术电路格式表示。

目前,随着零知识证明不断优化以处理日益复杂的机器学习模型,ZKML 领域仍在迎头赶上。

致谢:ZKML 社区的 awesome-zkml GitHub 存储库,Worldcoin 的文章和 Elena Burger 的 post,也非常感谢 Daniel ShorrDiogo Almeida 围绕这个话题进行的对话。

如果您在 ZKML 中有项目,请联系我们!

您可以在 TwitterLinkedIn 上关注我。

声明:本文为入驻“MarsBit 专栏”作者作品,不代表MarsBit官方立场。
转载请联系网页底部:内容合作栏目,邮件进行授权。授权后转载时请注明出处、作者和本文链接。未经许可擅自转载本站文章,将追究相关法律责任,侵权必究。
提示:投资有风险,入市须谨慎,本资讯不作为投资理财建议。
免责声明:本文不构成投资建议,用户应考虑本文中的任何意见、观点或结论是否符合其特定状况,及遵守所在国家和地区的相关法律法规。