ZKML的应用和潜力
ZK的热度从2022年开始持续火热,其技术已经取得了很大的发展,ZK系的项目也持续发力。与此同时,随着机器学习(ML)的普及,也广泛应用于生产生活中,许多企业也开始构建、训练以及部署机器学习模型。但目前机器学习面临的一个重大问题是如何保证可信度和对不透明数据的依赖性。这就是ZKML的重要意义:让使用机器学习的人完全了解模型而不需要透露模型本身的信息。
1.什么是ZKML
什么是ZKML,我们把它分开来看。ZK(零知识证明)是一种密码协议,证明者可以向验证者证明给定的陈述是真实的而无需透露任何其他信息,也就是说不需要过程就可以知道结果。ZK有两大特点:第一,证明了想证明的东西而无需透露给验证者过多的信息;第二,生成证明很难,验证证明很容易。基于这两个特点,ZK发展出了几大用例:Layer 2 扩容、隐私公链、去中心化存储、身份验证、以及机器学习等。本文的研究重点将集中在ZKML(零知识机器学习)上面。
什么是ML(机器学习),机器学习是一门人工智能的科学,涉及算法的开发和应用,使计算机能够自主学习和适应数据,通过迭代过程优化其性能,无需编程过程。它利用算法和模型来识别数据得到模型参数,最终做出预测/决策。目前,机器学习已成功地应用于各个领域,随着这些模型的完善,机器学习需要执行的任务越来越多,为了保证高准确度的模型,这就需要用到ZK技术:使用公共模型验证私有数据或使用公共数据验证私有模型。
目前我们所谈到的ZKML是创建 ML 模型推理步骤的零知识证明,而不是 ML 模型训练。
2.为什么需要ZKML
随着人工智能技术的进步,区分人工智能和人类智能和人类生成变得更加困难,零知识证明就有能力解决这个问题,它让我们能够确定特定内容是否是通过将特定模型应用于给定输入而生成的,而无需透露有关模型或输入的任何其他信息。
传统的机器学习平台,往往需要开发者将自己的模型架构提交给主机进行性能验证。这可能会导致几个问题:
- 知识产权损失:公开完整的模型架构可能会暴露开发人员希望保密的有价值的商业秘密或创新技术。
- 缺乏透明度:评估过程可能不透明,参与者可能无法验证他们的模型与其他模型的排名。
- 数据隐私问题:经过敏感数据训练的共享模型可能会无意中泄露有关基础数据的信息,从而违反隐私规范和法规。
这些挑战催生了对能够保护机器学习模型及其训练数据隐私的解决方案的需求。
ZK提出了一种有前途的方法来解决传统 ML平台所面临的挑战。通过利用 ZK的力量,ZKML 提供了具有以下优势的隐私保护解决方案:
- 模型隐私:开发者可以在不公开整个模型架构的情况下参与验证,从而保护他们的知识产权。
- 透明验证:ZK可以在不泄露模型内部的情况下验证模型性能,从而促进透明和无需信任的评估过程。
- 数据隐私:ZK可用于使用公共模型验证私有数据或使用公共数据验证私有模型,确保敏感信息不被泄露。
将ZK集成到ML过程中提供了一个安全且隐私保护的平台,解决了传统 ML的局限性。这不仅促进了机器学习在隐私行业的采用,也吸引了经验丰富的 Web2 开发人员探索 Web3 生态系统内的可能性。
3.ZKML应用和机会
随着密码学、零知识证明技术和硬件设施的日益完善,越来越多的项目开始探索 ZKML 的使用。ZKML的生态系统可以大致分为以下四个类别:
- 模型验证编译器:将模型从现有格式(例如 Pytorch、ONNX 等)编译成可验证计算电路的基础设施。
- 广义证明系统:为验证任意计算轨迹而构建的证明系统。
- ZKML特定证明系统:专门为验证 ML 模型的计算轨迹而构建的证明系统。
- 应用程序:处理ZKML用例的项目。
根据ZKML这些应用的生态类别,我们可以对当前一些应用ZKML的项目做一个分类:
ZKML 仍然是一项新兴技术,它的市场还很早,而且许多应用程序只是在黑客松上进行试验,但ZKML仍为智能合约开辟了一个新的设计空间:
DeFi
使用ML参数化的Defi应用程序可以更加自动化。例如,借贷协议可以使用 ML 模型来实时更新参数。目前,借贷协议主要信任由组织运行的链下模型来确定抵押品、LTV、清算门槛等,但更好的替代方案可能是社区训练的开源模型,任何人都可以运行和验证。使用可验证的链下ML预言机,ML模型可以对签名数据进行链下处理以进行预测和分类。这些链下ML预言机可以通过验证推理并在链上发布证明,从而无信任地解决现实世界的预测市场、借贷协议等问题。
Web3社交
筛选Web3社交媒体。Web3 社交应用程序的去中心化特性将导致更多的垃圾邮件和恶意内容。理想情况下,社交媒体平台可以使用社区同意的开源 ML 模型,并在选择过滤帖子时发布模型推理的证明。作为社交媒体用户,可能愿意查看个性化广告,但希望对广告商保密用户的偏好和兴趣。因此用户可以选择根据喜好在本地运行一个模型,该模型可以输入媒体应用程序来为其提供内容。
GameFi
ZKML可以应用于新型链上游戏,可以创建合作的人类与人工智能游戏和其他创新的链上游戏,其中人工智能模型可以充当NPC,NPC 采取的每项行动都会发布到链上,并附有任何人都可以验证以确定正在运行的正确模型的证明。同时,ML 模型可用于动态调整代币发行、供应、销毁、投票门槛等,可以设计一款激励合约模型,如果达到某个再平衡阈值并验证推理证明,它会重新平衡游戏内经济。
身份验证
用保护隐私的生物特征认证代替私钥。私钥管理仍然是Web3中最大的困点之一。通过面部识别或其他独特因素提取私钥也许是 ZKML 的一种可能解决方案。
4.ZKML的挑战
虽然ZKML在不断改进和优化,但该领域还处于早期发展阶段,仍存在一些从技术到实践的挑战:
- 以最小的精度损失量化
- 电路的大小,特别是当一个网络由多层组成时
- 矩阵乘法的有效证明
- 对抗性攻击
这些挑战一是会影响到机器学习模型的准确性,二是会影响其成本和证明速度,三是模型窃取攻击的风险。
目前对于这些问题的改进正在进行,@0xPARC 在 2021 年的ZK-MNIST演示展示了如何在可验证电路中执行小规模MNIST图像分类模型; Daniel Kang 对ImageNet规模模型进行了同样的操作,目前 ImageNet 规模的模型的精度已经提高到 92%,预计将很快达到与更广泛的ML空间的进一步的硬件加速。ZKML 仍处于早期开发阶段,但它已经开始展现不少成果。随着技术的发展和成熟,可以期待看到更多ZKML的链上创新应用。随着 ZKML 的不断发展,我们可以预见未来隐私保护机器学习将成为常态。