零知识机器学习(Zero-knowledge machine learning,简称 ZKML)是最近在密码学领域引起轰动的研发方向。但它是什么呢?以及为什么它是有用的?首先,将这个术语拆成两份,零知识(ZK)和机器学习(ML),并分别解释它们是什么。
零知识证明是一类密码学协议。其中一方(证明者)可以向另一方(验证者)证明一个给定的命题是真实的,而不泄露任何额外的信息。这一领域在研究、协议实现和应用等多个方面都取得了重大进展。
零知识的两种主要“原语”(组件)能为一组给定的计算创建计算完整性证明,验证该证明比执行计算本身要容易得多(我们称之为“简洁性”)。零知识证明还提供了这样的可能性:在保证计算正确性的同时隐藏部分计算过程(我们称之为 "零知识")。
生成零知识证明的计算量很大,比原始计算高数倍。这意味着对于某些计算,生成零知识证明是不可行的,因为在最好的硬件上也需要花费不切实际的时间。然而,近年来密码学、硬件和分布式系统领域的进展使得更密集的零知识证明计算变得可行。这些进步让构建使用密集计算证明的协议成为可能,从而扩大了新应用的设计空间。
零知识密码学是 Web3 最流行的技术之一,因为它允许开发人员构建可扩展的和私密的应用程序。随着零知识技术不断成熟,很可能会出现新应用的寒武纪大爆发,因为构建零知识应用的工具所需的领域专业知识会更少,且开发者使用会更加容易。以下是一些实际应用案例(许多项目正在开发中,尚未完成)。
ZK rollup 为以太坊扩容
公链这样的分布式系统的计算能力有限,因为所有参与的节点(计算机)都必须自行验证每个区块中的计算。在使用 ZK 证明后,我们可以在链下执行这些计算并生成 ZK 证明,然后在链上验证证明,从而在不牺牲去中心化和安全性的前提下实现可扩展性。示例应用:
• Starknet 已上线主网,采用其独创的 ZK-STARK 证明系统。与 ZK-SNARK 相比,ZK-STARK 更安全,能够抵抗来自量子计算机的攻击,且在系统初始设定时无需可信设置;ZK-STARK 开销更大,证明大小和时间较长,当交易数量变多时,平均每个交易的开销会变小。
• Scroll 测试网阶段,致力于创建一个 EVM(以太坊虚拟机)等效的 ZK rollup,与其他以太坊 L2 扩容方案相比,它与 EVM 的兼容性更好。
• Polygon zkEVM 已上线主网,是以太坊 L2 扩容方案之一,基于 ZK-STARK 开发。Polygon Miden 正在开发中,目标是高吞吐量的隐私公链。
• zkSync 已上线主网,目前是最活跃的零知识证明 L2 区块链,当前采用 ZK-SNARK 证明系统,后续将迁移到 ZK-STARK。
构建隐私保护应用
零知识证明的特性使得证明过程中的部分计算可以隐藏起来,这对于构建创建加密证明以保护用户隐私和个人数据的应用程序非常有用。示例应用:
• Semaphore
• MACI
• Penumbra
• Aztec Network 为以太坊构建一个私有扩容解决方案(ZK Rollup),其中用户的余额和交易对外部观察者是完全隐藏的。
身份和数据证明
WorldID Worldcoin 正在构建 WorldID,这是一种隐私保护的人格证明协议。它允许拥有 WorldID 的任何人发布加密声明,表明他们是独特的人类,并且在不透露其身份的情况下尚未执行过任何操作(如注册社交网络)。
• Sismo
• Clique
• Axiom
L1 区块链
由于零知识证明可以帮助外包计算并保证计算的隐私性,因此可以创建隐私/简洁(证明规模小,易于验证)的 L1 区块链。示例应用:
• Zcash
• Mina
机器学习是人工智能的一个子领域,它涉及到算法的开发和应用,这些算法让计算机可以从数据中自行学习和调整,并通过不断迭代优化其性能。大语言模型,如 GPT-4 和 Bard,是最先进的自然语言处理系统,利用海量的训练数据生成类似人类的文本,而文生图模型,如 DALL-E 2、Midjourney 和 Stable Diffusion,可以将文本描述转换为逼真的视觉表达。机器学习技术的快速进步有望解决医疗、金融、交通等各个领域的复杂挑战,通过利用数据驱动的洞察和预测,改进决策制定并优化结果。随着这些模型变得更加复杂,它们有望彻底改变许多行业,改变我们生活、工作和与技术互动的方式。
在人工智能生成的内容越来越像人类创建的内容的世界中,零知识密码学的潜在应用可以帮助我们确定,某一特定内容是通过对特定输入应用特定模型产生的。如果为大语言模型(如 GPT4)、文生图模型(如 DALL-E 2)或任何其他模型创建了零知识电路,就能验证这些模型的输出。在有需要时,这些证明的零知识属性也将允许我们隐藏输入或模型的某些部分。一个很好的例子是在某些敏感数据上应用机器学习模型,用户在不向任何第三方透露其输入的情况下,得到模型的推理结果(例如在医疗行业中)。
注意:当我们谈论零知识机器学习时,我们指的是为机器学习模型的推理步骤创建零知识证明,而不是训练步骤(训练本身就已经需要大量计算资源)。
目前的最先进的零知识系统配合高性能硬件,与证明目前可用的大语言模型("LLMs")的能力相比,仍有几个数量级的差距,但在证明较小模型方面已经有了一些进展。
关于创建机器学习模型的证明,我们研究了最先进的零知识密码学,并汇集了相关研究、文章、应用和代码库。关于零知识机器学习的资源可以在 GitHub 上 ZKML 社区的 awesome-zkml 代码库中找到。
Modulus Labs 团队最近发布了一篇名为 “智能的代价” 的论文,他们在论文中针对各种不同规模的模型对现有的零知识证明系统进行了基准测试。目前,使用 plonky2 这样的证明系统,在一台功能强大的 AWS 机器上运行约 50 秒钟,就可以为大约 1800 万个参数的模型创建证明。下图展示了随着神经网络参数数量的增加,不同证明系统的运行时间差异:
Zkonduit 的 ezkl 库是另一项致力于改善零知识机器学习系统的计划,它允许您为使用 ONNX 导出的 机器学习模型创建零知识证明。这使任何机器学习工程师都能为其模型的推理步骤创建零知识证明,并向任何验证者证明输出结果。
有几个团队正在努力改进零知识技术,优化硬件以加快零知识证明的计算速度,尤其是对于证明者和验证者算法等资源密集型任务。随着零知识技术的成熟,由于专用硬件、证明系统架构(证明大小、验证时间、证明生成时间等)的改进以及性能更强的零知识协议实现,我们将有可能在更短的时间内,在性能更弱的机器上,证明更大的模型。我们希望这些进步能带来新的零知识机器学习应用和用例。
为了确定零知识机器学习是否适用于特定应用程序,我们可以用韦恩图比对零知识密码学的特性与用例需求。
启发式算法:利用经验法则或 "启发式"方法为传统优化方法难以解决的问题找到好的解决方案。启发式优化方法不是试图找到问题的最优解,而是根据问题对整个系统的相对重要性和优化难度,在合理的时间内找到好的或 "足够好"的解决方案。
全同态加密机器学习:全同态加密允许开发者在加密数据上执行计算,解密后的结果将是对原始未加密输入执行计算的输出结果。它能以保护隐私的方式执行模型推理(完全的数据隐私,不像零知识机器学习,证明者需要访问所有数据);但是,它无法像零知识证明那样,以密码学的方式证明所执行计算的正确性。例如,Zama 团队正在创建一个名为 Concrete ML 的全同态加密机器学习框架。
零知识证明 vs. 有效性证明:这两个术语在业内经常交替使用,因为有效性证明是不隐藏部分计算或其结果的零知识证明。就零知识机器学习而言,当前大多数应用都在利用零知识证明的有效性证明方面。
有效机器学习:机器学习模型的 SNARK/STARK 证明,其中所有计算对验证者都是公开可见的。任何验证者都可以证明机器学习模型的计算正确性。
零知识机器学习:机器学习模型的零知识证明,其中的计算对验证者是隐藏的(使用零知识属性)。证明者可以证明机器学习模型的计算正确性,而无需透露任何其他信息。
具体用例
计算完整性(有效机器学习)
有效性证明(SNARKs/STARKs)可用于证明某些计算的正确性,在机器学习的语境中,我们是在证明机器学习模型推理或某个模型使用特定输入创建了某些输出。
例如,专注于零知识机器学习的初创公司 Modulus Labs 正在构建这些用例:
• 链上可验证的机器学习交易机器人 RockyBot
• 自我进化的区块链(示例):
• 为 Lyra finance 期权自动做市商协议添加智能功能
为 Astraly(零知识预言机)创建透明的基于人工智能的声誉系统
• 为 Aztec Protocol(具有隐私功能的 zk-rollup)• 研究技术突破,以实现基于机器学习的合约级别合规工具
能够轻松证明和验证输出是由给定模型和输入产生的。这使得机器学习模型可以链下运行在专用硬件上,其零知识证明也可以在链上轻松验证。例如,Giza 正在帮助 Yearn(DeFi 收益聚合协议)证明一些使用机器学习的复杂收益策略正在链上正确运行。
机器学习即服务(MLaaS)透明性
当不同的公司通过其应用程序接口(API)提供机器学习模型服务时,作为用户确实很难知道服务提供商是否真的提供了他们所说的模型,因为应用程序接口(API)是一个黑盒子。附带有效性证明的机器学习模型 API 将有助于向用户提供透明性,因为用户可以验证他们使用的是哪个模型。
零知识异常及欺诈检测
创建可利用性或欺诈的零知识证明。异常检测模型可以在智能合约数据上进行训练,并通过去中心化自治组织(DAO)协定作为有趣的指标,以便能够自动执行安全程序,例如更为积极、预防性地暂停合约运行。有一些初创公司正在研究在智能合约上使用机器学习模型进行安全分析,下一步可能会是零知识异常检测证明。
隐私(零知识机器学习)
除了有效性证明外,我们还可以隐藏部分计算细节,以便支持隐私保护的机器学习应用。下面是几个例子:
• 去中心化 Kaggle:在不透露模型权重的情况下,证明模型在某些测试数据上的准确率大于 x%。
• 隐私保护的模型推理:将病人私人数据的医疗诊断结果输入模型,并将敏感的模型推理(如癌症检测结果)发送给病人。(来源:vCNN 论文,第 2/16 页)
• Worldcoin
零知识机器学习在 Worldcoin 的潜在用例
零知识机器学习在 Worldcoin 中的一个潜在用途是可升级的虹膜代码。World ID 用户可以在其移动设备的加密存储中自行保管其签名的生物识别信息,下载用于生成虹膜代码的机器学习模型,并在本地创建零知识证明,证明其虹膜代码确实是使用正确的模型从签名图像中生成的。由于智能合约能够验证零知识证明并证明虹膜代码的生成,因此该虹膜代码可以无许可地插入到已注册的 Worldcoin 用户集合。这就意味着,如果 Worldcoin 升级了创建虹膜代码的算法,从而破坏了与之前迭代版本的兼容性,那么用户就不必重新使用 Orb(虹膜扫描的专用设备),而只需在本地设备上进行升级即可。
作者|worldcoin
翻译|Backdoor
校对|Johnny Jiang
排版|Bo
审核|Bo
原文链接👇
SeeDAO 是一个基于区块链的数字城邦,其表现形态为去中心化的数字网络(SeeDAO Network) 和映射在全球各地的物理据点(Seeshore)由 SeeDAO 成员共建、共治、共享。目前已形成翻译公会、投研公会、研发公会等多个公会,一万余名成员。旨在从教育、信息、活动等多方面助力优质 Web3 项目的诞生。
中文 Twitter :https://twitter.com/see_dao
Global Twitter : https://twitter.com/en_SeeDAO
Discord :https://discord.com/invite/seedao-xyz
Notion :https://seedao.notion.site
Mirror: https://seedao.mirror.xyz
添加小助手微信进入 SeeDAO 新手营:seedao2023