加载中 ...
首页 > 股票 > 区块链 > 正文

a16z:如何通过零知识证明验证链上机器学习算法?

2023-04-06 18:21:42 来源:广东财经网

原文:a16z

在过去的几年里,区块链上的零知识证明主要用于两个关键目的:

(1) 通过在链下处理交易并在主网上验证结果来扩展计算受限网络的规模;

(2) 通过实现屏蔽交易来保护用户隐私,只有拥有解密密钥的人才能查看。

在区块链背景下,这些特性显然是可取的:去中心化网络(如以太坊)不能在不对验证者处理能力、带宽和延迟提出无法承受的要求的情况下提高吞吐量或区块大小(因此需要有效性滚动),所有交易都对任何人可见(因此需要链上隐私解决方案)。

但零知识证明对于第三类功能也是有用的:高效地验证任何类型的计算(而不仅仅是在链下实例化的EVM中的计算)已经正确运行。这对区块链之外的领域也有很大影响。

现在,利用零知识证明简洁地验证计算能力的系统的进步使用户能够从每一个数字产品中要求与区块链所保证的相同程度的无信任和可验证性,尤其是从机器学习模型中。区块链计算的高需求激励了零知识证明研究,创造了具有较小内存占用和更快证明和验证时间的现代证明系统——使得现在可以在链上验证某些小型机器学习算法。

到目前为止,我们都可能已经体验到了与一个非常强大的机器学习产品互动的潜力。几天前,我用GPT-4帮助我创建了一个能连续击败我下棋的AI。这感觉像是过去几十年里机器学习取得的所有进步的一个诗意的缩影:IBM的开发人员花了十二年时间制作出Deep Blue,一个运行在32节点IBM RS/6000 SP计算机上、能每秒评估近2亿个棋步的模型,该模型在1997年击败了国际象棋冠军加里·卡斯帕罗夫。相比之下,我花了几个小时——在我这边只进行了最少的编码——就创建了一个能战胜我的程序。

诚然,我怀疑我创建的AI是否能在国际象棋上击败加里·卡斯帕罗夫,但这并不是重点。重点是任何玩弄GPT-4的人都可能在获得超能力方面有类似的经历:你只需要付出很小的努力,就可以创造出接近或超越你自己能力的东西。我们都是IBM的研究员;我们都是加里·卡斯帕罗夫。

显然,这让人兴奋又有些畏惧。对于任何在加密货币行业工作的人来说,自然的反应(在惊叹于机器学习能做什么之后)是考虑潜在的集中化途径以及如何将这些途径去中心化,形成一个人们可以透明审计和拥有的网络。现在的模型是通过吞噬大量公开可用的文本和数据制作的,但目前只有少数人控制和拥有这些模型。更具体地说,问题不是“人工智能是否具有巨大价值”,而是“我们如何构建这些系统,使得与之互动的任何人都能获得其经济利益,并在他们希望的情况下,确保他们的数据以尊重隐私权的方式使用”。

最近,有人呼吁暂停或减缓类似Chat-GPT这样的重大人工智能项目的发展。阻止进步可能不是解决方案:更好的方法是推动开源模型,并在模型提供商希望保护其权重或数据私密性的情况下,使用保护隐私的零知识证明对它们进行保护,这些证明在链上并且可以完全审计。如今,关于私有模型权重和数据的后一种用例尚无法在链上实现,但零知识证明系统的进步将在未来实现这一目标。

可验证和可拥有的机器学习

我使用Chat-GPT构建的国际象棋AI在目前看来相对无害:输出相对一致的程序,不使用侵犯有价值知识产权或侵犯隐私的数据。但当我们想确保我们被告知的在API后面运行的模型确实是运行过的模型时会怎么样?或者,如果我想将认证过的数据输入到链上的模型中,并确保数据确实来自合法方?如果我想确保提交数据的“人”实际上是人而不是试图对我的网络发起拜占庭攻击的机器人呢?零知识证明及其简洁地表示和验证任意程序的能力是一种解决方法。

需要注意的是,目前在链上机器学习背景下,零知识证明的主要用途是验证正确的计算。换句话说,在机器学习背景下,零知识证明和更具体的SNARK(简洁的非交互式知识论证)最有用的地方在于它们的简洁性特性。这是因为零知识证明保护了证明者(及其处理的数据)免受窥视者的侵犯。完全同态加密(FHE)、功能加密或可信执行环境(TEE)等增强隐私的技术更适用于让不受信任的证明者在私有输入数据上运行计算(更深入地探讨这些技术超出了本文的范围)。

让我们退后一步,从高层次了解可以用零知识表示的机器学习应用类型(要深入了解零知识,请参阅我们关于零知识证明算法和硬件的改进的文章,查看Justin Thaler关于SNARK性能的研究,或者查看我们的零知识教材)。零知识证明通常将程序表示为算术电路:使用这些电路,证明者从公共和私有输入生成证明,验证者通过数学计算来确保此语句的输出是正确的——而不获取关于私有输入的任何信息。

我们仍处于使用链上零知识证明验证计算的非常早期阶段,但算法的改进正在扩大可行的范围。以下是五种在机器学习中应用零知识证明的方法。

1.模型真实性:您希望确保某个实体声称已经运行的机器学习模型确实是运行过的模型。例如,在某个模型位于API后面的情况下,提供特定模型的实体可能有多个版本,例如一个较便宜、准确度较低的版本,以及一个较贵、性能更高的版本。没有证明,您无法知道当您实际支付了更昂贵的版本时,提供商是否为您提供了更便宜的模型(例如,提供商希望节省服务器成本并提高利润率)。

为此,您需要为每个模型实例提供单独的证明。一个实际的方法是通过Dan Boneh、Wilson Nguyen和Alex Ozdemir的功能承诺框架,这是一个基于SNARK的零知识承诺方案,允许模型所有者承诺一个模型,用户可以将他们的数据输入到该模型中,并接收到已经运行的承诺模型的验证。一些基于Risc Zero(一个通用的基于STARK的虚拟机)的应用程序也实现了这一点。Daniel Kang、Tatsunori Hashimoto、Ion Stoica和Yi Sun进行的其他研究表明,可以在ImageNet数据集上验证有效的推断,准确率为92%(与最高性能的非零知识验证ImageNet模型相当)。

但仅仅接收到已提交模型已运行的证明并不一定足够。一个模型可能无法准确地表示给定的程序,因此您会希望第三方审核已提交的模型。功能承诺允许证明者证明其使用了已承诺的模型,但不能保证已承诺模型的任何信息。如果我们能让零知识证明在证明训练方面表现得足够好(请参见下面的示例#4),我们将来也可能开始获得这些保证。

2.模型完整性:您希望确保相同的机器学习算法以相同的方式在不同用户的数据上运行。这在您不希望应用任意偏见的领域非常有用,如信用评分决策和贷款申请。您也可以使用功能承诺来实现这一点。为此,您需要承诺一个模型及其参数,并允许人们提交数据。输出将验证该模型是否针对每个用户的数据运行已承诺的参数。或者,可以公开模型及其参数,并让用户自己证明他们将适当的模型和参数应用于自己的(经过认证的)数据。这在医疗领域可能尤其有用,因为法律要求某些关于患者的信息必须保密。将来,这可以实现一个医学诊断系统,它能够从完全私密的实时用户数据中学习和改进。

3.认证:您希望将来自外部经过验证的方(例如,任何可以生成数字签名的数字平台或硬件设备)的认证整合到链上运行的模型或任何其他类型的智能合约中。要做到这一点,您将使用零知识证明验证签名,并将证明作为程序的输入。Anna Rose和Tarun Chitra最近主持了一期零知识播客节目,嘉宾是Daniel Kang和Yi Sun,他们探讨了这一领域的最新进展。

具体来说,Daniel和Yi最近发布了一项研究,探讨了如何验证由具有经过认证的传感器的摄像机拍摄的图像是否经过了如裁剪、缩放或有限遮盖等变换,这在您希望证明图像没有经过深度伪造但确实经过了某种合法编辑的情况下很有用。Dan Boneh和Trisha Datta也做过类似的研究,使用零知识证明验证图像的出处。

但更广泛地说,任何经过数字认证的信息都是这种验证形式的候选对象:Jason Morton正在开发EZKL库(在下一节将有更多介绍),他称这种方法为“赋予区块链视力”。任何已签名的端点(例如,Cloudflare的SXG服务,第三方公证人)都会产生可以验证的数字签名,这可能对于证明来自可信任方的出处和真实性非常有用。

4.分布式推理或训练:您希望以分布式的方式执行机器学习推理或训练,并允许人们向公共模型提交数据。为此,您可以将已有的模型部署到链上,或者设计一个全新的网络,并使用零知识证明来压缩模型。Jason Morton的EZKL库正在创建一种用于摄取ONXX和JSON文件并将它们转换为ZK-SNARK电路的方法。最近在ETH Denver的一个演示表明,这种技术可用于创建基于图像识别的链上寻宝游戏,游戏创作者可以上传照片,生成图像的证明,玩家可以上传图像;验证器检查用户上传的图像是否与创作者生成的证明足够匹配。EZKL现在可以验证多达1亿个参数的模型,这意味着它可以用于在链上验证ImageNet大小的模型(这些模型具有6000万个参数)。

其他团队,如Modulus Labs,正在为链上推理对不同证明系统进行基准测试。Modulus的基准测试涵盖了多达1800万个参数。在训练方面,Gensyn正在构建一个分布式计算系统,用户可以输入公共数据,并通过分布式节点网络进行模型训练,同时验证训练的正确性。

5.人证明:您希望验证某人是一个独特的个体,而不损害其隐私。为此,您将创建一种验证方法,例如生物识别扫描或以加密方式提交政府ID的方法。然后,您将使用零知识证明来检查某人是否已经过验证,而不会泄露关于该人身份的任何信息,无论该身份是完全可识别的,还是像公钥那样的伪名。

Worldcoin通过他们的人证明协议来实现这一点,该协议通过为用户生成独特的虹膜代码来确保抗攻击性。关键的是,为WorldID创建的私钥(以及为Worldcoin用户创建的加密钱包的其他私钥)与项目的眼球扫描器本地生成的虹膜代码完全分离。这种分离完全将生物识别标识符与可能归因于某人的任何形式的用户密钥分离。Worldcoin还允许应用程序嵌入一个SDK,使用户可以使用WorldID登录,并通过允许应用程序检查人是否拥有WorldID来利用零知识证明来保护隐私,但不允许跟踪个别用户(更多细节,请参阅此博客文章)。

这个例子是用零知识证明的隐私保护特性来对抗较弱且恶意的人工智能的形式,因此它与上述其他示例(例如,证明你是一个真实的人类而不是机器人,同时不泄露任何关于自己的信息)有很大不同。

模型架构和挑战

在实现SNARKs(简洁非交互式知识论证)的证明系统方面的突破已经成为将许多机器学习模型上链的关键驱动力。一些团队正在现有的架构(包括Plonk、Plonky2、Air等)中制作定制电路。在定制电路方面,Halo 2已成为Daniel Kang等人的工作和Jason Morton的EZKL项目中广泛使用的后端。Halo 2的证明者时间近似线性,证明大小通常只有几千字节,验证者时间恒定。或许更重要的是,Halo 2拥有强大的开发者工具,使其成为开发者喜欢使用的SNARK后端。其他团队,如Risc Zero,正在寻求通用VM策略。还有些团队正使用基于求和检查协议的Justin Thaler的超高效证明系统创建定制框架。

证明生成和验证器时间绝对取决于生成和检查证明的硬件以及生成证明的电路大小。但这里需要注意的关键点是,无论代表的程序是什么,证明的大小总是相对较小,因此验证证明的验证者的负担是受限的。然而,在这里有一些细微之处:对于像Plonky2这样使用基于FRI的承诺方案的证明系统,证明大小可能会增加。(除非最后使用像Plonk或Groth16这样基于配对的SNARK包装,这些证明不会随着所证明陈述的复杂性而增长。)

对于机器学习模型的启示是,一旦设计了一个准确表示模型的证明系统,实际验证输出的成本将非常便宜。开发者需要考虑的最重要的是证明者时间和内存:以一种可以相对快速证明的方式表示模型,并且证明大小理想地在几千字节左右。要证明机器学习模型在零知识情况下的正确执行,你需要将模型架构(层、节点和激活函数)、参数、约束和矩阵乘法运算编码并表示为电路。这涉及将这些属性分解为可以在有限域上执行的算术运算。

这个领域还处于起步阶段。在将模型转换为电路的过程中,准确性和保真度可能会受到影响。当模型表示为算术电路时,前面提到的模型参数、约束和矩阵乘法运算可能需要近似和简化。当将算术运算编码为证明的有限域中的元素时,可能会丢失一些精度(或者在不进行这些优化的情况下生成证明的成本在当前的零知识框架下将不堪重负)。此外,机器学习模型的参数和激活通常以32位进行编码以提高精度,但是今天的零知识证明无法在必要的算术电路格式中表示32位浮点运算,而不产生巨大的开销。因此,开发者可能会选择使用量化的机器学习模型,其中32位整数已经转换为8位精度。这些类型的模型有利于表示为零知识证明,但是被验证的模型可能是较高质量初始模型的粗略近似。

在这个阶段,这确实是一场迎头赶上的游戏。随着零知识证明变得更加优化,机器学习模型变得越来越复杂。已经有一些优化的有前景的领域:证明递归可以通过允许证明用作下一个证明的输入来减小整体证明大小,从而实现证明压缩。还有一些新兴的框架,比如Linear A的Apache Tensor虚拟机(TVM)分支,该框架推出了一种转换器,可以将浮点数转换为零知识友好的整数表示。最后,我们在a16z crypto对未来的工作感到乐观,它将使在SNARKs中表示32位整数变得更加合理。

“规模”的两种定义 零知识证明通过压缩实现规模化:SNARKs允许你将一个极其复杂的系统(如虚拟机或机器学习模型)数学表示,使得验证它的成本低于运行它的成本。另一方面,机器学习是通过扩展实现规模化的:如今的模型随着更多数据、参数以及参与训练和推理过程的GPU/TPU而变得更好。中心化公司可以以几乎无限制的规模运行服务器:收取API调用的月费,并支付运营成本。

区块链网络的经济现实几乎正好相反:开发者被鼓励优化他们的代码,使其在链上运行既可行又便宜。这种不对称具有巨大的优势:它创造了一个需要提高证明系统效率的环境。我们应该寻求在机器学习中要求与区块链提供的相同好处,即可验证的所有权和共享的真实观念。

尽管区块链激励了优化zk-SNARKs,但计算相关的每个领域都将受益。

致谢:Justin Thaler, Dan Boneh, Guy Wuollet, Sam Ragsdale, Ali Yahya, Chris Dixon, Eddy Lazzarin, Tim Roughgarden, Robert Hackett, Tim Sullivan, Jason Morton, Peiyuan Liao, Tarun Chitra, Brian Retford, Daniel Kang, Yi Sun, Anna Rose, Modulus Labs, DC Builder。

“广东财经网”的新闻页面文章、图片、音频、视频等稿件均为自媒体人、第三方机构发布或转载。如稿件涉及版权等问题,请与

我们联系删除或处理,客服邮箱1098101642@qq.com,稿件内容仅为传递更多信息之目的,不代表本网观点,亦不代表本网站赞同

其观点或证实其内容的真实性。

  • 声音提醒
  • 60秒后自动更新
  • 【民政部回应何时恢复婚姻登记】民政部社会事务司二级巡视员杨宗涛表示,婚姻登记场所是人群聚集场所,部分地区暂停婚姻登记工作是对人民群众安全负责。未停止登记的地方推广用电话、网络、qq群预约登记,控制登记人数,分批分段登记,减少人员聚集和在登记机关停留时间。已停止婚姻登记地方将根据当地疫情控制情况逐渐恢复。

    15:54
  • 欧洲央行副行长金多斯:欧洲央行还没有达到逆转利率。宽松政策的副作用更明显了。

    15:54
  • 财经网站Forexlive分析师Justin Low评瑞士1月CPI月率:尽管通胀年率保持稳定,但核心通胀率有所下降,这一点令人更加担忧。这只是进一步巩固了瑞士央行维持现有货币政策不变,并可能在未来寻求更多宽松措施的观点。

    15:54
  • 【武汉两大批发市场商户开业率超过80%】商务部市场建设司司长朱小良10日称,目前武汉生活必需品供应基本正常,除冷鲜肉、鲜叶菜等少数品种存在结构性短缺外,大部分重要生活物资供应充足,未发生明显抢购或脱销断档情况。当地白沙洲和四季美两大批发市场正常营业,商户开业率超过80%,日交易量上升至3000吨以上。(国是直通车)

    15:53
  • 【日本2019年经常项目顺差增长4.4%】日本财务省10日发布的国际收支初步统计报告显示,主要受外国人入境游消费扩大影响,2019年日本经常项目顺差增长4.4%。报告显示,2019年日本经常项目顺差为20.06万亿日元(1美元约合109.8日元)。其中,商品贸易方面,由于液化天然气价格下跌等因素,进口下降5.6%至75.56万亿日元;由于汽车部件及钢铁等产品出口减少,出口下降6.3%至76.12万亿日元。货物贸易顺差减少53.8%,为5536亿日元。(新华社)

    15:53
  • 欧元兑美元EUR/USD短线波动不大,现报1.0952。

    15:53
  • 瑞士1月CPI年率:0.2%,前值:0.2%,预期:0.1%;瑞士1月CPI月率:-0.2%,前值:0%,预期:-0.2%。

    15:52
  • 英镑兑美元GBP/USD短线走低13点,现报1.2890。

    15:52
  • 【宁德时代“供电”国产特斯拉 有望拉低售价20%】全国乘联会秘书长崔东树分析认为,“随着特斯拉国产化率提升和产能爬坡,未来特斯拉国产车型的价格下探空间还是很大的。”他预计今年下半年,国产Model 3车型的售价就有望降至25万元,降幅接近20%。(新京报)

    15:51
  • 【内蒙古:对不裁员或少裁员企业返还上年度50%失业保险费】据内蒙古新型冠状病毒肺炎疫情防控工作指挥部消息,疫情期间,内蒙古对不裁员或少裁员的企业返还上年度实际缴纳失业保险费的50%,对面临暂时性经营困难的中小企业,返还标准提高到上年度6个月企业及其职工缴纳社会保险费的50%。

    15:51
  • 【商务部:2019年服务进出口总额54152.9亿元 同比增长2.8%】商务部新闻发言人表示,2019年,在服务贸易创新发展试点等政策的激励下,我国服务贸易总体保持平稳向上态势,逆差明显下降,结构显著优化,高质量发展成效初步显现。全年服务进出口总额54152.9亿元(人民币,下同),同比增长2.8%。其中,出口总额19564.0亿元,同比增长8.9%;进口总额34588.9亿元,同比减少0.4%。(第一财经)

    15:51
  • 【振华股份:疫情导致下游客户开工推迟 产品库存上升】振华化学公告,公司目前生产经营稳定,所有产能均正常开工,原材料采购能基本满足生产需要,由于疫情导致下游客户开工推迟,公司出货量减少,产品库存有所上升。公司将根据客户需求、疫情及市场变化,适度调整生产经营策略,尽可能保持生产经营的稳定。

    15:50
  • 环旭电子2月10日晚间公告,公司2020年1月合并营业收入为23.27亿元,较去年同期的合并营业收入减少27.83%,较2019年12月合并营业收入环比减少37.23%。

    15:49
  • 精测电子:与京东方集团签订了多份销售合同,合同累计金额达到6.96亿元。

    17:12
  • 华夏银行:银保监会同意本公司在全国银行间债券市场发行不超过100亿元人民币的金融债券,募集资金全部用于绿色信贷。

    17:03