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

原文标题:Checksandbalances:Machinelearningandzero-knowledgeproofs

原文作者:ElenaBurger,a16z

原文编译:DeFi?之道

在过去的几年里,区块链上的零知识证明主要用于两个关键目的:(?1)通过在链下处理交易并在主网上验证结果来扩展计算受限网络的规模;(?2)通过实现屏蔽交易来保护用户隐私,只有拥有解密密钥的人才能查看。在区块链背景下,这些特性显然是可取的:去中心化网络不能在不对验证者处理能力、带宽和延迟提出无法承受的要求的情况下提高吞吐量或区块大小,所有交易都对任何人可见。

但零知识证明对于第三类功能也是有用的:高效地验证任何类型的计算已经正确运行。这对区块链之外的领域也有很大影响。

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

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

a16z合伙人:将继续根据市场机会调整加密基金规模:金色财经报道,针对a16z去年推出规模达45亿美元的第四只加密基金,a16z合伙人Arianna Simpson评论称,生态系统已经发展到绝对支持这种规模的基金,这就是其募集这种规模基金的原因。

当被问及a16z是否会有第五只加密基金时,Simpson表示,“我当然希望如此。”她补充说,a16z将继续根据其看到的市场机会调整基金规模。

据悉,在加入a16z之前,Arianna Simpson曾创立专注于加密货币的投资基金Autonomous Partners。她还帮助推出主要投资于YC公司的早期基金Crystal Towers Capital。(TechCrunch)[2023/4/9 13:52:59]

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

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

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

Web3电商平台Rye完成1400万美元融资,a16z Crypto领投:10月11日消息,Web3电商平台Rye完成1400万美元新一轮融资,a16z Crypto领投。

据悉,Rye由Twitch联合创始人Justin Kan创立,旨在打造“Web3领域里的Spotify”。Rye将寻求使用加密Token降低电子商务成本,通过向参与者提供加密货币“Rye”(可用于支付交易费用),Rye将提供一键式应用程序编程接口(API),供商家在Rye自己的市场上展示他们的部分或全部产品。(福布斯)[2022/10/11 10:31:20]

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

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

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

让我们退后一步,从高层次了解可以用零知识表示的机器学习应用类型。零知识证明通常将程序表示为算术电路:使用这些电路,证明者从公共和私有输入生成证明,验证者通过数学计算来确保此语句的输出是正确的——而不获取关于私有输入的任何信息。

去中心化资管平台Syndicate融资600万美元,a16z、OpenSea等参投:5月3日消息,去中心化资产管理平台以及社交网络Syndicate宣布完成600万美元融资,a16z、South Park Commons、Carta Ledger、OpenSea、Circle Ventures、Polygon、United Talent Agency、CoinList、FalconX等超过50名投资方参投。

据悉,Syndicate允许任何人创建一个用于链上和链下投资的“Web3投资俱乐部”,包括为他们的俱乐部建立法律实体。

Syndicate联合创始人Ian Lee表示:“有了这笔资金,我们计划深化在重要领域的能力和合作关系,并且将在未来几个月推出新的投资DAO基础设施和工具,用于新的市场、用户和用例。”该团队目前有30多人,并计划在未来几个月增加到40人。

这一轮融资使该公司自2021年1月成立以来的总融资额达到2800万美元。去年8月,Syndicate完成2000万美元A轮融资,a16z领投,法国巴黎银行集团支持的Atelier Ventures、Coinbase Ventures、Snoop Dogg Ventures等超150名投资者参投。(The Block)[2022/5/3 2:47:55]

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

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

a16z合伙人Chris Dixon:区块链是可以做出承诺的计算机:12月18日消息,a16z合伙人Chris Dixon发推表示,“区块链比传统计算机慢”是事实,这是在性能和对用户和开发者做出长期承诺之间的权衡。区块链是可以做出承诺的计算机,它和不能做出承诺的计算机(谷歌/AWS服务器)之间的性能差距将随着时间的推移而缩小。区块链的一个了不起的特点是,任何人都可以不经许可加入,并成为网络中的矿工/验证者。但我们也需要一些系统来筛选参与者,以避免垃圾邮件/攻击。因此,有了工作量证明和权益证明。[2021/12/18 7:47:43]

为此,您需要为每个模型实例提供单独的证明。一个实际的方法是通过?DanBoneh、WilsonNguyen?和?AlexOzdemir?的功能承诺框架,这是一个基于?SNARK?的零知识承诺方案,允许模型所有者承诺一个模型,用户可以将他们的数据输入到该模型中,并接收到已经运行的承诺模型的验证。一些基于?RiscZero的应用程序也实现了这一点。DanielKang、TatsunoriHashimoto、IonStoica?和?YiSun?进行的其他研究表明,可以在?ImageNet?数据集上验证有效的推断,准确率为?92%?。

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

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

a16z合伙人:不能因Web 3和加密新兴技术存在缺陷就彻底限制:11月24日消息,a16z合伙人Chris Dixon在推特上发文表示,不能因为当前新兴技术存在缺陷就反对新兴技术发展,任何重要技术运动都需要经历很多年时间过程,善意的批评可以改善技术,需要将“暂时出现的缺点”和“彻底限制”区分开,尤其是Web 3和加密,现在的确存在交易费用过高、能源消耗过大的问题,这是该新兴技术的暂时缺陷,但出于不同发展阶段,我们可以思考更多解决方案,但不能把“暂时缺陷”视为彻底否认新兴技术的理由。[2021/11/24 7:08:49]

3.认证:您希望将来自外部经过验证的方的认证整合到链上运行的模型或任何其他类型的智能合约中。要做到这一点,您将使用零知识证明验证签名,并将证明作为程序的输入。AnnaRose?和?TarunChitra?最近主持了一期零知识播客节目,嘉宾是?DanielKang?和?YiSun,他们探讨了这一领域的最新进展。

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

但更广泛地说,任何经过数字认证的信息都是这种验证形式的候选对象:JasonMorton?正在开发?EZKL?库,他称这种方法为“赋予区块链视力”。任何已签名的端点都会产生可以验证的数字签名,这可能对于证明来自可信任方的出处和真实性非常有用。

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

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

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

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

这个例子是用零知识证明的隐私保护特性来对抗较弱且恶意的人工智能的形式,因此它与上述其他示例有很大不同。

模型架构和挑战

在实现?SNARKs的证明系统方面的突破已经成为将许多机器学习模型上链的关键驱动力。一些团队正在现有的架构中制作定制电路。在定制电路方面,Halo2?已成为?DanielKang?等人的工作和?JasonMorton?的?EZKL?项目中广泛使用的后端。Halo2?的证明者时间近似线性,证明大小通常只有几千字节,验证者时间恒定。或许更重要的是,Halo2?拥有强大的开发者工具,使其成为开发者喜欢使用的?SNARK?后端。其他团队,如?RiscZero,正在寻求通用?VM?策略。还有些团队正使用基于求和检查协议的?JustinThaler?的超高效证明系统创建定制框架。

证明生成和验证器时间绝对取决于生成和检查证明的硬件以及生成证明的电路大小。但这里需要注意的关键点是,无论代表的程序是什么,证明的大小总是相对较小,因此验证证明的验证者的负担是受限的。然而,在这里有一些细微之处:对于像?Plonky?2?这样使用基于?FRI?的承诺方案的证明系统,证明大小可能会增加。

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

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

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

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

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

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

致谢:JustinThaler,DanBoneh,GuyWuollet,SamRagsdale,AliYahya,ChrisDixon,EddyLazzarin,TimRoughgarden,RobertHackett,TimSullivan,JasonMorton,PeiyuanLiao,TarunChitra,BrianRetford,DanielKang,YiSun,AnnaRose,ModulusLabs,DCBuilder。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

地球链

TUSDTPS:关于5A临时维护的公告

"尊敬的5A用户:5A合约和超级杠杆临时维护,行情数据更新或有延迟,我们已在紧急处理,维护预计时长30-60分钟,恢复后我们将立即通知。给您带来不便,敬请谅解.

[0:0ms0-0:812ms