Web3.0与机器学习

Web3.0与机器学习,第1张

title: Web3.0机器学习
date: 2022-8-10 14:00
categories:

区块链
tags:Web3

本文介绍Web3.0 如何让机器学习在不侵犯隐私和维护信任的情况下工作。

机器学习就是发现数据中的潜在模式。然后,这些模式可用于为任何企业获得可 *** 作的见解。

然而,近年来,政府(例如:欧洲的 GDPR)和一般用户对数据所有权的意识日益增强。今天,人们不同意企业将他们的私人数据用于分析。这导致了以下困境:

企业需要对用户数据进行分析,以更好地理解和改进他们的服务。他们获得的数据越多,他们的洞察力就越好。这产生了从其他用户 或第 3 方公司获取数据的强烈动机。将数据作为资产出售给其他公司也有很强的货币动机。用户意识到他们的个人数据可能被滥用或泄露给其他企业。这不利于他们与企业共享数据。

我们如何解决这个困境?

Web3.0 带来了零知识证明的思想来解决这些问题。

用熟悉的语言学习 Web3.0开发 :Java | Php | Python | .Net / C# | Golang | Node.JS | Flutter / Dart

1、零知识证明 (ZKP)

零知识证明在数据隐私至关重要的应用程序中很有用。ZKP 使应用程序能够在不泄露基础数据的情况下证明对数据的洞察是正确的。

ZKP 可以理解为两个玩家之间的交互,Prover 和 Verifier。

证明者:证明者执行计算并希望向任何第三方证明该计算是有效的。验证者:验证者的角色是验证其他人所做的计算是否有效。这是通过接受来自用户的见证来完成的,该见证具有带有输入和预期相应输出 的样本测试数据点。用户使用它来验证证明者的真实性。

证明者和验证者都部署在区块链网络上以保持透明度。

让我们以数独谜题为例来演示 ZKP 的工作原理。在这里,鲍勃正在尝试解决数独难题,而爱丽丝说她知道解决方案。Bob 现在不确定 Alice 是否真的知道解决方案。为了给鲍勃信心,爱丽丝必须透露解决方案。但这会破坏鲍勃的乐趣!有没有其他方法可以让 Bob 相信 Alice 知道解决方案而不实际透露它?这正是 ZKP 能够实现的。

Alice 可以部署一个 ZKP(Prover-Verifier),它将拼图的一部分作为输入,并为该部分提供解决方案。这样,Bob 可以将已解决的部分与预期结果一起作为“见证”发送给 ZKP 的验证者。验证者可以验证爱丽丝的证明者是否也给出了与鲍勃的预期解决方案相同的解决方案。这会让 Bob相信 Alice 实际上知道解决方案。然后,他可以直接与证明者互动,以获取有关谜题特定部分的提示。

那么 ZKP 究竟如何实现保护隐私的机器学习呢?

ZKP 可以在两种不同的场景中启用隐私保护机器学习:

私人数据分析。数据和机器学习算法市场。 2、私人数据分析

这里的数据是私有的,但模型必须是公开的,以便对提取的见解的性质充满信心,并使其接触到更多的受众。

我们将以信用评分应用程序为例。在这里,可能需要用户的私人详细信息,例如年龄、性别、工资、过去的债务偿还记录、每月支出等。然后使用这些信息来计算用户的信用评分。今天,无法确定计算信用评分的公司是否尊重用户隐私。他们可以很好地将这些数据用于其他应用程序或在未经用户同意的情况下将其出售给其他方。将整个应用程序放在以太坊等公共区块链上可以实现透明度并保护用户同意。

将整个信用评分应用程序放在以太坊上存在一个主要问题。ML 模型计算信用评分可能是公司的专有技术。公司没有动力在像以太坊这样的公共区块链上托管。这就是 ZKP 发挥作用的地方。ZKP 将核心 ML 算法逻辑加密到 Prover 中。可以将证明者视为在黑匣子中执行计算而不向任何人透露黑匣子内容的实体。zk-SNARK 和 zk-STARKs 是构建此类黑盒(Provers)的流行加密方法。你可以在此处阅读有关这些内容的更多信息。

我们将继续使用信用评分示例来了解如何实现这样的事情。假设 Alice 经营一家公司,该公司根据用户的私人数据计算信用评分。该应用程序部署在 ZKP 框架内,以确保用户的数据隐私。任何用户(例如 Bob)都可以通过将包含测试值(年龄、收入、费用)以及预期结果(信用评分范围)的见证传递给验证器来验证此 ZKP 应用程序的正确性。Verifier 使用这些值来验证 Prover 的输出是否与预期的见证输出匹配。

一旦用户对信用评分计算的正确性有信心,他就可以直接与保持某些输入私有(年龄、收入)和其他公开(费用)的证明者交互。证明者运行计算并返回信用评分作为输出。通过这种方式,我们让 Alice 对 Bob 的数据执行计算(分析),而不会影响隐私。

3、数据市场

机器学习模型利用数据变得更好。这为公司相互出售和购买数据创造了强大的动力。今天,如果不实际共享数据集,就无法验证数据集的质量。这就是 ZKP 再次发挥作用的地方。

ZKP 可用于构建 Prover,该 Prover 使用某些计算来查看数据是否满足某些约束或属性作为健全性检查。证明者将保持数据的私密性,并且它位于公共区块链上的事实将确保验证过程中没有不当行为。这确保了购买者在购买数据集之前对数据质量有信心。

如果 Alice 要将私有数据集出售给 Bob,她必须确保数据满足 Bob 指定的某些约束。ZKP 应用程序根据 Bob 的约束构建并部署到公共区块链上。然后 Alice 可以将她的私有数据集作为输入发送给 Prover,并表明她的数据满足所有必要的约束。

4、机器学习算法市场

有时手头的问题可能是出售 ML 算法和相关的预训练模型。在这里,我们也面临着在将其出售给他们之前从卖家那里获得验证的问题。ZKP 的使用方式与上面讨论的数据市场问题非常相似。

我们可以通过 ZKP 将预训练模型部署到 Prover 中。然后,购买者可以发送一个测试数据集来验证模型在测试集上的表现是否令人满意。这确保了购买者在购买之前对 ML 算法有信心。

下图显示了 Alice 如何训练 ML 模型并将其部署到 ZKP 框架中。这使 bob 在实际从 Alice 购买 ML 算法之前,可以在自定义测试数据集上测试模型的性能。


原文链接:Web3.0机器学习 — 汇智网

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/2991600.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-09-23
下一篇 2022-09-23

发表评论

登录后才能评论

评论列表(0条)

保存