原文链接:An introduction to zero-knowledge machine learning (ZKML)
本文作者:Worldcoin;编译:Cointime Freya
零知识机器学习(ZKML)是最近在密码学领域引起轰动的一个研究和开发领域。但是它到底是什么?为什么它是有用的呢?首先,让我们把这个术语分解成它的两个组成部分,并解释它们是什么。
什么是零知识证明?
零知识证明是一种加密协议,在这种协议中,其中一方(即证明者)可以向另一方(即验证者)证明一个给定的陈述是真实的,而无需透露除了该陈述是真实的这一事实以外的任何其他信息。这是一个在各个方面都取得巨大进展的研究领域。
零知识证明带来的两个主要“原语”(或构建块)是能够为一组给定计算创建计算完整性证明,其中,证明比执行计算本身要容易得多。(我们将这种属性称为“简洁性”)零知识证明还提供了在保持计算正确性的同时隐藏部分计算的选项。(我们将这种属性称为“零知识”)
生成零知识证明的计算量非常大,大约是原始计算的100倍。这意味着有一些计算是无法计算零知识证明的,因为在现有的最佳硬件上创建它们所需要的时间使得它们不切实际。然而,近年来密码学、硬件和分布式系统领域的进步,使得零知识证明在更密集的计算中变得可行。这些进步已经允许创建可以使用密集计算证明的协议,从而扩大了新应用程序的设计空间。
零知识证明案例
零知识密码学是Web3领域最受欢迎的技术之一,因为它允许开发者构建可扩展和/或私有的应用程序。以下是一些实际应用的例子:
1)使用ZK rollup扩展以太坊:
- Starknet
- Scroll
- Polygon Zero, Polygon Miden, Polygon zkEVM
- zkSync
2)构建保护隐私的应用程序:
- Semaphore
- MACI
- Penumbra
- Aztec Network
3)身份原语和数据来源:
- WorldID
- Sismo
- Clique
- Axiom
4)第一层协议:
- Zcash
- Mina
随着ZK技术的成熟,我们相信会出现新应用程序的寒武纪爆发,因为用于构建它们的工具将需要更少的领域专业知识,并且对于开发人员来说将更加易于使用。
机器学习(ML)
机器学习是人工智能的一个领域,它使计算机能够自动学习并从经验中改进,而无需明确地编程。它涉及使用算法和统计模型来分析和识别数据中的模式,然后根据这些模式做出预测或决策。
机器学习的最终目标是开发能够在没有人为干预的情况下,自行适应和学习的智能系统,并解决医疗、金融和、以及交通等各个领域的复杂问题。最近,你可能已经看到了大型语言模型(如ChatGPT、Bard)或文本到图像模型(如DALL-E 2、Midjourney或Stable Diffusion)的进步。随着这些模型变得越来越好,并且能够执行更广泛的任务,知道是谁执行了这些操作将非常重要。
ZKML的动机和当前的努力
由人工智能/机器学习生成的内容,与人类生成的内容变得越来越难以区分。零知识密码学将使我们能够做出如下陈述:“给定的内容C来自应用于某个输入X的模型M” 我们将能够验证给定的输出是由大型语言模型(如ChatGPT)、文本到图像模型(如DALL-E 2)或我们为其创建零知识电路表示的任何其他模型创建的。这些证明的零知识属性还允许我们在需要时隐藏部分输入或模型。一个典型的例子是在一些敏感数据上应用机器学习模型,用户将能够在不向任何第三方透露他们的输入的情况下,知道模型对其数据的推理结果(例如,医疗行业)。
注意:当我们谈论ZKML时,我们谈论的是创建ML模型推理步骤的零知识证明,而不是ML模型训练(它本身已经是非常密集的计算了)。零知识系统的当前技术水平与高性能硬件,仍然无法证明与当前可用的大型语言模型(“LLM”)一样大的东西,还差几个数量级,但在创建较小模型的证明方面已经取得了一些进展。
我们在为ML模型创建证明的上下文中,对零知识密码学的技术现状做了一些研究,并创建了属于该领域的相关研究、文章、应用程序和代码库的聚合。关于ZKML的资源可以在GitHub上ZKML社区的awesome-zkml存储库中找到。
Modulus Labs团队最近发布了一篇题为 "智慧的代价 "的论文,他们在论文中对现有的ZK证明系统与各种不同规模的模型进行了基准测试。目前,使用像plonky2这样的证明系统,在强大的AWS机器上运行大约50秒,就可以为大约18M参数的模型创建证明。以下是该论文中的一张图表:
另一个致力于提高ZKML系统技术水平的举措是Zkonduit的ezkl库,它允许你创建使用ONNX导出的ML模型的ZK证明。这使得任何ML工程师都可以为其模型的推理步骤创建ZK证明,并向任何正确实现的验证器证明输出。
有几个团队致力于改进ZK技术,创建针对ZK证明内部操作的优化硬件,并为特定用例构建这些协议的优化实现。随着技术的成熟,更大的模型将在更短的时间内在功能较弱的机器上进行ZK证明。我们希望这些进步能够允许出现新的ZKML应用程序和用例。
潜在的用例
为了确定ZKML是否可以用于给定的应用程序,我们可以检查ZK密码学的属性如何解决机器学习的问题。这可以用维恩图来说明:
定义:
- 启发式优化:一种解决问题的方法,使用经验法则或“启发式”来找到使用传统优化方法难以解决的问题的良好解决方案。启发式优化方法不是试图找到问题的最佳解决方案,而是考虑到问题对整个系统的相对重要性以及优化的难度,在合理的时间内找到一个好的或“足够好的”解决方案。
- FHE ML:完全同态加密ML允许开发者以保护隐私的方式训练和评估模型;但是,没有办法像ZK证明那样,以加密方式证明正在执行的计算的正确性。
- ZK与有效性:这些术语在业界经常互换使用,因为有效性证明是不隐藏部分计算或其结果的ZK证明。在ZKML的上下文中,大多数应用程序都在利用ZK证明的有效性证明方面。
- 有效性ML-ML模型的ZK证明:其中没有将任何计算或结果保密。它们证明了计算正确性。
下面是一些潜在的ZKML用例示例:
1. 计算完整性(有效性ML)
1)Modulus Labs
- 链上可验证的ML交易机器人RockyBot
- 自我改进视觉的区块链(示例);
- 使用智能功能增强Lyra金融期权协议AMM;
- 为Astraly(ZK oracle)创建一个透明的基于AI的信誉系统;
- 使用ML for Aztec Protocol(具有隐私功能的zk rollup),努力实现合同级合规工具所需的技术突破,
2)ML作为服务(MLaaS)的透明度
3)ZK异常/欺诈检测
- 允许为可利用性/欺诈创建ZK证明。异常检测模型可以在智能合约数据上进行训练,并由 DAO同意作为有趣的指标,以便能够自动化安全程序,例如以更积极、预防性的方式暂停合约。已经有初创公司考虑在智能合约环境中使用ML模型以实现安全目的,因此ZK异常检测证明是自然而然的下一步。
4)ML推理的一般有效性证明:能够轻松地证明和验证输出是给定模型和输入对的产物。
5)隐私(ZKML)。
6)去中心化Kaggle:证明一个模型在某些测试数据上的准确率大于x%,而不透露权重。
7)保护隐私的推理:将对私人患者数据的医学诊断输入模型,并将敏感的推理(例如,癌症测试结果)发送给患者。
2. Worldcoin
1)IrisCode的可升级性:World ID用户将能够在他们的移动设备的加密存储中,自我托管他们的生物识别特证,下载用于IrisCode生成的ML模型,并在本地创建一个零知识证明,证明他们的IrisCode已成功创建。然后,这个IrisCode可以无许可地插入到注册的Worldcoin用户集中,因为接收的智能合约将能够验证零知识证明,从而验证IrisCode的创建。这意味着,如果Worldcoin升级机器学习模型,以破坏与其先前迭代的兼容性的方式创建IrisCode,那么用户就不必再次访问Orb,而是可以在本地设备上创建这个零知识证明。
2)Orb安全性:目前,Orb在其信任环境中实施了多种欺诈和篡改检测机制。然而,我们可以创建一个零知识证明,证明这些机制在拍摄图像和生成IrisCode时是有效的,以便为Worldcoin协议提供更好的有效性保证,因为我们可以完全确定,这些机制将在整个IrisCode生成过程中运行。
了解更多信息并做出贡献
2022年下半年,在ZKML领域工作的几个不同的团队和个人聚集在一起,创建了ZKML社区。这是一个开放的社区,其成员在这里讨论ZKML领域的最新研究和实验,并分享他们的发现。如果你想了解有关ZKML的更多信息,并开始与该领域的工作人员交谈,那么,这里是提问和熟悉该主题的好地方。
*本文由CoinTime整理编译,转载请注明来源。
所有评论