zkML零知识机器学习介绍

1. 引言

零知识证明技术的2大基石为:

  • 1)succinctness:相比于直接运行整个计算本身,验证该计算完整性证明要简单很多。
  • 2)zero-knowledge:可在不泄露计算隐私的情况下,证明计算的完整性。

生成零知识证明是计算密集的,相比于直接计算其本身要昂贵很多倍。因此,存在某些无法生成零知识证明的计算,因为即使在最好的硬件上也无法实用地创建证明。但是,随着密码学领域的发展,近些年的硬件和分布式系统使得为某些更密集计算的创建零知识证明成为可能。使得可创建一些协议来为密集计算生成证明,从而扩展出新的应用领域。

2022年下半年,在zkML领域(包括Worldcoin)工作的几个不同团队和个人创建了zkML社区。这是一个开放的社区,其成员在这里讨论zkML领域的最新研究和实验,并分享他们的发现。也可参看a16z团队的 Elena Burger的博客《https://a16zcrypto.com/content/article/checks-and-balances-machine-learning-and-zero-knowledge-proofs/》。
更多前沿方案也可参看:

2. zk用例

零知识密码学是当前Web3空间最流行的技术之一,开发者可利用零知识密码学来构建扩容应用和(或)隐私应用。

具体的zk用例有:

  • 1)使用zkRollups来扩容以太坊:类似公链这样的分布式系统具有有限的算力,因为所有参与节点(计算机)需自己运行并验证每个区块内的计算。使用zk proof可在链下执行这些交易,计算出一个zk proof,并在链上验证该proof,从而在不牺牲去中心化或安全性的前提下,实现扩容。具体的zkRollup扩容方案有:

    • Starknet
    • Scroll
    • Polygon Zero, Polygon Miden,Polygon zkEVM
    • zkSync
  • 2)构建隐私保护应用:zk proof的零知识属性,使得可隐藏待证明计算的某些部分,这有助于创建保护用户隐私和个人数据的引用。具体的隐私保护应用有:

    • Semaphore:为匿名身份协议,支持在不透露原始身份的情况下发送投票或支持等信号。
    • MACI:最小反共谋基础设施(MACI)是抗贿赂、安全和私人数字投票的基础层。
    • Penumbra:Penumbra为shielded跨链网络,允许任何人在不向世界广播个人信息的情况下安全地进行交易、入股、交换或做市。
    • Aztec Network:为以太坊的隐私zkRollup扩容方案,其中的用户余额以及交易对任意外部观察者是完全隐藏的。
  • 3)身份原语和数据治理:

    • WorldID:Worldcoin正在构建WorldID,为隐私保护proof-of-personhood协议。支持任何具有WorldID的用户,在不泄露其具体身份的情况下,以密码学方式证明其是唯一地人类且之前未做某个行为(类似社交网络的注册)。
    • Sismo:Sismo利用零知识证明(ZKP)和隐私保护技术,使用户能够聚合个人数据并选择性地向应用程序披露。通过使用Sismo Connect,易于集成SSO的应用程序可以在不损害用户隐私的情况下请求访问个人数据。
      Sismo Connect旨在取代谷歌登录等非主权SSO和以太坊登录(Sign in with Ethereum,SIWE)等有限SSO。
    • Clique:将web2的用户行为和身份数据带到链上,同时弥合web2中的价值创造活动和web3中的激励分布层之间的差距。Clique的目标是增强强大的链上身份和声誉系统,并为web3发布更可持续的用例。
    • Axiom:在应用程序中使用ZK的强大功能。从智能合约中可靠地访问和处理历史链上数据。
  • 4)Layer 1协议:由于zk proof可帮助转移计算,并是计算隐私,从而支持创建隐私和(或)简洁(size小且易于验证)的layer 1,如:

    • Zcash
    • Mina

3. zkML的动机和当前的努力

机器学习是人工智能的一个子领域,涉及算法的开发和应用,使计算机能够自主学习和适应数据,并通过迭代过程优化其性能。GPT-4和Bard等大型语言模型是最先进的自然语言处理系统,它们利用大量的训练数据生成类人文本,而DALL-E 2、Midtravel和Stable Diffusion等文本到图像模型则以惊人的保真度将文本描述转换为视觉表示。机器学习技术的快速发展,通过利用数据驱动的见解和预测来改善决策和优化结果,在应对包括医疗保健、金融和交通在内的各个领域的复杂挑战方面具有重要前景。随着这些模型变得越来越复杂,它们将彻底改变许多行业,改变我们的生活、工作方式以及与技术的互动方式。

在一个人工智能生成的内容越来越类似于人类创建的内容的世界里,零知识密码学的潜在应用可以帮助我们确定特定的内容是通过将特定的模型应用于给定的输入而生成的。这可以提供一种方法来验证来自大型语言模型(如GPT4)、文本到图像模型(如DALL-E2)或任何其他模型的输出,如果为它们创建了零知识电路表示的话。这些证明的零知识特性允许我们在需要时也隐藏部分输入或模型。一个很好的例子是在一些敏感数据上应用机器学习模型,用户可以在不向任何第三方(例如医疗行业)透露其输入的情况下知道对其数据的模型推理结果。

注意:当我们谈论zkML时,我们谈论的是创建ML模型推理步骤的零知识证明,而不是ML模型训练(这本身就已经是计算密集型的)。

零知识系统与高性能硬件相结合的当前技术水平仍差几个数量级,无法证明像当前可用的大型语言模型(“LLM”)这样大的东西,但在创建较小模型的证明方面已经取得了一些进展。

开源社区现有的zkML资源见:

Modulus Labs团队最新名为“The Cost of Intelligence”的论文中,基于大量不同size的模型,对现有ZK证明系统进行了benchmark。使用类似plonky2证明系统,在强大的AWS机器上,当前可为 有约1800万个参数的模型在50秒左右生成证明。下图展示了随着神经网络中参数的增加,不同证明系统的性能扩展:
在这里插入图片描述
另一个致力于改进zkML系统最新技术的举措是Zkonduit的ezkl库,ezkl支持为使用ONNX导出的ML模型创建zk证明。这使得任何ML工程师都能够创建其模型的推理步骤的zk证明,并向任何verifier证明输出。

有几个团队致力于改进zk技术,创建优化的硬件来加快zk证明的计算,特别是对于资源密集型任务,如prover和verifier算法。随着zk技术的成熟,由于专用硬件、证明系统架构(证明大小、验证时间、证明生成时间等)和更高性能的zk协议实现的改进,将有可能在较小的时间内在功能较弱的机器上证明更大的模型。期望这些进步将允许出现新的zkML应用程序和用例。

4. zkML用例

为了决定zkML是否可以用于给定的应用程序,我们可以检查zk密码学的属性如何帮助启用某些用例。可以用维恩图来说明:
在这里插入图片描述

  • Heuristic optimization:启发式优化是一种解决问题的方法,使用经验法则或“启发式”为使用传统优化方法难以解决的问题找到良好的解决方案。启发式优化方法不是试图找到问题的最优解,而是考虑到问题对整个系统的相对重要性和优化难度,在合理的时间内找到一个好的或“足够好”的解决方案。

  • Fully Homomorphic Encryption (FHE)ML:FHE(全同态加密)允许开发人员对加密数据执行操作获得的加密结果,当对加密结果解密后,对应为对原始未加密输入执行的操作的输出。能够以保护隐私的方式评估模型(完全的数据隐私,不像zkML那样Prover需要访问所有数据);然而,没有办法像zk证明那样以密码方式证明所执行计算的正确性。例如,Zama正在创建一个名为Concrete ML的FHE ML框架。

  • ZK proofs vs. Validity proofs:这些术语在行业中经常互换使用,因为有效性证明是zk证明,不会隐藏部分计算或其结果。在zjML的上下文中,大多数当前的应用程序都在利用zk证明的有效性特性。

  • Validity ML:ML模型的SNARK/STARK证明,其中所有计算对Verifier是公开可见的。然后,任何Verifier都可以证明ML模型的计算正确性。

  • ZKML:ML模型的zk证明,其中计算对Verifier隐藏(使用零知识属性)。Prover可以在不透露任何进一步信息的情况下证明ML模型的计算正确性。

  • Computational integrity (validity ML):有效性证明(SNARKs/STARKs)可以用于证明某些计算是正确的,在ML的上下文中用于证明ML模型推理,或者某些模型使用特定的输入创建了一些输出。
    例如,专注于ZKML的初创公司Modulus Labs正在构建以下用例:

    • 链上可验证的ML交易机器人-RockyBot
    • 自我提升愿景的区块链:
    • 用AI增强Lyra金融期权协议AMM
    • Astraly(ZK oracle)创建一个透明的基于AI的声誉系统
    • 使用ML 为 Aztec协议(具有隐私功能的zkRollup)实现合约级合规工具所需的技术突破

    易于对 给定模型和输入对的乘积的output生成证明和验证的能力,使得ML模型能够在专门的硬件上离线运行,并使其zk证明能够在链上轻松验证。例如,Giza正在帮助Yearn(一种收益聚合器协议DeFi)使用ML证明一些复杂收益策略正在链上正确执行。

  • ML as a Service (MLaaS) transparency:当不同的公司通过其API提供对ML模型的访问时,作为用户很难知道服务提供商是否实际提供了他们所说的模型,因为API是一个黑盒子。提供ML模型API的有效性证明将有助于向用户提供透明度,因为用户可以验证他们正在使用的模型。
    在这里插入图片描述

  • ZK anomaly/fraud detection:允许创建可利用性/欺诈的ZK证明。异常检测模型可以根据智能合约数据进行训练,并由DAO同意作为有趣的指标,以便能够以更积极、预防的方式自动化安全程序,如暂停合约。有些初创公司已经在考虑在智能合约上下文中使用ML模型来实现安全目的,因此ZK异常检测证明可能是下一步。

  • Privacy (ZKML):除了有效性证明,还可以隐藏部分计算,以实现ML的隐私保护应用。以下是几个例子:

    • 去中心化Kaggle:证明一个模型在没有揭示权重的情况下,对一些测试数据的准确率超过了x%。
    • 隐私保护推理:将私人患者数据的医疗诊断输入模型,并将敏感推断(例如,癌症测试结果)发送给患者。(见2020年vCNN: Verifiable Convolutional Neural Network based on zk-SNARKs 论文第2/16页)

5. zkML在Worldcoin中的潜在用途

ZKML在Worldcoin上下文中的一个潜在用途是虹膜code的可升级性。World ID用户将能够在其移动设备的加密存储中自行保管他们的签名生物特征,下载用于生成虹膜code的ML模型,并在本地创建零知识证明,证明他们的虹膜code确实是使用正确的模型从签名图像中生成的。该虹膜code然后可以被无许可地插入到注册的Worldcoin用户集合中,因为接收智能合约将能够验证验证虹膜code创建的零知识证明。这意味着,如果Worldcoin升级算法以创建虹膜code,从而打破与之前迭代的兼容性,用户就不必回到Orb,而是可以在设备上本地计算升级。

参考资料

[1] Worldcoin 2023年2月23日博客 An introduction to zero-knowledge machine learning (ZKML)

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值