Time:2023-06-27 Click:92
区块链技术和机器学习作为两个备受关注的领域,分别以其去中心化的特性和数据驱动的能力引领着技术的进步。区块链技术中的 ZK(零知识,Zero-Knowledge,下文简称 ZK)是密码学中的一个概念,指的是一种证明或交互过程,其中证明者能够向验证者证明某个陈述的真实性,而不泄露任何有关这个陈述的具体信息。ML(机器学习,Machine Learning,下文简称 ML),是 AI 的分支领域。机器学习从输入数据中学习、总结形成模型并能做出预测和决策。
在这一背景下,结合两者的 ZKML(Zero-Knowledge Machine Learning 零知识机器学习)在近期蓬勃发展。ZKML 将零知识证明的隐私保护和验证能力与机器学习的数据处理和决策能力相结合,为区块链应用带来了全新的机遇和可能性。ZKML 为我们提供了一种同时保护数据隐私、验证模型准确性和提升算力效率的解决方案。
本文将深入介绍 ZKML,了解其技术原理和应用场景,与开发者们一起探索这个令人兴奋的交叉领域,揭秘 ZKML 如何构建隐私性更加完备、更具安全性和高效性的数字化未来!
ML 有大量信任问题需要解决,各个工作流程的准确性、完整性、隐私性需要被证明。ZK 刚好能在确保隐私性的前提下有效验证任何类计算是否正确运行,很好地解决了机器学习长期存在的信任证明问题。模型的完整性是 ML 训练过程中的重要信任证明问题,但 ML 模型训练和使用的数据和信息的隐私保护同样重要。这使 ML 的训练难以通过第三方审计监管机构完成信任证明,去中心化的零知识属性的 ZK 是与 ML 具有极高匹配性的信任证明路径。
“AI 提升生产力,区块链优化生产关系”,ML 为 ZK 赛道注入更高的创新动能和服务质量、ZK 为 ML 提供可验证性与隐私保护,ZKML 双方在区块链环境中互补运行。
ZKML 的主要技术优势实现了计算完整性、隐私保护性与启发式优化结合。从隐私角度上来看,ZKML 的优势在于:
实现透明验证
零知识证明(ZK)可以在不暴露模型内部细节的情况下评估模型性能,实现透明和无需信任的评估过程。
数据隐私保障
ZK 可用于使用公共模型验证公共数据或使用私有模型验证私有数据,以此保证数据的隐私性和敏感性。
ZK 本身通过密码学协议,在保证隐私性的前提下确保了某个声明的正确性,很好的解决了计算正确性证明机器学习在隐私保护上、同态加密机器学习在隐私保护上的缺陷。将 ZK 融入 ML 过程中,创建了一个安全且保护隐私的平台,解决了传统机器学习的不足。这不仅鼓励隐私公司采用机器学习技术,Web2 开发人员也更有动力来探索 Web3 的技术潜力。
ML 上链的算力桎梏与 ZK-SNARKs
在链下已经较为成熟的 ML 之所以刚刚进军链上,是因为区块链的算力成本过高。很多机器学习项目因算力限制无法直接在以 EVM 为代表的区块链环境下运行。同时,虽然 ZK 的有效性验证比重复计算效率更高,但这种优势仅限于区块链原生的交易数据处理。当 ZK 本就复杂的密码学运算和交互面临 ML 的大量运算时,区块链的低 TPS 问题便暴露出来,区块链算力低下的问题成为阻碍 ML 上链的最大桎梏。
ZK-SNARKs 的出现缓解了 ML 的高算力需求问题。ZK-SNARKs 是一种零知识证明的密码学构造,其全称为"零知识可扩展非交互式参数论证"(Zero-Knowledge Succinct Non-Interactive Argument of Knowledge)。它是一种基于椭圆曲线密码学和同态加密的技术,用于实现高效的零知识证明。ZK-SNARK 具有高度紧凑性的特点,通过使用 ZK-SNARKs,证明者可以生成一个短而紧凑的证明,而验证者只需进行少量的计算即可验证证明的有效性,无需与证明者多次交互。这种仅需一次有证明者向验证者交互的性质,使 ZK-SNARKs 在实际应用中具有高效性和实用性,更加适配 ML 的链上算力需求。目前,ZK-SNARKs 是 ZKML 中 ZK 的主要形式。
ML 的链上基础设施需求与对应项目
ZK 对 ML 的赋能主要体现在 ML 全过程的零知识证明上,是 ML 与链上功能的交互。这种交互所需解决的两大问题是将两者的数据形态对接并为 ZK 证明过程提供算力。
ZK 硬件加速:ML 的 ZK 证明较为复杂,这需要硬件辅助链上算力加速证明计算。这类项目包括:Cysic、Ulvetanna、Ingonyama、Supranational、Accseal。
ML 链上数据处理:将链上数据处理为可进入 ML 训练的数据形式,并帮助 ML 的输出结果更方便从链上访问。这类项目包括:Axiom、Herodotus、LAGRANGE、Hyper Oracle。
ML 计算电路化:ML 计算模式与 ZK 的链上电路化证明有所差异,ML 的上链必须将其计算模式转化为能被区块链 ZK 处理的电路形式。这类项目包括:Modulus Labs、Jason Morton、Giza。
ML 结果的 ZK 证明:ML 的信任证明问题,需要由链上 ZK 解决。基于 ZK-SNARKs 建构在 Risc Zero 或 Nil Foundation 上的应用就可以实现模型真实性证明。这类项目包括:RISC Zero、Axiom、Herodotus、Delphinus Lab、Hyper Oracle、Poseidon ZKP、IronMill。
Modulus Labs 推出了 RockyBot,其是有史以来第一个完全链上的人工智能交易机器人。
DID
ZKML 可以助力 Web3 去中心化身份 DID 的建设。此前,私钥、助记词等身份管理模式使 Web3 用户体验较差,真正的 DID 建设可以通过 ZKML 进行 Web3 主体生物信息的识别完成,同时,ZKML 能保证用户生物信息隐私的安全性。
Worldcoin 正在应用 ZKML 实现基于虹膜扫描的零知识 DID 验证。
游戏
ZKML 可以帮助 Web3 游戏实现全功能上链。ML 可以为游戏交互带来差异性的自动化,增加游戏的趣味性;而 ZK 可以使 ML 的交互决策上链。
Modulus Labs 推出了 ZKML 驱动的国际象棋游戏 @VsLeela;
AI ARENA 运用 ZKML 实现了链上 NFT 游戏的高交互性。
医疗保健与法律咨询
医疗保健与法律咨询是高隐私性且需要大量案例积累的领域,ZKML 可以帮助用户完成决策且保证用户的隐私不被泄露。
ML 数据量化上链过程中的参数失真问题:
大多数 ML 采用浮点数表示模型的参数,而 ZK 电路需要使用定点数。在这一数字类型转化过程中,ML 的参数的精度会有所降低,一定程度导致 ML 输出结果的失真。
其大模型 ZK 证明的高算力要求问题:
目前区块链的算力无法应对大规模、高计算量的链上 ZKML,当下流行的 ZK-SNARKs 仅支持小规模、较小计算量的 ML 零知识证明。算力局限是影响 ZKML 区块链应用发展的关键因素。
ZK 生成证明的阶段计算复杂度较高,需要大量的算力资源。由于 ZK 证明阶段通常需要访问和处理的数据之间存在高度的关联性,导致这个过程难以分布式进行,其无法“可并行化”。将这个过程进行分布式处理,可能会引入额外的复杂性,甚至会降低整体性能。目前,解决 ZK 计算效率问题,主流的研究方向更多的是在算法优化和硬件加速。
ZKML 是零知识证明与机器学习的双向奔赴,近期不断发展的区块链技术 ZK 帮助 ML 解决信任证明问题并为 ML 提供链上环境;成熟的 AI 技术 ML 帮助 ZK 实现 Web3 生态拓展与应用创新。
ZKML 的发展面临一些挑战,如参数失真问题和大模型的高算力要求,但这些问题可以通过技术创新和硬件加速等手段得到解决。随着 ZKML 项目的不断涌现和发展,我们可以预见它在 DeFi、DID、游戏、医疗保健等领域将为 Web3 生态带来更多创新和价值。
在未来,ZKML 有望成为真正解锁 Web3 AI 交叉融合的钥匙,为进一步构建安全、隐私保护和高效的区块链应用提供强有力的支持。通过结合 ZK 的零知识性和 ML 的数据处理能力,我们一定能够开创更加开放、智能和可信赖的数字世界!