面向数据保护的区块链物联网边缘卸载策略

2024-08-17 00:00:00刘汝鸿栗娟
计算机应用研究 2024年7期

摘 要:物联网(IoT)设备的广泛应用带来了数据安全性和完整性的挑战。针对这一问题,提出了一种区块链物联网边缘卸载策略,专注于数据保护。该策略通过将IoT设备数据上传至区块链,利用其不可窜改性和可追溯性来保障数据安全。鉴于区块链的工作量证明(PoW)共识算法在数据验证和区块添加方面的高计算资源需求,该策略采用边缘计算技术,将PoW共识过程卸载至边缘服务器执行。进一步地,设计并实现了一个多目标边缘卸载算法(multi-object edge offloading algorithm,MEOA),以寻找最优卸载策略,动态调整PoW共识难度,实现系统安全性与运行效率的平衡。仿真实验结果表明,该策略相比其他卸载策略,在提高IoT设备数据上链效率、降低时间和能耗成本方面表现优异,同时确保了数据安全性和完整性。

关键词:区块链; 物联网; 边缘计算; 数据保护; 边缘卸载

中图分类号:TP311 文献标志码:A 文章编号:1001-3695(2024)07-004-1951-08

doi:10.19734/j.issn.1001-3695.2023.11.0531

Blockchain IoT edge offloading strategy for data protection

Abstract:The widespread application of Internet of Things(IoT) devices has brought forth the challenge of ensuring data security and integrity. This research proposed a blockchain-based IoT edge offloading strategy focused on data protection. The strategy involved uploading IoT device data to the blockchain, utilizing its immutability and traceability to enhance data security. Given the high computational demands of the blockchain’s proof of work(PoW) consensus algorithm for data verification and block addition, edge computing technology was employed to offload the PoW consensus process to edge servers. Furthermore,it developed a multi-objective edge offloading algorithm(MEOA) to identify the optimal offloading strategy and dynamically adjusted the PoW consensus difficulty, balancing system security with operational efficiency. Simulation results show that this strategy outperforms others in enhancing the chaining efficiency of IoT device data and reducing time and energy costs, while ensuring data security and integrity.

Key words:blockchain; Internet of Things; edge computing; data protection; edge offloading

0 引言

随着物联网(IoT)设备的广泛应用,如何保护设备数据的安全性和完整性成为了一个重要问题。区块链技术因其去中心化、数据不可窜改等特性,已渐渐成为保护数据隐私和安全性的理想选择。使用区块链技术,将IoT设备数据和用户隐私数据打包成区块进行上链保护,确保IoT设备数据的完整性、安全性和可追溯性[1]。然而,区块链数据上链过程,如工作量证明(proof of work,PoW),属于计算密集型任务,若直接在计算能力有限的IoT设备上运行,对于终端计算能力来说是一个巨大的挑战,如果全部卸载到云端去执行,又会给用户数据安全带来隐患[2,3]。

为了应对这些挑战,边缘计算技术应运而生。作为一种新兴的技术,它侧重于在网络边缘设备(如网关、路由器或接入点)进行数据处理,以降低网络延迟、提升数据处理效率,特别是在实时性需求高的应用场景(如自动驾驶、智能制造等)中,边缘计算更显其优势。Zhao等人[4]将边缘计算融入工厂协作跟踪目标中,开发了具有物联网边缘计算功能的室内外协作跟踪体系,使用分布式的计算方式有助于解决云端服务器的压力,降低跟踪延迟。Liu等人[5]提出了一种基于边缘计算的目标位置二次定位可靠性机制,提高了大视频序列在实际工业应用中的相应速度。

任务卸载是将任务从一个计算节点(通常是终端应用)迁移到另一个计算节点(如边缘设备)上进行任务执行的过程[6]。边缘计算环境下,使用不同任务卸载策略来提高应用性能和资源利用率已成为一个关键问题。Cheng等人[7]提出了一种空间-空中-地面联合网络(SAGIN)边缘云计算架构,用于卸载考虑远程能源和计算限制的计算密集型应用程序,其中由飞行的无人机(UAV)提供近用户侧边缘计算,由卫星提供云计算的接入。凌雪延等人[8]利用混合编码方式的遗传算法,对系统时延和能耗的加权和最小化问题及逆行求解,确定最优的任务卸载调度策略与能耗间的权衡关系。薛宁等人[9]提出了一个任务卸载和异构资源调度的联合优化模型,联合最小化用户的设备能耗、任务执行时延和成本等因素,利用深度强化学习算法,求解出最优任务卸载算法,使设备能耗和资源消耗量降低了一个等级。李沁颖等人[10]建立移动边缘计算车载网络系统模型,通过构建马尔可夫优化过程,计算所有方案数据传输的成功概率并进行比较,以获得任务分配和卸载的最优方案。

在此背景下,针对区块链的共识过程的算力需求,需要寻求一种有效的方案,以解决IoT设备计算能力不足的问题[11]。Sengupta等人[12]首先根据工业物联网中最相关的安全威胁提出对策,接着讨论了一种称为Tangle的物联网区块链设计,为工业物联网的安全研究领域进行分类,并为其分别提供相应的解决方案。夏艳东等人[13]提出一种轻量级的认证与密钥交换协议,采用物理不可克隆函数,并用模糊提取器来保障传感设备的安全,同时采用单向散列函数等加解密技术建立安全绘画通道,提高了设备的安全性,能够抵抗现有的多种已知攻击。这些研究为本文的工作提供了宝贵的参考和启示。

为解决物联网场景下使用区块链技术进行数据保护时,系统面临的IoT设备性能不足的问题。本文利用边缘计算技术,将区块链的PoW共识过程卸载到边缘服务器上执行。设计并实现了一个多目标边缘卸载算法(multi-object edge offloading algorithm,MEOA),用来找到最优的卸载策略,并动态调整PoW共识难度以平衡边缘系统的安全性和运行效率。这样不仅可以减少IoT设备的计算负担、降低能耗,还可以加快数据上链的速度、提高系统的运行效率。通过Java语言搭建了一个仿真平台进行对比实验。实验结果表明,与其他卸载策略相比,该策略具有良好的时间性能和能耗表现,并且可以有效地提高IoT设备数据上链的效率,从而更好地保护IoT数据的安全性和完整性;同时,该策略还可以对不同权重的卸载任务作出反馈,以满足不同应用场景的需求。

1 IoT边缘交互模型

随着物联网的不断发展,越来越多的物联网进入了人们的日常生活,大到工厂汽车,小到家用电器、医疗设备,日常生活的方方面面都已经和物联网紧密相关[14]。而在实际的生产环境中,IoT设备需要进行高频、实时的数据交换和处理。由于这些设备的计算能力和电池寿命都有限,直接在设备本地处理所有的数据并不高效。同时,将所有数据传输到远程的中央服务器进行处理也会带来显著的延迟,这在实时性要求高的应用场景中是不可接受的[15]。而边缘技术的出现,支持将计算任务卸载到距离终端较近的高性能边缘服务器进行处理,相比于云端集中处理或者本地处理,可以有效降低处理时间和延迟[16]。

IoT边缘交互模型如图1所示,其中IoT设备可以是任何搭载了传感器和联网功能的设备,例如工业生产线上的自动化机械,或智能家庭中的智能电器。这些设备会持续生成大量的数据,并需要进行一些计算密集型的任务。

边缘服务器则位于接近IoT设备的网络边缘位置,具有强大的计算和存储能力。它的主要任务是接收和处理从IoT设备传来的数据和任务。处理完成的任务结果可以直接反馈给IoT设备,或者传输到云端进行进一步的分析和处理。

IoT设备和边缘服务器之间的交互是动态的[17],需要考虑许多因素,如IoT设备和服务器的性能、任务的紧急程度和数据的大小等。为了实现最优的交互效果,通常需要一个有效的任务调度策略,以确定何时、何地以及如何处理这些任务。

1.1 区块链边缘任务卸载模型

在部署了区块链进行数据保护的物联网场景中,针对区块链的区块生成过程,由于需要进行例如PoW的共识算法[18],对IoT设备的性能提出了很高的要求,于是将这一共识过程视作边缘任务进行卸载。这一过程可以被抽象成如图2所示的模型。

在该模型中,首先考虑了多个IoT设备与多个边缘服务器。IoT设备由于其计算资源有限,不适合执行计算密集型任务,如工作量证明(PoW)等区块链操作。所以,这些设备需要将区块链的共识任务卸载到拥有更强大计算能力的边缘服务器上。

IoT设备可以用集合D来表示,假设有n个IoT设备,集合D={d1,d2,…,di,…,dn}。每一个IoT设备都可以表示为一个三维向量di={Ci,Pi,Gi},其中Ci表示其计算能力,Pi表示其能耗速率,Gi表示其携带的数据大小。不同种类的IoT设备拥eb724cf2a5227ef410a08c26ded83acd有不同的以上三项参数。

边缘服务器资源可以用集合S来表示,假设有m个边缘服务器,集合S={s1,s2,…,sj,…,sm}。集合中的每一个边缘服务器都可以表示为一个四维向量sj={Cj,Pj,Lj,Bj},其中Cj表示其计算能力,Pj表示其能耗速率,Lj表示其与IoT设备的物理距离,Bj表示其当前传输带宽。

根据实际应用场景,可以抽象地理解为IoT设备在地理位置上呈现密集型分布,而边缘服务器则呈现分散性分布,且区块链部署于边缘服务器的组网之中。而在任务卸载的过程中,某一边缘服务器的传输带宽Bj与其距离IoT设备的物理距离Lj成反比。bsw(base bandwith)代表系统的基础带宽。

具体可以表示为

PoW共识任务,它包含了待处理的任务列表。每个任务都从属于某个特定的IoT设备,并带有该设备产生的数据。任务的内容为新区块的创建并上链,主要流程包括:新区块的生成PoW、区块上链、区块验证。

涉及到PoW共识机制时,特定哈希计算的原理包括矿工通过寻找满足预定条件的哈希值来完成工作量证明[19],具体而言,Pow共识机制的核心内容主要包括[20]:

a)特定哈希计算(一般称此过程为“挖矿”):在PoW中,矿工需要通过哈希函数生成一个满足特定条件的哈希值(一般称其为“目标值”)。这通常涉及到在区块头中添加一个随机数(称为nonce),并不断尝试不同的nonce,直到找到一个哈希值小于或等于“目标值”的情况。这个目标值是一个预先设定的阈值,它决定了挖矿的难度。

b)目标值的动态调整:为了确保新块的产生时间接近一个固定的时间间隔,PoW机制采用了动态调整目标值的机制。如果矿工总体算力较大,导致块生成速度过快,系统会增加目标值,提高难度。反之,如果算力减小,系统会降低目标值,降低难度。这个调整通常在每一个调整周期内进行,确保整个网络能够适应算力的变化。例如,比特币网络每2 016个区块就进行一次调整[21],这大致对应两周的时间。

在边缘环境中部署区块链服务后,边缘服务器和IoT设备将会承担起PoW中“矿工”的角色[22]。因此,利用PoW共识机制的特点,能够根据当前边缘服务器和IoT设备的实时算力、负载情况,以及上一个时间段内的区块生成速度,动态调整“目标值”,从而调整挖矿的难度。

针对不同特点的边缘环境以及不同的应用需求,挖矿的难度可以被调整到合适的大小,既能满足应用的时延需求,又在边缘服务器性能能够承受的范围内。同时,如果区块生成速度过快,系统提高目标值以增加难度,反之则降低目标值以降低难度。这样既能避免因挖矿难度过低而损失安全性,又能将终端IoT设备不可能完成的共识操作很好地卸载到边缘服务器上来完成。

因此,可以将区块链的PoW共识过程抽象为一个卸载任务,本文称其为“区块链的共识任务”(以下简称为任务)。

卸载任务可以用集合V来表示,假设有l个任务,集合V={v1,v2,…,vk,…,vl}为待处理任务的集合。每个任务都可以表示为一个六维向量vk={ di,Nk,Fk,Dk,Wtk,Wek}。其中:di表示任务所属的IoT设备;Nk表示任务需要挖掘并上链的区块数;Fk表示任务的挖矿难度;Dk表示需要上链保护的数据大小,同时也是需要参与共识过程的数据大小;Wtk表示任务时间权重;Wek表示任务能耗权重。

而对于每一个任务vk,其基准运算时间Btk的来源是运行仿真实验的真实计算机处理该任务所需要的时间。任务需要参与共识的数据大小Dk取决于产生这个任务的IoT设备di的设备数据大小Gi,此关系可以抽象表示为

Dk=F×Gi(2)

其中:F为常量系数且F>0。

1.2 时间模型和能耗模型

任务集合中的每个任务都可以选择在IoT设备本地执行,或者是传输到某一个边缘服务器上执行。为了简化模型,假设每个边缘服务器同一时刻只能处理一个卸载任务。

1)在本地执行时

当任务vk在本地IoT设备di执行时,只需要考虑任务的执行时间,而上链产生的传输时间相对于任务计算时间非常小,因此可忽略不计。

本地任务完成时间为

本地执行能耗为

2)在边缘服务器执行时

当IoT设备di产生的任务vk被卸载到边缘服务器sj执行时,除了计算所消耗的时间,还需要考虑任务数据传输的时间。而传输时间又受到数据大小Dk和带宽Bj的影响。

此时,任务完成总时间为

而边缘服务器sj的传输带宽Bj为式(1),数据大小Dk为式(2)。所以总时间为

任务vk在边缘服务器sj执行的能耗为

在任务卸载过程中,一个任务集合会包含多个任务,每个任务都有两种可能的卸载方式:在本地卸载或在某一边缘服务器上卸载。所以任务集合V={v1,v2,…,vl}的总时间消耗T可表示为

总能耗E可以表示为

1.3 区块链数据模型

区块链被采用以确保数据的安全性,每一个区块所包含的信息如图3所示。

图3中,每一个矩形代表一个区块,每个区块包含的信息如下:

ID值:表明当前区块来自于哪一个IoT设备,将设备ID置入区块使其能够对每个区块进行溯源。

privious hash:前一个区块的hash值,用来表示当前区块对前一个区块的引用,这使得区块与区块直接可以相连接形成区块链。

current hash:表示当前区块的唯一标识。

current hash值的生成过程包含了当前区块的所有信息,并且是经过PoW和验证的合法数值。

timestamp:记录该区块的生成时间。

nonce:该区块的工作量证明的计数器,也参与了current hash值的运算。

data:需要保护的数据,可以是IoT设备的运行状态、工作日志、传感器数据,或是用户的隐私数据等。

data的长度理论上可以是无限的,具体取决于需要上链进行保护的具体数据内容。需要注意的是,该数据长度的变化将会影响区块共识过程的计算量。

区块链的生成流程如图4所示。首先将需要保护的数据准备好,接着生成一个时间戳用来记录当前的时间,随后会请求区块链中上一个区块的hash值,判断是否为空。若为空,则当前需要产生创世区块,privious hash参数将不会参与创世区块的运算;若非空,则会将前一个区块的hash值添加到当前区块中,同其他数据一并打包并开始循环计算hash值,直到计算出的hash值满足当前PoW要求。接着会进行区块链的完整性验证,目的是循环区块链中的所有区块,并比较其privious hash值是否和前一个区块的hash值相等。如果验证不通过,则代表当前区块链已被破坏,反之则代表区块链仍然有效。验证通过后会将当前区块添加到区块链上。

每一个成功处理的任务都将导致一个新的区块添加到区块链上。该过程需要的运算量较高,而IoT设备本身的运算能力有限,因此需要使用边缘计算技术对该任务过程进行卸载。

通过区块链技术,可以实现对IoT设备数据的安全存储和传输,有效地防止数据被窜改和泄露,从而保护数据的隐私性和安全性[23]。

2 考虑权重的边缘任务卸载策略

根据所提出的模型,在边缘环境中部署区块链网络后,为了解决区块链网络的PoW共识问题,使用任务卸载技术将IoT设备产生的共识任务卸载到合适的边缘服务器上执行,需要设计一个适用于所提出模型的任务卸载策略。

对此,本文提出了一种考虑权重的任务卸载策略。主要思路为:a)根据每个任务不同的时间和能耗权重,建模卸载任务的综合成本;b)针对每个任务集合,使用多目标边缘卸载算法(MEOA),寻找在满足区块链PoW共识过程的安全性要求前提下,该任务集合的最优总成本;c)该最优总成本下的卸载方案,即为同时满足每个任务的时间能耗权重下的全局最优卸载方案。

具体而言,区块链的核心思想是去中心化,即不依赖于单一的权威机构。在PoW共识机制中,通过矿工的去中心化计算来确保网络的安全性。攻击者要成功窜改区块链的信息,需要掌握网络中超过50%的计算能力,这是一项极为困难和昂贵的任务[24]。同时,在PoW中,各矿工之间处于竞争性挖矿的关系,并遵循先到先得原则,完成工作量证明过程的矿工首先获得权利添加新区块到区块链。因此控制超过50%的计算能力意味着攻击者有更高的概率在竞争中胜出[25],从而能够连续窜改区块链的信息。为了维护共识机制的安全性和去中心化特性,网络设计者规定了攻击者必须掌握超过50%的计算能力才能成功攻击,这是一种保护机制。如果攻击者只掌握小于50%的计算能力,他们在竞争中很可能被其他矿工打败[26],导致他们无法连续窜改区块链的信息。

在本文所提出的卸载模型中,部署了区块链网络的边缘服务器用来扮演“矿工”的角色,在完成PoW共识过程中,不应该只有某一个边缘服务器参与,而应当遵循PoW的去中心化和竞争性挖矿原则。同时,为保证共识机制的安全性,卸载策略应当保证每个共识任务卸载过程有超过50%的边缘服务器参与竞争挖矿。并在此前提下尽可能地提升任务卸载效率,降低卸载成本。

2.1 考虑权重的任务卸载成本

首先,对于每个具体的卸载任务,由于产生该卸载任务的IoT设备的状态不同,该任务对于执行时间和能耗要求的偏向也会不同。所以产生的卸载任务具有各自不同的时间-能耗权重。假设任务vk的时间权重为Wtk,能耗权重为Wek。此时,该任务的综合成本Ck可以表示为

Ck=Tk×Wtk+Ek×Wek(14)

而任务集合V={v1,v2,…,vl}的总成本C可以表示为

同时,任务卸载效率还可以由单位时间内系统完成的共PoW共识总次数N来直观体现。

该卸载策略旨在寻找在保证区块链系统安全性的前提下,能够使该总成本值最小化的最优解。

2.2 MEOA设计

本文通过将区块链的PoW共识过程抽象成需要卸载的任务,并结合前文所提出的系统模型进行分析,基于模拟退火的原理设计了一种多目标边缘卸载算法。

相比于其他传统的卸载算法,对于部署了区块链网络的边缘环境特点而言,该卸载算法的适用性和创新性主要体现在以下几点:

a)算法需要遵循PoW的去中心化和竞争性挖矿原则,共识过程不能只有某一个边缘服务器参与,而至少需要有超过边缘服务器总数量50%的节点参与,彼此竞争,率先计算出满足目标hash值(即完成PoW过程)的节点将获得添加新区块到区块链的权利。

b)动态调整共识“目标值”,进而调节共识难度(即挖矿难度)。算法应根据当前系统中边缘服务器和IoT设备的硬件参数、实时算力、负载情况,以及上一个时间段内的平均区块生成速度,动态地、有底线地调整“目标值”以保持共识过程的稳定性,使块产生的速度接近系统设计的预期值,同时避免因“目标值”难度过低而导致的安全性问题,从而维持区块链的安全性和可靠性。

c)预防集中攻击(centralization attack)。在传统的边缘任务卸载策略中,卸载算法往往专注于寻找任务卸载目标的最优解,由于边缘服务器的性能与负载情况在某些场景下相对固定,不会频繁变更,所以传统卸载算法的优化方式容易使其任务频繁地被卸载到少数个边缘服务器上。在边缘服务器总数量较多的情况下,部分边缘服务器甚至没有机会参与到任务卸载过程中[27],这显然违背了区块链中心化的安全性原则,产生了很大的安全风险(攻击者只需要针对少数个边缘服务器攻击即可控制整个系统,进而随意窃取、窜改用户的数据)。而MEOA由于选择超过总数量50%的边缘服务器参与共识任务卸载,并且得益于区块链网络的部署,能够有效地抵抗攻击,保护用户数据。攻击者若想成功窜改区块链的信息,需要掌握网络中超过半数的矿工节点,这是一项极为困难和昂贵的任务。

本文算法的伪代码如算法1所示,其主要逻辑为:

a)首先,设置一个初始温度,和一个初始的挖矿难度,设置共识难度的变化因子Δ=0,并随机生成一个解决方案(第1~6行),选择超过半数的边缘服务器数量作为边缘矿工节点,参与PoW共识过程,彼此竞争“挖矿”。

b)开始卸载共识任务,进行PoW共识过程。直到某一个节点最先计算出符合“目标值”的hash值,标志着第一个共识任务被卸载完成。此时,该边缘节点获得权限,并将产生的新区块添加到区块链中;同时,系统计算当前解决方案的总成本。接着比较本轮卸载耗时t1与共识任务的期待值t2,若t1>t2,则标记挖矿难度的变化因子Δ+1;反之将Δ-1(第7~14行)。

c)进入新一轮退火阶段,通过随机改变一个担任矿工节点的边缘服务器来生成一个新的解决方案,重复上一步骤,同时计算新解决方案的总成本(第15,20行)。随后计算这两个解决方案的成本差,如果新解决方案的成本更低,则直接接受它;否则,算法以一定的概率接受这个新的解决方案,同时更新当前解决方案为新解决方案,并重置退火计数器(第21~26行)。这个概率会随着成本差的增大(新解决方案越来越差)和温度的降低而减小。这样在初期阶段,即使新的解决方案比当前的解决方案差,也有较大的可能性被接受;而当温度逐渐降低,算法则越来越倾向于接受更优的解决方案,差的新方案被接受的概率会降低。

d)每一轮共识任务完成后,判断当前共识难度的变化因子Δ的绝对值是否大于阈值,若成立,则代表系统当前挖矿难度需要被调整,若Δ>0,则降低挖矿难度;相反则提高挖矿难度(第18~20行),这样使得系统的整体安全性和运行效率能够保持较好的平衡。

e)在迭代过程中,算法根据一个冷却速率来逐渐降低系统的温度,直到温度低于一个预设的最小温度或者连续一段时间没有接受新的解决方案。这时,可以认为系统已经找到了全局最优解,退火过程结束(第27,28行)。最后,得到的当前解决方案就是算法找到的最优解决方案,算法返回该方案下的边缘服务器集合以及共识“目标值”难度(第30行)。

算法1 MEOA

在本文设计的系统中,每个任务的处理时间和能耗都是需要考虑的成本因素。可以通过设置每个任务的时间权重和能耗权重,来调整算法对这两个因素的重视程度。这样就可以根据实际需求,找到一个在满足任务处理时间和能耗权重需求下的最优任务卸载策略。同时,由于算法可以在迭代过程中动态调整挖矿难度,使得系统的整体安全性和运行效率保持良好的平衡。

3 实验分析

3.1 环境及参数设置

为了验证本文方法的有效性,采用Java语言设计并编写了仿真实验。实验是在一台具有16 GB内存和2.3 GHz处理器的计算机上进行的。运行的操作系统为Windows 10,具体环境如表1所示。

在真实的物联网应用环境中,物联网设备的种类非常丰富,不同领域的物联网设备通常具有很大差别。例如,用于智能家居的物联网电器,往往具有较低的功耗,但收集和处理的数据涉及用户的个人隐私;而IoT工厂中的物联网设备通常具有相对较高的功耗,但包含的数据更多是用于生产过程,此时数据的不可修改性和可朔源性就变得十分重要。

因此,仿真实验中具体参数设置如表2所示,实验创建了3个IoT终端设备,每个设备都有其不同的计算能力和功耗,并且具有不同的数据大小。代表不同种类的IoT设备,以模拟真实物联网环境的多样性。

设置了20个边缘服务器,各自具有不同的计算能力、功耗、与IoT设备的物理距离。实验中的所有IoT设备和服务器都基于同一种传输带宽。

此外,每个IoT设备均生成系列共识任务,这些任务具有确定的数据大小、需产生的区块数量和“时间-能耗”权重(用于揭示任务执行时间与能耗的权衡)。且每个任务需要上链的数据大小Dk与产生这个任务的IoT设备的数据大小Gi的比例系数F=10。实验的任务集合由来自于三个不同IoT设备的任务组合而成。

MEOA参数设置如下:初始的挖矿难度CONSENSUS_DIFFICULTY=6;初始温度INITIAL_TEMPERATURE=100;最低温度MIN_TEMPERATURE=0.001;冷却速率COOLING_RATE=0.01;提前结束条件计数器Flag=15。

在整体的系统模型中,IoT设备不断产生区块链的共识任务并加入到集合中。这些任务依据选择的卸载策略被分配到边缘服务器或在本地进行处理,此过程将一直持续直至所有任务完成。该模型允许对不同参数条件下(如上链区块个数、IoT设备与边缘服务器性能、IoT设备数据大小、初始挖矿难度以及选择的卸载算法)的卸载模型性能与卸载过程安全性进行研究分析。

实验过程中评价指标包括共识任务消耗时间、系统能耗、单位时间内的上链区块数量、卸载过程的安全性水平等。对比算法包括:本地卸载(所有任务均在IoT设备本地执行)、随机卸载(所有任务随机卸载到某一边缘服务器执行)、SAPSO算法(一种过基于模拟退火的粒子群优化卸载算法,详见文献[28])。通过调整任务集合中需要上链的区块数量、IoT设备数据的大小、初始挖矿难度、任务对时间和能耗的权重,来评测本文提出的MEOA的性能。

3.2 结果分析

不同情况下,取20轮结果的平均值作为当前条件下的最终结果,分别比较每种算法在不同参数变化条件下的性能表现。

a)当初始挖矿难度适中、上链总区块数不变,且任务对时间和能耗的权重为0.5∶0.5(代表综合型任务),此时改变IoT设备携带的数据大小,算法的性能表现如图5、6所示。

在真实的物联网设备应用场景下,不同种类的IoT设备由于其功能和使用场景的差异,所携带的数据大小也不同[29]。对于区块链的PoW共识过程而言,该取值则会直接影响到共识任务所需的计算量。

如图5、6所示,随着IoT设备携带的数据大小的增加,每个区块所包含的需要上链保护的数据大小也会相应增加,进而直接导致PoW共识过程的计算量增加。

时间方面,本地卸载和随机卸载的时间消耗都随着该数值的增加而迅速增长;SAPSO算法与MEOA的卸载时间消耗则增长缓慢,并且MEOA具有相对更佳的时间性能表现。

能耗方面,本地卸载和随机卸载的能耗也呈现快速增长;SAPSO算法与MEOA的能耗增长则较为缓慢。并且可以看出,虽然MEOA的能耗相对较高,但这是由于MEOA严格遵守了区块链的共识原则,每轮都会选择超过50%的边缘服务器参与竞争挖矿,直到某一个边缘服务器在竞争中胜出。这一行为虽然会产生额外的能耗,但很好地保证了区块链去中心化的安全性,并且MEOA的能耗水平仍保持在优秀的范围内。

b)当上链总区块数、IoT设备数据大小不变,且任务对时间和能耗的权重仍为0.5∶0.5时(代表综合型任务),改变初始挖矿难度的大小,算法的性能表现如图7、8所示。

可见在初始挖矿难度过低或过高的情况下,由于对比的三种算法没有设计挖矿难度的动态调整机制,会始终以一个固定的挖矿难度运行直至结束,所以其能耗和时间都会随着初始挖矿难度的增加而增加,并且当采用本地卸载时,随着挖矿难度的增加,IoT设备显然已无法承受PoW共识过程需要的运算量。

而MEOA由于能够在卸载过程中动态调整挖矿难度,当初始挖矿难度被设置得过高或过低时,算法会在每轮卸载后不断调整挖矿难度,以此来保证PoW共识过程的安全性,所以即使初始挖矿难度不断变化,MEOA的时间和能耗值始终处于相对稳定的水平,并且相比于其他算法仍具有优秀的性能表现;而相比于SAPSO算法,当挖矿难度过大时,能够动态降低挖矿难度,以获得更佳的时间和能耗表现。

值得注意的是,由于区块链的特性,当挖矿难度过低时区块链并没有实际应用意义,所以此时想要窜改整条区块链会变得十分容易,从而失去了区块链的安全性[30]。因此在实际应用中,区块链的挖矿难度应当设置最低阈值,避免因挖矿难度过低而使得共识过程变得不可信。在一般情况下,出于安全性的考虑,初始的挖矿难度设置应当相对偏高,以确保区块链的共识任务始终属于计算密集型任务。

因此,使用MEOA进行卸载决策,能够保持系统安全性与运行效率间的平衡。而随机卸载算法与SAPSO算法虽然在某些挖矿难度下具有更低的时间和能耗表现,但随着挖矿难度不断增加,由于缺少难度值的动态调整机制,共识运算量会不断上升,直至边缘服务器难以承受,无法满足边缘环境下任务的时延需求。

c)当IoT设备数据大小、初始挖矿难度适中,且任务的时间和能耗权重仍为0.5∶0.5(代表综合型任务)时,改变单个任务的上链区块总数,对比在高负载情况下不同算法的性能指标。算法的性能表现如图9、10所示。

如图9所示,即使任务的上链区块数量不断增加,MEOA始终具有优秀的时间性能表现,并且当任务的上链区块总数增加时,任务的总计算量不断增加,MEOA的时间增长也最为缓慢。

如图10所示,当任务的上链区块总数不断增加时,MEOA的能耗增长也非常缓慢,并且相比于本地卸载和随机卸载算法,具有更低的能耗表现。而由于MEOA有更多数量的边缘服务器参与共识竞争,所以相比于未考虑共识竞争的SAPSO算法具有相对更高的能耗,但总体来看仍处于十分优秀的水平。

接着,保持适中的挖矿难度,在其他各项参数均不变的情况下,统计并对比四种卸载算法在单位时间内产生区块的总数量,这反映了各算法完成共识任务卸载的效率,并能够间接反映实际应用场景中,将IoT设备数据上链存储的效率指标。

如图11所示,可以看出MEOA在单位时间内产生的区块数量更多。因此在实际应用场景中,该算法能够以更高的效率将IoT设备的数据上链存储。

接着,假设在系统运行过程中,有攻击者企图控制系统中的设备以窃取或窜改用户数据,本文对四种卸载算法的安全性进行分析,如表3所示。

本地卸载的情况下,系统的数据安全性取决于IoT设备本身,攻击者控制了IoT设备后便可直接获取传感器数据等各项数据。

随机卸载的情况下,由于参与共识和挖矿竞争中胜出的边缘服务器是完全随机、不可预测的,从而具有一定程度的去中心化安全性;但随机卸载的系统运行效率一般,实际应用中难以满足共识任务的时间需求,总体来看并不优秀。

SAPSO卸载算法虽能够以较快的效率和更低的总能耗完成共识任务,产生新的区块上链。但随着算法迭代的次数增加,系统会频繁地选择个别算力较高的边缘服务器来完成共识,这显然在一定程度上违背了区块链的共识原则,极易产生中心化风险。并且攻击者只需针对个别数量的边缘服务器展开攻击,获得其控制权,就能轻易地完成共识进而窜改整条区块链的信息,使得边缘区块链网络丧失其安全性,因此用户的数据无法得到良好的保护。

而MEOA由于其每一轮都会选择超过总数量50%的边缘服务器参与共识竞争,并且会根据共识任务的卸载情况动态地调整挖矿难度,以保持系统运行效率与安全性的平衡。虽然由于参与共识竞争的边缘服务器数量较多从而导致卸载总能耗的上升,但很好地保证了区块链的去中心化安全性,攻击者若想成功窜改或破坏整条区块链,需要至少控制超过50%的边缘服务器数量才有可能在共识竞争中胜出,而实现这种程度的攻击是极为困难且昂贵的。

综合来看,MEOA算法能够在确保区块链系统的去中心化安全性和用户数据安全性的前提下,仍具有优秀的运行效率和成本消耗。因此,MEOA更适用于本文提出的区块链边缘任务卸载模型。

最后,保持其他参数不变,仅调整任务的时间能耗权重分别为:a)0.5∶0.5(综合型任务);b)0.1∶0.9(能耗关键型任务:代表任务要求更低的执行能耗);c)0.9∶0.1(时间关键型任务:代表任务要求更短的执行时间)。同时改变任务的上链区块总数,将三种不同权重类型的任务在使用MEOA下的卸载结果进行对比,如图12所示。

可见当任务的能耗权重高于时间权重时,该卸载策略会牺牲一些时间性能从而取得更好的能耗表现;而当任务的时间权重高于能耗权重时,则会牺牲一些能耗从而取得更好的时间性能表现。因此,认为在该卸载策略下,系统能够对不同权重的卸载任务作出反馈,寻找该权重下最优的卸载策略,并且对比其他算法仍然具有优秀的性能表现。

4 结束语

随着区块链技术的发展,将其应用于IoT设备的数据保护已经成为一种理想的选择。然而,区块链的工作原理需要通过PoW的共识机制来验证和添加新的数据块,这个过程需要消耗大量的计算资源和时间。为了解决这个问题,本文提出了一种面向数据保护的区块链物联网边缘卸载策略。利用边缘计算技术,将PoW共识过程卸载到边缘服务器上执行,以此来解决IoT设备性能不足的问题。接着,设计并实现了一个多目标边缘卸载算法(MEOA),该算法可以在保证数据的安全性和完整性的同时,动态地调整PoW的共识难度,平衡系统安全性与上链效率;并通过找到系统最优的卸载策略,以实现更好的综合性能表现。使用Java语言搭建了一个仿真实验平台,通过深入的理论分析和大量的仿真实验,证明了本文算法不仅能够保证卸载过程的安全性,还具有优秀的性能表现,并且能够满足不同IoT设备对任务执行时间和能耗的不同权重要求。本文的研究为区块链技术在物联网数据保护领域的应用提供了参考,为未来的研究提供了新的视角和思路。

参考文献:

[1]Malik P K, Sharma R, Singh R, et al. Industrial Internet of Things and its applications in Industry 4.0: state of the art[J]. Computer Communications, 2021,166: 125-139.

[2]Atzori L, Iera A, Morabito G. The Internet of Things: a survey[J]. Computer Networks, 2010, 54(15): 2787-2805.

[3]Mao Yuyi, You Changheng, Zhang Jun, et al. A survey on mobile edge computing: the communication perspective[J]. IEEE Communications Surveys & Tutorials, 2017, 19(4): 2322-2358.

[4]Zhao Zhiheng, Lin Peng, Shen Leidi, et al. IoT edge computing-enabled collaborative tracking system for manufacturing resources in industrial park[J]. Advanced Engineering Informatics, 2020, 43: 101044.

[5]Liu Shuai, Guo Chunli, Al-Turjman F, et al. Reliability of response region: a novel mechanism in visual tracking by edge computing for IIoT environments[J]. Mechanical Systems and Signal Proces-sing, 2020, 138: 106537.

[6]Lin Li, Liao Xiaofei, Jin Hai, et al. Computation offloading toward edge computing[J]. Proceedings of the IEEE, 2019, 107(8): 1584-1607.

[7]Cheng Nan, Lyu Feng, Quan Wei, et al. Space/aerial-assisted computing offloading for IoT applications: a learning-based approach[J]. IEEE Journal on Selected Areas in Communications, 2019, 37(5): 1117-1129.

[8]凌雪延, 王鸿, 宋荣方. 多核服务器边缘计算系统中任务卸载调度和功率分配的研究[J].南京邮电大学学报: 自然科学版, 2020, 40(2): 81-88. (Ling Xueyan, Wang Hong, Song Rongfang. Joint task offloading scheduling and transmit power allocation for mobile edge computing systems with multi-core server[J]. Journal of Nanjing University of Posts and Telecommunications: Natural Science Edition, 2020,40(2): 81-88.

[9]薛宁, 霍如, 曾诗钦, 等. 基于DRL的MEC任务卸载与资源调度算法[J]. 北京邮电大学学报, 2019,42(6): 64-69,104. (Xue Ning, Huo Ru, Zeng Shiqin, et al. Tasks offloading and resource scheduling algorithm based on deep reinforcement learning in MEC[J]. Journal of Beijing University of Posts and Telecommunications, 2019,42(6): 64-69,104.)

[10]李沁颖,曹青松. 基于马尔科夫优化的移动边缘计算车载网络任务卸载[J]. 济南大学学报:自然科学版, 2021, 35(6): 545540-545551. (Li Qinyin, Cao Qingsong. Task offloading of mobile edge computing vehicle network based on Markov optimization[J]. Journal of University of Jinan: Science and Technology, 2021, 35(6): 545540-545551.)

[11]Khan M A, Salah K. IoT security: review, blockchain solutions, and open challenges[J]. Future Generation Computer Systems, 2018, 82: 395-411.

[12]Sengupta J, Ruj S, Bit S D. A comprehensive survey on attacks, security issues and blockchain solutions for IoT and IIoT[J]. Journal of Network and Computer Applications, 2020, 149: 102481.

[13]夏艳东,戚荣鑫,季赛. 工业物联网中基于PUFs轻量级的密钥交换协议研究[J]. 计算机应用与软件, 2022,39(3):316-321. (Xia Yandong, Qi Rongxin, Ji Sai. PUFs-baesd lightweight key exchange protocol in IoT[J]. Computer Applications and Software, 2022,39(3):316-321.)

[14]Huang Junqin, Kong Linghe, Chen Guihai, et al. B-IoT: blockchain driven Internet of Things with credit-based consensus mechanism[C]//Proc of the 39th IEEE International Conference on Distributed Computing Systems. Piscataway,NJ: IEEE Press, 2019: 1348-1357.

[15]Saranyah V, Suganthi N. Blockchain application in preserving authenticity and enabling transparency in the approval of loans for the clients in banking system[C]//Proc of the 2nd International Conference on Advancements in Electrical, Electronics, Communication, Computing and Automation. Piscataway,NJ: IEEE Press, 2023: 1-5.

[16]Zhang Fan, Cecchetti E, Croman K, et al. Town crier: an authen-ticated data feed for smart contracts[C]//Proc of the 23rd ACM Conference on Computer and Communications Security. New York: ACM Press, 2016: 270-282.

[17]Al-Sulami Z A, Ramli R. Blockchain adoption in healthcare: mo-dels, challenges, and future work[J]. Journal of Basrah Researches: Sciences, 2023,49(2): 79-93.

[18]Chhina S, Chadhar M, Firmin S, et al. The role of actors in blockchain adoption decisions-an innovation translation perspective[J]. Australasian Journal of Information Systems, 2023, 27:4489.

[19]Zheng Zibin, Xie Shaoan, Dai Hongning, et al. An overview of blockchain technology: architecture, consensus, and future trends[C]//Proc of IEEE International Conference on Big Data. Pisca-taway,NJ: IEEE Press, 2017: 557-564.

[20]Luu L, Narayanan V, Zheng Chaodong, et al. A secure sharding protocol for open blockchains[C]//Proc of the 23rd ACM Conference on Computer and Communications Security. New York: ACM Press, 2016: 17-30.

[21]田雨萌,刘志波,张凯,等. 云边资源协同中的任务卸载技术综述[J].计算机科学与探索,2023,17(10):2325-2342. (Tian Yumeng,Liu Zhibo,Zhang Kai,et al. Survey of task offloading technology in cloud-edge resource collaboration[J]. Journal of Frontiers of Computer Science and Technology,2023,17(10):2325-2342.)

[22]Tan Runti, Zhang Longxin, Ai Minghui, et al. Survey on multiple methods for task offloading in mobile cloud-edge environment[J]. Computer Science and Technology, 2023,2(3): 105.

[23]Wang Dayong, Bakar K B A, Isyaku B. A Survey on IoT task offloa-ding decisions in multi-access edge computing: a decision content perspective[J]. Qubahan Academic Journal, 2023, 3(4): 422-436.

[24]Rafea S A, Jasim A D. AI workload allocation methods for edge-cloud computing: a review[J]. Al-Iraqia Journal for Scientific Enginee-ring Research, 2023,2(4): 115-132.

[25]Liang Junyi, Qi Xuehao, Yang Jinmei, et al. A comprehensive survey on computation offloading using reinforcement learning[C]//Proc of International Conference on Algorithms, High Performance Computing, and Artificial Intelligence. 2023: 405-413.

[26]Tomatsu Y, Han Wenlin. Bitcoin and renewable energy mining: a survey[J]. Blockchains, 2023, 1(2): 90-110.

[27]Imane L, Noureddine M, Driss S, et al. Towards blockchain-integrated enterprise resource planning: a pre-implementation guide[J]. Compu-ters, 2023,13(1): 11.

[28]李立, 王司令, 周洋, 等. 基于边缘计算的无人机协同任务卸载策略研究[J]. 计算机与数字工程, 2023,51(6): 1270-1275. (Li Li, Wang Siling, Zhou Yang, et al. Research on cooperative task offloading strategy of UAV based on edge computing[J]. Computer and Digital Engineering, 2023,51(6):1270-1275.)

[29]Shelke P, Mirajkar R. Role of blockchain technology in Industry 4.0[M]//Industry 4.0 Convergence with AI, IoT, Big Data and Cloud Computing: Fundamentals, Challenges and Applications. 2023: 22-51.

[30]Taparia A, Banu P K N. A survey of blockchain: concepts, applications and challenges[J]. International Journal of Computing Scie-nce and Mathematics, 2023,17(2): 152-165.