伴随着区块链技术的飞速发展,数据隐私和安全俨然成为一项核心议题。零知识机器学习(Zero-knowledge machine learning, ZKML)作为一种新兴技术,有效结合了零知识证明(ZKP)的安全性和机器学习(ML)的智能性,为Web3世界带来了前所未有的机遇。

当前ZKML技术在区块链领域的应用广泛,主要包括以下几个方面:

  • 硬件加速:由于ZK证明的计算复杂性,一些项目如Cysic、Ulvetanna等,利用硬件加速来提高链上计算的效率。

  • 链上数据处理:项目如Axiom、Herodotus等,专注于将链上数据转换为适合ML训练的格式,并确保ML输出结果能够方便地从链上访问。

  • 计算电路化:为了使ML计算能够被区块链的ZK处理,一些项目如Modulus Labs、Jason Morton等,将ML计算模式转化为电路形式。

  • 结果的ZK证明:为了解决ML模型的信任问题,项目如RISC Zero、Axiom等,利用基于ZK-SNARKs的证明来验证模型的真实性。

ZKML 当前发展迅猛,在应用领域上可以助力 Web3 去中心化身份 DID 的建设。此前,私钥、助记词等身份管理模式使 Web3 用户体验较差,真正的 DID 建设可以通过 ZKML 进行 Web3 主体生物信息的识别完成,同时,ZKML 能保证用户生物信息隐私的安全性。Worldcoin 正在应用 ZKML 实现基于虹膜扫描的零知识 DID 验证。

本文将从 Worldcoin 和 Vanna 两个案例出发,深入探讨 ZKML 技术的发展和挑战,并助推该技术在区块链领域的广泛应用和繁荣。

1. Worldcoin案例分析: ZKML在身份验证与隐私保护中的应用

  • DApp 接入 Worldcoin

Worldcoin ID 可用于身份认证。Worldcoin 提供一个 IDKit SDK 用于使用 World App 进行身份认证,具体流程如下:

通过上述流程处理后将用户的生物信息作为登陆凭证,最终在 Worldcoin App 中生成了用于证明身份的 proof。

Worldcoin 中的 ZKML 应用

  • ML 在 Worldcoin 中的应用

通过在自托管生物识别数据(用户终端)上运行 IrisCode 模型,验证用户是否在本地创建了有效且唯一的 WorldID,并在具有有效身份承诺的 WorldID Semaphore 身份组上调用 _addMember(uint256 groupId, uint256 identityCommitment) 函数使协议公开无权限。

  • ZK 在 Worldcoin 中的应用

注册流程

在Worldcoin的注册过程中,用户通过虹膜扫描生成WorldID,并在具有有效身份承诺的Semaphore身份组上调用_addMember函数,实现协议的公开无权限访问。

Signup Sequencer:注册排序器对批量提交给以太坊智能合约的数据(身份)进行排序。

Semaphore MTB:SMTB 是一项用于批量处理 Merkle 树更新的服务。它接受默克尔树更新,并将其批量合并为一个更新。这对于减少需要提交给区块链的交易数量非常有用。通过生成 SNARK可以确保批量 Merkle 树更新的正确性。

Tx Sitter:签署交易并将其发送到区块链

Proof 输入为 external nullifier(public 32-byte value that scopes the uniqueness of verifications) 和 secret identity nullifier,根据这两个计算 nullifier hash,用于用户身份识别。

登陆流程

登录过程中,用户提交的identity nullifier将被转换为proof,这一过程类似于zkrollup。用户提交identity nullifier后,多个Merkle状态更新被聚合并发布到区块链上。

总结

Worldcoin的技术实现涉及到多个层面,包括IrisCode模型的本地运行、External-nullifier的生成、Semaphore MTB的批量处理以及Tx Sitter的交易处理等。其中因为运行 IrisCode 模型将虹膜转为 World ID 过程发生在用户终端,这部分不由外部节点运行以保护用户隐私。这些技术的结合,使得Worldcoin能够在保护用户隐私的同时,实现高效、安全的身份验证。

Worldcoin案例展示了ZKML技术在实际应用中的潜力和效果。通过结合零知识证明和机器学习,Worldcoin不仅提升了身份验证的安全性,同时也为用户隐私保护提供了强有力的支持。

这一案例为其他区块链项目提供了宝贵的参考和启示。

2.Vanna 网络与 ZKML: 区块链中的智能推理与验证

Vanna 网络概览

Vanna网络是一个创新的区块链平台,专注于提供高效的零知识证明生成和验证服务。它结合了区块链的透明性和不可变性,以及零知识证明的隐私保护特性,为用户提供了一个安全、可靠的数据处理环境。

Vanna 网络功能

  • 查询数据:通过对智能合约进行链间查询来访问 Oracle 馈送数据或链上状态。

  • 预处理:利用 Vanna 的内置预编译器对查询的原始数据进行预处理,以准备进行推理。

  • 推理执行:以适合您用例的任何加密安全级别无缝且可扩展地运行推理

  • 推理验证:所有确保推理的加密证明均由验证器节点在 Vanna 网络上进行验证。

  • 发布与溯源:推理结果可以通过跨链消息传递到任意链上的合约,并发布到数据可用性层。

Vanna 网络特点

  • 并行推理预执行

分为三个阶段:

第一阶段:模拟

Vanna 通过模拟器运行每笔交易,以找出交易将发出哪些推理请求。这里并不执行。

第二阶段:推理内存池

交易及其推理请求被添加到推理内存池中,该内存池将请求发送到 Vanna 推理节点。这里需要执行推理和证明。

第三阶段:EVM 执行

将推理结果注入 EVM,以便交易可以直接读取它,就像读取任何其他变量一样。然后执行交易并将其提交到区块链。

  • 验证计算分离

Vanna Network 采用两种类型的节点,即验证节点和推理节点,并将网络验证和推理计算分别分叉到两种类型的节点上。

验证节点:Rollup 节点独立验证交易并验证 Vanna 网络的状态。Vanna 网络上的 Rollup 节点还参与验证推理节点生成的加密证明。

推理节点:推理节点不验证网络上的交易和区块,而只专注于计算 AI/ML 推理以及为推理生成加密证明。

  • 质押与惩罚

Vanna 网络以应用层质押合约的形式提供加密经济安全性。当推理节点上线参与保护网络时,它们必须在质押合约中发布 Vanna 代币作为抵押品。质押合约强制执行推理节点的行为,其中的削减条件包括但不限于:

  • zkML- 生成无效且无法通过加密方式验证的证明

  • opML- 对节点生成的推理的挑战成功

  • zkFP- 对节点生成的推论的挑战成功,或者无法生成证明该推论的 ZK SNARK

总结

Vanna网络通过其独特的设计和功能,展示了ZKML在区块链中的应用网络通过其独特的设计和功能,展示了ZKML在区块链中的应用潜力。其并行推理预执行、验证计算分离以及质押与惩罚机制。

3.ZKML开发利剑 EZKL: 简化零知识证明的生成与验证

EZKL 概述

EZKL 获取程序的高级描述并设置零知识证明器和验证器。重点是以pytorchAI/ML 模型和其他计算图表示的程序。设置后,证明器可以证明如下语句:

  • “我用一些私人数据运行了这个公开的神经网络,它产生了这个输出”

  • “我用一些公共数据运行了我的私人神经网络,并产生了这个输出”

  • “我在一些公共数据上正确地运行了这个公开的神经网络,它产生了这个输出”

EZKL 工作流程

EZKL 工作流程图如下所示:

  • 定义神经网络模型:定义一个简单的神经网络

  • 模型训练:生成输入数据,通过模型得到输出

  • 模型导出:导出模型为ONNX格式

  • 生成零知识证明设置:生成设置文件

  • 编译电路:编译模型生成电路文件

  • 生成零知识证明:生成SRS、witness 文件、证明密钥和验证密钥

  • 验证零知识证明:生成零知识证明并在本地验证或创建EVM验证器的Solidity代码和ABI文件,部署合约,在链上验证证明

4.ZKML 挑战与展望

随着区块链技术的不断演进,零知识机器学习(ZKML)正逐渐成为提升应用隐私性和安全性的关键力量。它不仅预示着智能合约隐私保护和去中心化金融(DeFi)安全性增强等创新应用的涌现,更有望成为区块链技术不可或缺的组成部分,为构建一个更安全、更注重隐私的数字世界提供坚实的技术基础。

挑战

尽管ZKML的潜力巨大,但在其应用过程中也面临着一些挑战:

  • 技术复杂性:ZKML的实现需要深厚的数学和密码学知识,这无疑增加了开发和维护的难度,要求开发者具备更高的专业技能。

  • 性能瓶颈:零知识证明的生成和验证过程计算密集,可能影响系统的响应时间和处理能力。为了解决这一问题,一些项目如Lumoz提供的模块化计算层,以提高性能。

  • 用户接受度:尽管ZKML提供了强大的隐私保护功能,但用户可能因为对其复杂性和安全性的不了解而持保留态度。

  • 监管挑战:隐私保护技术的发展要求监管机构更新相关法规,以适应新技术带来的变化和挑战。

展望

尽管存在挑战,但ZKML技术的深度融合与区块链的未来发展充满希望:

  • 技术进步:随着研究的深入和技术的成熟,ZKML的实现将变得更加高效和用户友好。

  • 用户教育:通过教育和普及,可以提高用户对ZKML技术复杂性和安全性的理解,增加其接受度。

  • 监管适应:监管机构的适应和创新将为ZKML技术的发展提供法律和政策上的支持。

  • 应用创新:ZKML技术的不断进步将激发更多创新应用的出现,推动区块链技术在更广泛领域的应用。

5.结语

ZKML技术的发展是区块链领域的一大步,它预示着一个全新的数据隐私和安全性时代的到来。面对技术复杂性、性能瓶颈和监管挑战,我们应保持乐观,相信随着技术的进步和用户接受度的提高,ZKML将在区块链领域发挥更加重要的作用,推动更广泛的应用和创新。

参考资料

  • Worldcoin Docs

  • Intro to zero-knowledge proofs, Semaphore and their application in World ID

  • 深度解读ZKML:技术原理、应用场景、优势和挑战

  • 扫描虹膜来实现人格证明,Worldcoin 是否在正确的道路上?

  • A Gentle Introduction to zkM

  • a16z Crypto 投资人:零知识(ZK)技术被严重低估