想象一下,您有一种秘密方法可以证明某件事是真实的,而无需透露任何额外的细节。这正是零知识(ZK)证明在数字世界中所做的事情。这就像两方之间的特殊握手:一方(证明者)让另一方(验证者)相信某件事是真实的,而无需暴露其他任何内容。机器学习 (ML) 是人工智能的一个分支,它使计算机能够从数据中学习和改进,通过迭代过程学习时产生更准确的结果。
在 ZKML 的背景下,证明者可以证明 ML 模型结果的正确性,而无需透露任何其他信息。这意味着计算结果对验证者保密。需要注意的是,这主要涉及为 ML 模型的推理步骤创建零知识证明,而不是训练阶段。
将机器学习引入区块链世界的主要挑战之一是高昂的计算成本。由于计算资源有限,许多机器学习项目很难直接在区块链上运行。当您将 ZK 的复杂加密操作和交互与 ML 的广泛计算结合起来时,很明显大多数区块链都面临交易成本方面的限制,这是链上 ML 采用的主要障碍。
ZK 证明为 ML 的计算挑战提供了解决方案。它们允许复杂计算的脱链执行,同时使计算能够在链上被证明是正确的。ZK 的验证效率超越了重新计算,但这种优势通常仅限于处理区块链上的本机交易数据。
当将此技术与 Gear 驱动的区块链的高速、低成本交易相结合时,ZKML 就成为链上应用程序的强大工具。它可以利用人工智能在同时保持去中心化和效率。
这种实现提供了将资源密集型计算从区块链转移出去的能力,同时确保其完整性。它以说明性示例展示了MNIST机器学习模型的评估。这是通过生成计算的零知识证明并随后在链上验证它们来完成的。
关联的智能合约仅允许每个客户端进行一次验证会话。如果客户希望放弃当前验证并提交新输入,他们可以选择发送交易以清除正在进行的验证。
采用零知识证明进行计算的过程涉及四个关键参与者:Initializer、User、zk-smart-contract和Prover。

Initializer:该参与者负责将 部署zk-smart-contract到区块链上并初始化其参数。在初始化过程中,定义了机器学习模型的结构,为后续交互奠定了基础。User:系统的用户(可以是一个人或另一个智能合约)zk-smart-contract通过提交输入数据与系统进行交互,这些数据旨在由机器学习模型进行处理。此步骤演示了外部各方如何无缝地与区块链交互,而无需直接执行计算密集型操作。Prover:Prover部署在服务器上,不断轮询zk-smart-contract以发现s提供的新输入User,计算输出并证明计算。证明者从 中检索输入zk-smart-contract,评估机器学习模型,并生成证明计算有效性的零知识证明。然后将机器学习模型的输出结果以及零知识证明提交回zk-smart-contract.User Verification:用户通过与 交互来启动验证过程zk-smart-contract。协调zk-smart-contract零知识证明的验证,在不暴露敏感数据的情况下独立确认计算的准确性。Verification Outcome:一旦验证过程在 内完成zk-smart-contract,用户就会收到验证结果。

