A Blockchain-Based Machine Learning Framework for Edge Services in IIoT 论文学习

A Blockchain-Based Machine Learning Framework for Edge Services in IIoT

IEEE TRANSACTIONS ON INDUSTRIAL INFORMA TICS,2022

Summary

本文采用机器学习算法和区块链技术来提高数据处理的效率,保证数据处理的安全性。智能合约实现奖惩激励机制;SWAS聚合多个局部学习模型参数,扩大了数据集的范围,获得高精度模型的同时提高资源的有效利用;SM2加密算法实现隐私保护。

Research Objective(s)

利用边缘服务来保证与智能设备的可靠传输和实时数据处理,有效地设计模型并采用机器学习能力来提高数据处理精度,结合区块链技术保证安全性和奖惩激励机制。

Background / Problem Statement

现代工业需要尽可能多的智能设备对数据进行实时处理并对结果进行反馈,实现工业智能化。如果不能保证数据处理的实时性和用户的隐私性,就会导致攻击者篡改隐私数据,造成网络事故。因此,利用边缘服务来保证与智能设备的可靠传输和实时数据处理是工业物联网中至关重要的要求。
边缘服务是一种新的计算范式,它将云资源和服务扩展到网络边缘,通过部署边缘服务向智能设备提供虚拟化服务.边缘服务可以为工业物联网提供更强大的数据处理能力,增强智能设备的实时数据计算能力,提高智能生产和智能制造的效率。

为了实现数据的实时处理和及时响应,机器学习应用于边缘业务的多个场景。虽然机器学习可以通过训练模型来提高预测精度,但由于智能设备的存储和计算资源有限,智能设备使用机器学习建立的模型不能适应更高的精度要求,容易出现隐私泄露。因此,如何有效地设计模型并采用机器学习能力来提高数据处理精度是一个很大的挑战。此外,通过机器学习处理数据的安全性和效率还存在巨大的矛盾。一方面,由于智能设备的计算和存储资源有限,大量的加解密计算造成了巨大的开销;另一方面,随着异构智能设备的海量接入,数据处理任务的类型越来越复杂。

在现有方案中,大多数模型都不同程度地保护了数据的机密性和完整性,而忽略了智能设备中模型的准确性。存在的不足主要有以下几点:

  1. 智能设备收集的大量数据集利用率很低,边缘服务无法及时响应决策。
  2. 智能设备的数量巨大。一旦出现恶意节点,数据的安全和隐私就无法得到保证。
  3. 机密数据传输和加密计算造成巨大的开销。

在本文提出的BML-ES框架中,大量的智能设备为边缘服务提供支持,既保护了数据隐私,又提高了决策树学习模型的准确性。

Method(s)

区块链技术已经成为保证数据安全和隐私的重要手段。区块链技术本身的去中心化、透明性和不可篡改性保证了数据处理的公平性和真实性。因此,本文采用机器学习算法和区块链技术来提高数据处理的效率,保证数据处理的安全性。通过二者的结合,解决了工业物联网中边缘服务的安全性与效率之间的矛盾。

本文:

  1. 提出了一个基于区块链的分布式多方机器学习框架(BML-ES),以提高边缘服务上多方学习模型的准确性。利用区块链代替云服务器作为受信任的第三方,以减少边缘服务响应的延迟。
  2. 构建新型智能合约,设计奖惩激励机制,鼓励边缘服务多方参与,提高数据处理效率。此外,契约保护了多个参与者的利益,实现了多个参与者之间的激励兼容。区块链中的矿工对正确计算的验证结果进行整合,以确保模型的真实性和准确性。
  3. 提出了一种规模加权聚合策略(SWAS)对模型参数进行验证和集成,以提高模型的准确性,并采用SM2公钥密码体制防止边缘服务中模型参数的隐私泄露。
  4. 理论分析和仿真实验表明,对于工业物联网的边缘业务,该算法不仅能有效地保护数据安全,而且具有较低的开销。

Problem Formulation

每个培训参与者都有自己的数据集,并基于自己的数据集训练本地模型。
利用区块链对来自各个参与者的局部模型参数进行验证和集成,以完成任务发布者的要求,从而提高智能设备中模型的准确性。
考虑一个任务发布者和N个任务训练者:

  1. 对于N个任务训练器,它们都有自己的本地数据集Di = (d1, d2,…dn)。
  2. 当任务发布时,任务训练器根据任务的需求和类型决定是否进行训练,训练自己的数据集获得本地模型参数Mi。
  3. 然后,所有与请求相关的任务训练器将Mi提交给矿工,任务训练器防止在这个过程中自己的本地数据集泄漏。
  4. 最后,通过对局部模型参数Mi的接受和验证,矿工使用SWAS聚合策略获得全局模型,并对参与训练任务的任务训练者进行训练奖励。

BML-ES

BML-ES模型
系统模型包括以下三个实体。

  1. 任务发布者: 在区块链上以事务的形式发布需要训练的任务的人。此外,任务发布者将训练奖励和报告奖励分别提交给智能合约。
  2. 区块链: 本地模型参数由区块链网络中的矿工进行验证和聚合。此外,区块链还将这些参数作为审计记录收集并存储任务发布事务和任务请求事务。
  3. 任务训练师: 拥有自己的数据集的人,可以依靠这些数据集进行独立训练,通过提交正确的局部模型参数获得训练奖励。此外,任务训练器将定金提交给智能合约。

本文的目的是让没有训练能力的任务发布者能够获得足够准确的训练模型。系统模型容易受到以下威胁:

  1. 训练参数的质量: 恶意任务训练器可能会为训练提供质量偏倚的数据集,影响整个训练结果的准确性,降低数据的可用性。不仅如此,恶意的任务训练者甚至提供错误的参数来获得奖励。
  2. 数据隐私: 独立任务训练者不希望其他参与者得到自己的训练结果。恶意的任务训练者破坏了系统的运行,试图推断其他参与者的训练数据集,从而泄露了诚实的任务训练者的隐私。
  3. 串通攻击: 在任务培训员之间进行贿赂,恶意的任务培训员承诺将部分培训奖励给予诚实完成培训的任务培训员,以获取诚实培训员的培训结果供提交。这样,就有可能在没有训练的情况下获得任务发布者的训练奖励。

构建过程:
首先,设计培训合同和报告合同,以保护任务发布者和任务培训者的利益。
此外,提出训练质量的证明来分配任务训练者的奖励。
最后,采用SWAS提高了全局模型的精度。

  1. 系统初始化。系统生成任务发布者TP的公私钥对(TPpkb, TPskb)和任务训练者TLi = (TL1, TL2,…)的公私钥对(TLi−pkb, TLi−skb)。TLn)。此外,矿工还需要生成他们的公私密钥对(Minerpkb、Minerskb)。

  2. 任务发布。TP使用区块链网络广播训练任务Task,该任务以事务的形式生成。事务包含TP’s ID、Date Type、Task description、Deadline、Mini aggregation和TP’s Sign。任务发布后,TP提供的培训奖励reward需要锁定在智能合约SC上。

  3. 任务请求。任务训练师TLi根据发布的任务、来自多个参与者的唯一标识ID、所有的数据配置文件(Data Type, Data distribution, Proposed completion time, TL’s Sign)生成任务请求request,并以事务的形式广播。由矿工记录和核实。提交任务请求后,TLi还将定金定金锁定到培训合同SC上。

  4. 任务训练。矿工接收任务培训师发送的任务培训请求,验证任务请求事务是否包含在区块链上,检查任务发布者和任务培训师是否向SC锁定了Reward and Deposit,如果验证正确,矿工向任务培训师发送任务培训消息。任务训练器在收到任务训练消息后在本地开始训练,并在训练后将加密的模型参数提交给矿工。

  5. 模型验证。任务训练器基于它们拥有的数据集在本地执行模型,并使用矿工的公钥加密模型参数Mi,然后签名并发送给相应的矿工。矿工在收到任务训练者提交的加密模型参数后,对其进行验证和解密。当验证正确时,矿工利用模型参数构建训练模型,并根据训练质量的证明划分训练模型的权重。当矿工接收到的正确模型参数个数满足最小聚集数T时,按权重分配奖励。

  6. 块生成。矿工在接收到T正确训练模型参数后,采用SWAS聚合策略构建全局模型,获取全局模型参数GM。构建完成后,矿工利用任务发布者的公钥对全局模型参数进行加密,然后对加密后的模型参数进行签名,生成块进行全网广播。在每个节点验证块的内容后,矿工将获得挖矿奖励。

  7. 任务结束。任务发布者同步获取块内容,获取全局模型参数的密文并解密。

Smart Contract

智能合约是在区块链上存储和运行的计算机程序。程序代码捕获了双方签署合同条款的逻辑。代码的执行由事件触发,例如,事务被添加到区块链中。可以认为智能合约是由一个受信任的全局机器执行的,它可以临时托管资产并执行每条指令。

  1. 任务发布者在发布任务时应具有较高的盈利能力,否则,理性的任务发布者不会发布任务;
  2. 任务培训师的培训收益应大于培训成本,否则理性的任务培训师不会接受培训任务;
  3. 对于任务发布者,押金应该大于获得的收益,并扣留他的奖励作为补偿;
  4. 对于任务培训师,押金应大于培训费用,并扣留其奖励作为补偿;
  5. 举报的报酬应大于恶意任务培训人员的贿赂成本,否则,理性的任务培训人员不会举报恶意任务培训人员。

培训合同由任务发布者和任务培训者签订,通过奖励的方式激励正确的任务培训。任务发布者需要提交定金和奖励到培训合同。任务培训师还需要将保证金提交到培训合同中。如果任务发布者是诚实的,定金会被退回,相反,定金会被扣留。如果任务培训师没有在规定的时间内提交模型参数或提交的参数错误,则任务培训师提交的保证金将不予退还。如果任务训练器在指定的时间内提交了正确的模型参数,任务训练器将获得任务发布者提交的奖励。在任务培训过程中,恶意的任务培训人员不进行任务培训,而是试图通过行贿获得诚实培训人员的结果,从而参与奖励的分配,从而影响整个系统培训模型的准确性。签订报告合同是为了防止任务培训者之间串通。在报告契约中,诚实的任务训练者可以向任务发布者报告恶意任务训练者的行为。任务发布者与诚实的任务培训师签订报告合同后,任务发布者需要支付报告奖励,以鼓励正确的报告。当任务发布者收到报告消息后,将其发送给矿工。矿工根据报告消息验证恶意任务训练器。如果核实无误,报告合同将取消对恶意任务培训师的保证金,并将恶意任务培训师踢出团队。参与报告的任务培训师将获得报告合同的奖励。如果核实错误,即任务培训师谎报报告,则扣留恶意报告培训师的保证金,并将其踢出培训团队。

Proof of Training Quality

为了识别懒惰或恶意的任务训练者在模型参数提交阶段提交低质量甚至错误的模型参数,本文提出了一种培训质量证明方案:

  1. 精度计算: 矿工接收TLi提交的模型参数,根据Mi建立TLi的局部学习模型hi (x)。通过测试集计算不同任务训练器所构建模型的准确性。
  2. 出块: 矿工接收TLi提交的T模型参数Mi。准确率计算完成后,矿工通过SWAS聚合策略构建全局模型参数GM。矿工收集T模型参数构建默克尔树,并与加密的全局模型Cm打包到区块链中。
  3. 入链: 区块广播后,每个节点验证该区块的合法性,验证通过后将其添加到自己的账本中。

SWAS Aggregation Strategy

整合多个局部学习模型参数。该方法不仅扩大了数据集的范围,而且在获得高精度模型的同时提高了资源的有效利用。全局模型算法:
全局模型算法

Evaluation

Correctness Analysis

BML-ES中,采用SM2对模型参数进行加密和签名,安全性主要依赖于SM2中的椭圆曲线离散对数问题。利用智能合约保证安全性和激励机制。

  1. 模型质量。单个边缘设备的资源有限,训练模型的准确性较差,不能满足任务发布者的要求。为此,提出了训练质量证明和SWAS聚合策略。为了防止任务训练器懒惰训练甚至提交恶意数据,本文使用训练质量证明对局部模型进行验证,去除恶意任务训练器,保证参与最终聚合的模型参数的质量,从而提高全局模型的准确性。
  2. 数据处理。在BML-ES框架中,为了保证数据处理的正确性,本文采用了奖惩机制和加密技术。整个任务训练过程的模型传输采用SM2加密传输,防止数据泄露和篡改。在任务培训过程中,奖惩机制保证了任务培训者不会破坏数据的正确性,因为这样会损失他们的利润。矿工是诚实可信的节点,能够正确验证任务训练器的结果。综上所述,BML-ES框架可以保证数据处理的正确性。
  3. 隐私隔离。本文允许任务培训师在本地进行培训,而不需要将数据集集成到云中。在培训过程中,每个任务培训师都是相互独立的,无法看到培训行为,也无法猜测其他参与者的数据。在本文的框架中,任务训练者只需向矿工提交加密的模型参数,就可以消除云服务器泄露参与者数据的风险,防止恶意的任务训练者窃取模型参数,通过模型参数猜测数据。本文保护任务训练者数据的隐私,使互不信任的参与者能够积极参与训练,提高模型的准确性。
  4. 审计记录。由任务训练器提交的加密模型参数被矿工以默克尔树的形式记录在区块链中。默克尔树是一种基于哈希结构的树。它确保数据不会被篡改,并可以快速验证数据是否在集合中。任务训练者可以通过验证路径快速检查他们提交的模型参数是否包含在区块链中。任务培训师诚实完成培训任务的次数越多,记录越多。只有通过默克尔树结构验证的任务训练者才能得到任务发布者的奖励。当任务训练器验证他们的模型参数包含在默克尔树中但没有收到奖励时,他们可以通过区块链中的记录进行审计。

Simulation Parameters

  1. 本文模拟的编程语言工具是Matlab和Spyder。

  2. 模拟8个智能设备,它们有自己的数据集,可以独立构建决策树模型。

  3. 在8台智能设备上模拟891条数据,计算每个智能设备独立训练模型所消耗的时间。
    在这里插入图片描述
    智能设备拥有的数据集越多,训练模型所需的时间就越长;智能设备的训练时间随数据集类型的不同而变化。

  4. 计算了每个智能设备训练的决策树模型的准确性。
    在这里插入图片描述当智能设备上有更多的数据集时,所建模型的精度可能并不会更高,因为在实际环境中,模型的准确性与数据集的处理和智能设备的计算资源有关。使用SWAS聚合策略得到全局模型提高了资源的利用率,也使模型的准确性更符合任务发布者的要求。

  5. 使用Remix编程智能合约,并计算构建两个智能合约所需的GAS。
    在这里插入图片描述
    合同只消耗了很小的成本。

  6. 计算了使用SM2公钥加密系统对模型参数进行加密的操作开销。
    在这里插入图片描述
    SM4拥有相同的加解密密钥,所以它的计算速度比SM2快,但SM4不能作为数字签名使用。

  7. 在Windows10上进行了大量的模拟,硬件配置如下:Intel Core i5- [email protected] CPU, 8GB RAM, 1TB硬盘,Matlab R2016b,解释器Python3.8.5, Remix。

  8. 分析和评估了BML-ES框架的性能和成本。(?)

Conclusion

本文提出了一种基于区块链的工业物联网边缘服务机器学习框架,解决了智能设备在资源有限的情况下对数据进行诚实处理的问题。安全性分析和仿真实验表明,提出的解决方案不仅保护了数据隐私,而且提高了工业物联网边缘服务的准确性。结合机器学习和区块链是一种有效的边缘服务数据处理方法。然而,如何降低通信开销还需要进一步的探索。

Notes

References

猜你喜欢

转载自blog.csdn.net/Mr__666/article/details/127808688
今日推荐