《BlockDeepNet: A Blockchain-Based Secure Deep Learning for IoT Network》翻译
- BlockDeepNet
- System Infrastructure of BlockDeepNet
-
- 重新配置IOT网络
- BlockDeepNet的功能模块
- BlockDeepNet工作机制
BlockDeepNet
BlockDeepNet,一种基于区块链的安全DL,它结合了DL和区块链,以支持物联网中的安全协作DL。在BlockDeepNet中,协作DL在设备级执行,以克服隐私泄露,获取足够的DL数据;而在物联网中,采用区块链来保证协作DL的机密性和完整性。实验评估表明,BlockDeepNet在可接受的延迟和区块链操作的计算开销下,可以获得更高的DL准确率。
现有模式不能维护数据贡献者(物联网设备)的完整隐私。这是因为物联网设备被排除在DL过程之外,因为用于学习过程的数据是在未经设备所有者许可的情况下收集的,这可能导致隐私泄露。由于隐私问题,一些数据贡献者不将他们的数据共享给服务器;因此难以为分布式DL模型积累足够的训练数据,这反过来又导致DL模型的精度较低。此外,所有三种形式的智能都可能遭受数据中毒攻击,其中物联网中的任何实体都可能在分布式DL过程中表现出敌对行为,例如,恶意服务器可以故意植入误导性的训练数据。
通过对现有DL范式的讨论,我们指出了设计一个有效的物联网DL范式需要解决的四个主要挑战:
(a)单点故障(b)隐私泄露(c)训练数据不足(d)数据中毒攻击
区块链中的去中心化支持物联网中所有成员节点之间资源和数据的安全共享,克服了多对一流量和中央控制的依赖,为大数据分析提供了足够的数据。从而消除了单点故障和训练数据不足的问题,减少了通信时延。
不可变分布式账本以由所有成员节点加密控制的块的形式安全地维护关于物联网的所有成员节点的信息。此功能可防止恶意篡改训练数据,进而对物联网中的数据中毒攻击做出很好的响应。
•引入BlockDeepNet,这是一种基于区块链的物联网安全DL,可在设备级别支持安全协作DL,并在物联网中提供数据完整性和机密性。
•在区块链环境中引入协作DL机制,以支持设备级的本地学习模型,并通过区块链事务在边缘服务器上聚合这些本地学习模型。
System Infrastructure of BlockDeepNet
本文提出的系统架构描述了一种新的分散式大数据分析方法,其中学习任务在设备级执行,并通过区块链分配。需要重新配置物联网的某些组件,以支持BlockDeepNet的工作流程。
重新配置IOT网络
设备层的每个物联网设备都配置了区块链应用和DL模型。为协作DL和区块链挖掘任务重新配置边缘层的边缘服务器。通过在BlockDeepNet中使用区块链技术实现的交易,设备层和边缘层的操作和交互得到了便利,该交易与中央云服务器隔离或独立。在重新配置的物联网中,每个设备通过收集和处理其私有数据来执行DL任务。
BlockDeepNet的功能模块
系统架构图
1) 本地模型:每个物联网设备通过在自己的私有数据上使用DL来准备本地学习模型。
2) 智能合约:智能合约定义了操作和管理BlockDeepNet系统的所有政策和规则。它包括两个主要模块:学习和挖掘合同。通过学习契约,每个物联网设备将其本地模型的参数(称为本地更新)发送到区块链网络。边缘服务器下载学习契约以供进一步处理,其中协作DL模型由边缘服务器借助通过其相关联的IoT设备共享的本地模型更新来训练。最后,被称为全局更新的协作DL模型的参数由边缘服务器挖掘并发送到区块链网络,称为挖掘契约。每个物联网设备下载相应的全局更新,并更新其本地模型。
3) 智能合约接口:将物联网设备和边缘服务器连接到智能合约。它自动触发物联网设备层的智能合约操作和活动,例如物联网设备注册、物联网设备之间的通信、与边缘服务器共享物联网设备的本地模型以及物联网设备请求协作DL模型。在提出的BlockDeepNet系统中,我们采用了基于JavaScript的应用编程接口(API)Web3协议来部署物联网设备的智能合约接口。对于每个物联网设备,编程功能由智能合约接口调用,以执行智能合约中定义的规则。
4)区块链网络:BlockDeepNet系统采用私有区块链在IoT中交付协作DL任务,其中边缘服务器对区块链网络具有更多控制。之所以选择私有区块链,是因为不需要资源密集型的工作证明来达成共识,而且sybil攻击的可能性较小。此外,采矿任务不需要经济激励,与公共区块链相比,提供的采矿任务资源密集度较低。由于物联网设备的资源限制,因此它们仅充当区块链和智能合约客户端,挖掘任务仅由BlockDeepNet系统的区块链网络中的边缘服务器执行。换句话说,事务监视、新区块创建和传播的整个任务都由资源密集型边缘服务器完成。物联网设备通过安装区块链和智能合约软件(区块链应用程序)与边缘服务器进行交互,它们能够获得资源和支持,以便使用云卸载等机制卸载其处理作业。
在BlockDeepNet实施中,智能合约的部署和分发在区块链上进行。区块链服务由区块链服务器支持,其中物联网设备作为客户端连接到该服务器。区块链服务器执行两个关键操作以支持区块链服务。首先,服务器收集物联网设备之间的所有事务并运行智能合约。它生成新的块来支持智能合约中嵌入代码的执行。其次,区块链服务器记录系统中的所有活动,例如关于请求和记录设备以及挖掘块的信息。BlockDeepNet系统中的区块链服务器使用轻量级共识机制,如PBFT,它不需要工作证明任务,并且支持资源密集度较低的挖掘任务。
BlockDeepNet工作机制
BlockDeepNet系统的概念结构由边缘服务器和物联网设备组成。边缘服务器可以与一组物联网设备相关联,在私有区块链网络中充当矿工。BlockDeepNet系统的工作机制总结如下。BlockDeepNet系统中的每个IoT设备使用DL训练本地模型,并将本地更新(梯度参数、学习模型的权重)上传到区块链网络中与其关联的边缘服务器。作为回报,边缘服务器根据其拥有的样本数据量向物联网设备支付数据奖励(???)。边缘服务器验证并处理其关联设备的本地更新,以通过聚合本地更新来生成协作DL模型。一旦边缘服务器完成协作DL任务,它将创建一个块,在其中存储聚合的本地更新,并从区块链网络接收处理奖励。最后,创建的区块被添加到区块链网络中,这也被称为分布式账本。每个物联网设备下载分布式账本并更新其本地更新以计算全局更新,这是下一个本地更新的输入。由于物联网设备在本地计算其全局更新,因此在学习过程中边缘服务器或另一物联网设备的故障不会影响设备全局更新,从而克服单点故障,确保物联网中整个DL任务的安全性和健壮性。
提出了一个受联邦学习系统启发的规范协作DL范式。局部模型参数wk(t)由每个设备dk通过在数据样本sk上训练其局部DL模型来定义。这里,t=0,1,2。,T表示迭代索引。最初,所有设备dk in d将其局部模型参数wk(t)的值设置为t=0时的相同值。在t>0时,通过使用梯度下降更新规则最小化局部损失函数,每个设备基于上一次迭代(t−1)中的参数值计算wk(t)的新值。在每个设备dk处使用梯度下降更新规则使局部损失函数最小化的这一步骤称为局部更新。随后,在局部更新的一个或多个迭代之后执行全局聚集,其中,针对称为全局更新的所有设备n的局部更新计算加权平均值,其进一步用于在每个设备dk处更新局部更新。
为了评估目标检测的性能,使用了四个标准度量:准确性、安全性分析、时延和计算复杂性
所有Raspberry PI都通过训练自己的私有数据(2745个实例的子集)来准备各自的本地模型,并在BlockDeepNet系统中为协作DL共享本地更新,该系统通过所有本地更新的加权平均值生成全局更新。很明显,当大量的树莓Pi参与BlockDeepNet时,训练数据集的大小将增加(5个树莓Pi为5×2745,10个树莓Pi为10×2745),并且将从更多的局部更新中获得全局更新,这将进一步增加总体mPA。每个树莓Pi将得到一个全局更新,总体mPA更高,并克服了缺乏训练数据集的问题。单个本地更新(红色条)提供的结果不太准确。它表明BlockDeepNet支持比单个本地更新更高的平均精度mPA。
物联网中的每个实体通过区块链事务安全通信,其中学习和挖掘合同通过附加同态加密和解密提供两个安全要求,即机密性和秘密共享。