原文:《AN INTRODUCTION TO ZERO-KNOWLEDGE MACHINE LEARNING (ZKML)》by dcbuilder.eth, Worldcoin
编译:深潮 TechFlow
Zero-Knowledge 机器学习(ZKML)是最近正在密码学界引起轰动的一个研究和开发领域。但它是什么,有什么用处呢?首先,让我们把这个术语分解成它的两个组成部分,并解释一下它们是什么。
零知识证明是一种密码协议,其中一方(证明者)可以向另一方(验证者)证明一个给定的陈述是真实的,而不泄露除该陈述为真以外的任何附加信息。这是一个正在各个方面取得巨大进展的研究领域,涵盖了从研究到协议实施和应用的所有方面。
ZK 提供的两个主要“原语”(或者说构建块)是能够为一组给定的计算创建具有计算完整性证明的能力,其中证明比执行计算本身要容易地多。(我们称这种属性为“简洁性”)。ZK 证明也提供了隐藏计算中某些部分同时保持计算正确性的选项。(我们称这种属性为“零知识性”)。
生成零知识证明需要非常大的计算量,大约比原始计算贵 100 倍。这意味着,在某些情况下由于最佳硬件上生成它们所需的时间使其不切实际,因此不能计算零知识证明。
《卫报》:部分密码学家对市场使用“Crypto”的方式感到不满:11月22日消息,据英国《卫报》报道,随着Crypto在加密货币行业使用越来越广泛,用户在 Google 上搜索“crypto”会看到大量指向比特币和以太坊等加密货币的热门搜索结果,但根据韦伯斯特字典对“crypto”的定义,它指的是密码学,而密码学又被定义为“信息的计算机编码和解码”。“这种词汇转变给密码学家带来了沉重的负担,”该报道称,过去几年许多密码学家一直在社交媒体上重复“crypto is cryptography”的口号,但收效甚微。密码学专家Matt Blaze表示,“我认为将加密货币称为 'crypto' 是一个糟糕的选择,这对密码学和加密货币都会产生不良后果。”[2021/11/22 22:08:04]
然而,在近年来密码学、硬件和分布式系统领域的进步已经使零知识证明成为了越来越强大的计算可行的选择。这些进展已经为可以使用计算密集型证明的协议的创建提供了可能,从而扩大了新应用程序的设计空间。
零知识密码学是 Web3 空间中最流行的技术之一,因为它允许开发人员构建可扩展和/或私有的应用程序。以下是一些实践中如何使用它的示例(尽管请注意,这些项目中许多都还在进行中):
1.通过 ZK rollups 扩展以太坊
瑞士密码学家Christian Cachin:Ripple网络中没有共识:瑞士密码学家、伯尔尼大学计算机科学家Christian Cachin在其博客文章“Ripple网络中没有共识”中表示,对Ripple协议的技术分析表明,在陈述的假设下,其既不能确保安全,也不能确保其活动性。文章称,借助其模型可证明,即使在极端温和的对抗条件下,Ripple的协议也无法达成共识,并且可能妨碍安全性和活力。尤其是,网络可以在Ripple声明的UNL重叠的标准条件下,且在只有极小部分的恶意节点的情况下分叉。在网络忽略或延迟正确节点之间的消息的时间段内,恶意节点可能只是向正确的节点发送冲突消息。其还演示了即使所有节点都具有相同的UNL并且只有一个拜占庭节点,Ripple的共识协议也可能会失去活力。如果发生这种情况,则必须手动重新启动系统。文章得出结论称,Ripple网络的共识协议很脆弱,无法确保计算机科学和区块链从业人员普遍理解的共识。[2020/12/3 22:55:52]
Starknet
Scroll
Polygon Zero,Polygon Miden,Polygon zkEVM
zkSync
2.构建保护隐私的应用程序
林煌博士:轻模式的隐私应用是密码学技术在隐私保护实践中很重要的一步:在今日的《金色深核》线上直播中,针对“假设我们要解决多公司之间数据需要保密且共同使用的问题,三个技术路线如何去做?去年Maskbook火了一下,各位如何看待这种“轻模式”的隐私应用?”Suterusu林煌博士表示关于多个公司之间进行保密数据的安全计算,这个需要结合零知识证明和安全多方计算才能解决。如果我们考虑一种简单的情况,只有两方进行安全计算,一方可以将自己的数据用门限同态加密方案的公钥加密后传输给另一方,另一方依据加密自己的数据生成密文,然后在两个密文上做预定的同态运算,最后双方合作把完成同态操作的密文解密。零知识证明可用于保证这个过程的计算可靠性(computational integrity),比如如何保证生成的加密密文确实是按照正确加密步骤生成的密文且加秘方知道原始明文呢?我们可以使用零知识证明算法针对加密电路生成能够验证明文和密文之间符合加密电路逻辑的证明。轻模式的隐私应用毫无疑问是密码学技术在隐私保护实践中很重要的一步,但这个领域还有很多可以做的事情。[2020/3/11]
Semaphore
MACI
Penumbra
Aztec Network
3.身份原语和数据来源
声音 | 观点:密码学人才短缺,影响了马来西亚的区块链发展:私人投资公司MW Partners Group Holdings Pte Ltd顾问Mark Pui表示,密码学领域的人才短缺,拖累了马来西亚数字账本技术的发展。
Mark声称:“我认为,现实是我们没有密码技术,这影响了我们领导区块链技术发展的能力。在马来西亚和全世界,区块链技术的应用仍然有限。但在发展方面,我们落后于其他所有人,因为我们没有技能,没有深厚的密码学技能。”(The Malaysian Reserve)[2019/11/29]
WorldID
Sismo
Clique
Axiom
4.第一层协议
Zcash
Mina
随着 ZK 技术的成熟,我们相信将会出现新的应用程序的爆发,因为构建这些应用程序所使用的工具将需要更少的领域专业知识,对于开发人员来说将会更加容易使用。
机器学习是人工智能(“AI”)领域的一个研究方向,使得计算机可以自动从经验中学习和改进,无需明确地进行编程。它利用算法和统计模型来分析和识别数据中的模式,然后基于这些模式进行预测或决策。机器学习的最终目标是开发出能够自适应学习、不需要人类干预以及在医疗保健、金融和交通等各个领域解决复杂问题的智能系统。
美国国家标准和技术研究所的研究人员宣布 密码学中随机数的方面出现突破:美国国家标准和技术研究所的研究人员最近宣布,在密码学最重要的一个“随机数的产生”方面取得了突破。这种实验性的新技术可能会对网络安全产生巨大影响。在以电子方式运行现代世界的“1”和“0”的数字面纱后面,随机数字每天都要在加密过程中进行数千亿次的排序,这些过程通过不断扩大的互联网为全球提供数据。[2018/4/19]
最近,您可能已经看到了大型语言模型(如 chatGPT 和 Bard)以及文本到图像的模型(如 DALL-E 2、Midjourney 或 Stable Diffusion)的进展。随着这些模型变得越来越好,并且能够执行更广泛的任务,了解是哪个模型执行了这些操作就变得非常重要,还是操作由人类执行。在接下来的部分中,我们将探讨这个思路。
注:当我们谈论 ZKML 时,我们是指创建 ML 模型推理步骤的零知识证明,而不是关于 ML 模型训练(它本身已经非常计算密集)。目前,现有技术水平的零知识系统加上高性能硬件仍然相差几个数量级,无法证明当前可用的大型语言模型(LLMs)等庞大的模型,但是在创建较小模型的证明方面已经取得了一些进展。
我们对零知识密码学在为 ML 模型创建证明的上下文中的现有技术水平进行了一些研究,并创建了一个聚合相关研究、文章、应用程序和代码库的文章集。ZKML 的资源可以在 GitHub 上的 ZKML 社区的 awesome-zkml 存储库中找到。
Modulus Labs 团队最近发布了一篇名为“智能的成本”的论文,其中对现有的 ZK 证明系统进行了基准测试,并列举了不同大小的多个模型。目前,使用像 plonky2 这样的证明系统,在强大的 AWS 机器上运行 50 秒左右,可以为约 1800 万个参数的模型创建证明。以下是该论文中的一张图表:
另一个旨在改进 ZKML 系统技术水平的倡议是 Zkonduit 的 ezkl 库,它允许您创建对使用 ONNX 导出的 ML 模型的 ZK 证明。这使得任何 ML 工程师都能够为他们的模型的推理步骤创建 ZK 证明,并向任何正确实现的验证器证明输出。
有几个团队正在改进 ZK 技术,为 ZK 证明内部发生的操作创建优化硬件,并针对特定用例构建这些协议的优化实现。随着技术的成熟,更大的模型将在较不强大的机器上短时间内进行 ZK 证明。我们希望这些进展将使新的 ZKML 应用程序和用例得以出现。
潜在的使用案例
为了确定 ZKML 是否适用于特定的应用,我们可以考虑 ZK 密码学的特性将如何解决与机器学习相关的问题。这可以用一个 Venn 图来说明:
定义:
1.Heuristic optimization—— 一种问题解决方法,它使用经验法则或“启发式”来找到艰难的问题的好解决方案,而不是使用传统的优化方法。启发式优化方法旨在在相对的重要性和优化难度下,在合理的时间内找到好的或“足够好”的解决方案,而不是尝试找到最优解决方案。
2.FHE ML —— 完全同态加密ML允许开发人员以保护隐私的方式训练和评估模型;然而,与ZK证明不同,没有办法通过密码学方式证明所执行的计算的正确性。
像 Zama.ai 这样的团队正在从事这个领域的工作。
3.ZK vs Validity —— 在行业中,这些术语通常被互换使用,因为有效性证明是ZK证明,不会隐藏计算或其结果的某些部分。在ZKML的上下文中,大多数当前的应用程序都利用了ZK证明的有效性证明方面。
4.Validity ML —— ZK证明ML模型,在其中没有计算或结果被保密。它们证明计算的正确性。
以下是一些潜在的 ZKML 用例示例:
1.计算完整性(有效性 ML)
Modulus Labs
基于链上可验证的 ML 交易机器人 - RockyBot
自我改进视觉区块链(示例):
增强 Lyra 金融期权协议 AMM 的智能特性
为 Astraly 创建透明的基于 AI 的声誉系统(ZK oracle)
使用 ML for Aztec Protocol(具有隐私功能的 zk-rollup)致力于合同级合规工具所需的技术突破。
2.机器学习即服务(MLaaS) 透明;
3.ZK 异常/欺诈检测:
这种应用场景使得可创建针对可利用性/欺诈的 ZK 证明成为可能。异常检测模型可以在智能合约数据上进行训练,并由 DAOs 同意作为有趣的度量标准,以便能够自动化安全程序,如更主动、预防性地暂停合约。已有初创企业正在研究在智能合约环境中使用 ML 模型进行安全目的的方法,因此 ZK 异常检测证明似乎是自然的下一步。
4.ML 推理的通用有效性证明:能够轻松证明和验证输出是给定模型和输入对的乘积。
5.隐私 (ZKML)。
6.去中心化的 Kaggle:证明模型在某些测试数据上的准确率大于 x%,而不会显示权重。
7.隐私保护推理:将对私人患者数据的医疗诊断输入模型,并将敏感的推理(例如,癌症测试结果)发送给患者。
8.Worldcoin:
IrisCode 的可升级性:World ID 用户将能够在他们的移动设备的加密存储中自我保管其生物特征,下载用于生成 IrisCode 的 ML 模型并在本地创建零知识证明,以证明其 IrisCode 已成功创建。这个 IrisCode 可以被无需许可地插入注册的 Worldcoin 用户之一,因为接收的智能合约可以验证零知识证明,从而验证 IrisCode 的创建。这意味着,如果 Worldcoin 将来升级机器学习模型以一种破坏与其之前版本兼容性的方式创建 IrisCode,用户就不必再次去 Orb,而可以在设备上本地创建这个零知识证明。
Orb 安全性:目前,Orb 在其受信任的环境中执行几个欺诈和篡改检测机制。然而,我们可以创建一个零知识证明,表明这些机制在拍摄图像和生成 IrisCode 时是活动的,以便为 Worldcoin 协议提供更好的活体保证,因为我们可以完全确定这些机制在整个 IrisCode 生成过程中都将运行。
总之,ZKML 技术有着广泛的应用前景,并且正在快速发展。随着越来越多的团队和个人加入到这个领域,我们相信 ZKML 的应用场景将会更加多样化和广泛化。
深潮TechFlow
个人专栏
阅读更多
金色财经 善欧巴
金色早8点
白话区块链
Odaily星球日报
Arcane Labs
欧科云链
MarsBit
BTCStudy
链得得
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。