本文摘要:摘 要: 提出了一个新型无人机 (Unmanned Aerial Vehicle, UAV) 集群协作监测公共卫生事件的监测框架, 并讨论了该框架中 UAV 执行的任务类型与流程。 针对 UAV 集群通信面临的复杂度高、 资源消耗大以及安全性低等挑战, 引入区块链技术来提升其高效性与安全性, 提出了一
摘 要: 提出了一个新型无人机 (Unmanned Aerial Vehicle, UAV) 集群协作监测公共卫生事件的监测框架, 并讨论了该框架中 UAV 执行的任务类型与流程。 针对 UAV 集群通信面临的复杂度高、 资源消耗大以及安全性低等挑战, 引入区块链技术来提升其高效性与安全性, 提出了一种改进的拜占庭容错 ( Improved Byzantine Fault Tolerant, IBFT) 算法, 该算法具有最小的成本和资源并具备可扩展性和普适性。 在正常情况下使用 f+1 个节点, 在通信故障情况下使用 2f+1 个节点, 而拜占庭容错算法使用 3f+1 个节点。 实验结果表明, 所提算法相比于其他对比算法, 具有更高的吞吐量和更低的共识时延,能有效保证 UAV 集群协作监测紧急公共卫生事件, 为疫情防控提供一种新手段。
关键词: 无人机集群; 区块链; 公共卫生事件; 共识算法; 疫情防控
0 引言
在公共卫生和安全事件突发时期,无人机可以将货物和医疗用品运送到经历疫情爆发的隔离区的特定目标地点,用于快速分发紧急医疗用品、提供个人防护设备、口罩检测、人群疏散和社交距离估计等。 而无人机任务多依赖无人机协作来有效和高效地避免碰撞并实时执行任务,这就要求无人机减少通信的复杂性,并以分散的方式进行控制。 无人机之间的协作是信息交换、任务共享、相互学习和适应的过程。 在物联网、人工智能和边缘计算等技术的支持下,多架无人机可以协同作业实现它们之间的复杂互动。 同时,大规模无人机集群也面临着一些挑战,包括无人机网络架构、无人机监管、网络分区、可扩展性、时间、安全和能源效率[ 1]。 在无人机网络架构中,集中式作业易受到单个无人机故障的影响,而分布式作业则易受到缺乏网络中所有无人机信息的影响。
在中心化的情况下,无人机执行任务时做出的决策需要耗费较长的时间来控制整个集群,这会导致响应延迟,进而引起无人机碰撞。目前无人机集群协作面临的问题包括通信复杂度高、响应时间长以及安全性低等,而区块链被部分学者认为是解决这类关于集群通信安全与信息共享问题的有效技术[ 2- 4]。 区块链技术起源于比特币,以时间次序为依据构建区块并组合成链式数据结构,采用密 码 学 算 法 保 证 节 点 间 信 息 传 输 的 安 全性[ 5]。 其中,区块链去中心化的特征有助于改善无人机系统的网络性能,提高系统的安全性与服务质量,并减少任务执行时间。
区块链技术确保了数据的安全性与准确性,提高了集群中无人机间的信息透明度,但仍存在可扩展性低、计算资源要求高和通信成本高等问题[ 6]。大多数非授权共识算法具有较高的可扩展性,但存在共识时延高、吞吐量有限以及耗电高等问题。 而授权共识算法如实用拜占庭容错 ( Practical Byzantine Fault Tolerant,PBFT) 算法,具有较高的吞吐量和较低的共识时延,但不具备可扩展性。 在一个适用于无人机集群的区块链网络中,无人机作为网络中的节点,彼此之间相互通信并传输请求以达成共识,该网络的可扩展性由网络在节点增加的情况下可处理的额外请求数量决定。 若能够减少该网络在完成一个请求时所使用的节点数,与使用更多节点数的网络相比,该网络就可通过增加少量的节点来处理更多的请求,由此提高了网络的可扩展性。
此外,更多的节点需要更多的信息传输,随着网络故障节点数的增加,通信需求的增加会导致更多的资源消耗,进一步地影响网络的可扩展性。 因此,需要对现有共识算法进行改进,以达到在较多故障节点存在的情 况 下 也 具 备 可 扩 展 性 并 达 到 节 约 资 源 的目的。本文以紧急公共卫生事件为背景,探索将无人机技术应用于此类事件的解决方案,讨论了其在监测公共卫生事件发展中的各项应用。 此外,针对无人机集中式网络架构中易发生单点故障、分布式网络架构中单个无人机缺乏全局信息的问题,提出基于区块链技术构建无人机网络,以帮助无人机集群实现协作过程中的信息共享与决策执行。 最后,为解决现有共识算法存在可扩展性低及资源耗费巨大的问题,本文基于实用拜占庭算法,提出一种适用于无人机集群的改进拜占庭容错( Improved ByzantineFault Tolerant,IBFT)算法。 该算法通过使用聚合技术和减少参与共识过程的节点数量,降低了共识过程的通信复杂度和资源开销。
1 相关工作
1. 1 无人机集群控制架构
无人机集群控制架构可分为集中式、分布式和集散式。 其中集中式模式是目前最常用的架构,对无人机数据传输链路的带宽、速率及可靠性有很高的要求[ 7],且此类架构通常使用单个或多个控制中心管理集群。 分布式架构则对集群中无人机间的协同能力具有较高的要求。 无人机协同可分为简单分布式协同、群体智能协同及多智能体协同 3 个发展阶段[ 8]。 各阶段的差异主要体现在无人机集群中各个节点所具备的主动感知能力和对周围环境的感知能力,其随各阶段的进步不断提高,在多智能体协同阶段,每个无人机节点为一个拥有高度独立性的智能体,具备高级智能处理能力,能实现高效的主动感知和决策。 集散式架构则同时具有前 2 种架构的优势,联系分布式与集中式,结合自治与协作 2 种管理策略,实现集群整体管控的目的。
1. 2 区块链
区块链起源于比特币,是一种分布式架构,其组织形式分为公共链、联盟链和私有链 3 种,具有不可篡改、可溯源、公开透明、去中心化和安全等特点。同时,区块链也被认为是一种分布式账本,在网络中的参与者之间共享,每个参与者都持有同一账本的副本。 一旦数据被追加到账本上,任何人都不能改变它。 其核心技术主要有非对称加密、共识机制和智能合约等。 其中,共识机制允许网络中的节点信任其他节 点,决 定 了 可 伸 缩 性、交 易 速 度、交 易 完成性和安全性等关键性能特征和电力等资源的消耗。 在分布式系统或分散网络中共识机制指的是那些允许节 点 或 智 能 代 理 在 需 要 时 就 某 些 值、事务或参数达成协议的算法。 其中,PoW 是一种终端为了系统所做工作的数学化度量方法,它代表了参与节点对整体网络所做贡献的量化证明[ 9]。
在比特币系统中,矿工间相互竞争,通过计算并解决一个生成哈希输出的密码学难题,在现有的区块链中增加一个新的区块。 该证明机制的特征是利用哈希运算的复杂度,由区块链系统事先确定节点的运算(挖矿) 难度,然后采用竞争机制以确定唯一的合法矿工,矿工和验证节点所做的工作量存在不对称性。 PoW 机制存在一些不足,首先 PoW 机制的一个重要前提是节点和算力的均匀分布,然而随着硬件设备的升级,节点数和算力值逐渐失去了平衡的状态。 其次,PoW 机制会对资源(如电力)产生大量的浪费。 为了解决 PoW 机制存在的问题,提出了 PoS 机制,用随机选择过程取代了计算工作,将节点成功挖矿的机会与其财富成比例地相关,即节点生成一个区块的概率取决于其在网络中持有的股权。 这种方法会加快区块链的增长速度, 并 且 对 电 力 的 消 耗 也 更 低, 此 外 也 有 减 少51%攻击的可能性[ 10- 11]。
但同时,该机制也使得区块链网络呈现中心化倾向,降低了普通节点的参与度。 DPoS 机制是为了解决 PoW 和 PoS 机制的不足而提出的。 DPoS 机制在 PoS 机制的基础上增加了投票过程,网络中的每个节点通过投票来选举参与验证的代表节点,由代表节点完成区块验证和记账。该算法也被描述为股东投票共识方案,因为网络中的每一个成员都可以决定谁可以被信任,验证权不会集中在拥有最多资源的成员身上,属于弱中心化。而 PBFT 技术[ 12] 来源于拜占庭将军问题,即如何在叛变节点存在的情况下,使得正常节点对网络状态形成共识,通常运用于联盟链中。
在区块链中体现为少量不可靠或潜在的恶意节点没有破环区块或交易验证的能力。 PBFT 算法是第一个允许以低开销实现拜占庭算法并得以在实际系统中应用的方法,是一种授权共识算法,即在节点需要进行身份认证后才准入的网络中运行的分布式一致性算法。 在无人机集群中,所有无人机节点均是经过身份验证后才被准许加入集群,且有可能存在被攻击并向其他节点传输错误信息的故障节点,这使得拜占庭容错共识算法适用于无人机集群通信问题。 此外,PBFT相较于其他的共识机制没有确认环节且不需要进行挖矿,所以具有资源消耗低、延迟低以及吞吐量高的优点。 但该算法需要至少 2 / 3 的网络节点行为诚实,并且随着网络规模的增加,信息开销可能会大幅增加,影响区块链的速度和扩展性。
2 基于无人机的公共卫生事件监测框架
2. 1 无人机集群协作的公共卫生事件监测流程
为达到利用无人机集群监测公共卫生事件的目的,无人机将配备多种传感器与智能设备用于捕获数据并执行不同的任务,包括口罩检测、体温检测、社会距离估计、实施封锁、发布公告、供应应急设备、患者样本收集、货物运输和消毒[ 13]。 其中,用于执行口罩检测、体温检测和社会距离估计等任务的监测无人机通常配备高分辨率摄像头和热成像仪。 无人机对特定任务区域进行扫描,当识别到个体时,首先判断是否为人群聚集,如果是,则转入社会距离估计阶段;否则,转入口罩检测阶段。 在社会距离估计阶段,若有个体间的距离超过了代表安全距离的阈值,则无人机将会对其发出警告,并向相关人员发送通知。 在口罩检测阶段,若无人机识别到个体已佩戴口罩,则转入体温检测阶段,若未佩戴口罩,则上传该个体信息至控制单元,并调度运输无人机配送口罩。 在体温检测阶段,若个体体温高于设定的阈值,无人机将向控制单元上报目标个体的基本信息,再由控制单元将信息更新至区块链。 最后,智能合约将通知相关人员对该个体实施隔离,并由消毒无人机进行区域消毒,运输无人机供应所需应急设备(如氧气瓶) 。
2. 2 基于无人机的公共卫生事件监测框架
本文提出一个无人机辅助的公共卫生事件监测框架,基于区块链技术,多架无人机可以组成一个无人机集群并执行复杂的任务,实现实时互动、分析和处理。无人机集群需要与控制单元连接,以发送采集的数据、无人机的事件状态和接收控制单元下达的指令。 控制单元可以与无人机进行交互,主要负责接收数据并发送到区块链网络,向无人机下达指令以控制无人机的行为。
去中心化的区块链网络用于存储和验证数据,以及对这些数据进行完整性保护,包括无人机收集的数据、来自控制单元的命令等。区块链网络以分布式方法完成数据的存储并维护其稳定性,实现共享数据并分散以实时执行决策。 这种附加区块链技术的形式有助于集群中的无人机协作,以完成数据收集和响应控制单元的指令,从而完成公共卫生事件的监测。从认知与决策层面来看,无人机集群包括 2 种类型的无人机:主无人机和从无人机。 其中,主无人机具备一定的主动感知与决策能力,并且可与控制单元和其他主无人机进行信息交换,进而管控其所属子集群内的从无人机。 而从无人机不具备 主 动感知能力,仅 能 根 据 控 制 单 元 和 主 无 人 机 下 发 的指令执行相 应 的 任 务,收 集 信 息 并 上 传 到 区 块 链模块中[ 14]。
从用途的角度分析,无人机集群包括2 种类型的无人机:监测无人机和运输无人机。 监测无人机的任务包括口罩检测、温度监测、社会距离估计、发 布 公 告 和 实 行 封 锁 等。 而 运 输 无 人 机则用于保持在隔离 区 或 偏 远 地 区 ( 如 农 村) 附 近,通过执行各 种 任 务 来 协 助 这 类 区 域 中 的 个 体,其主要任务包 括 食 品 运 送、药 品 运 送 以 及 实 施 消 毒措施等[ 15]。控制单元由地面控制基站和服务器组成。 其中,地面控制基站是无人机集群传统意义上的指挥中心,负责维护通信链路的正常运作,支持对无人机进行远程控制与监测,并操作无人机携带的各种有效载荷。 服务器包括云服务器、雾服务器和边缘服务器 3 种,相应地构成一个云网络、雾网络以及边缘网络,与地面控制基站共同负责接收和处理来自无人机的数据。 其中云网络为创建模式识别、监测、决策和大规模消毒等活动提供应用程序级别的服务,与其他层相比,高端云计算资源提供了全面的分析和决策能力[ 16]。 雾网络则用于做出初始阶段的决策。 边缘网络利用边缘计算进行数据建模和初步决策以提高服务质量,在节省了时间和资源的同时,也保证了数据收集、预处理和分析的实时性,有助于无人机做出快速的实时决策[ 17]。
随着传感器、物联网和无人机网络可扩展性的增加,将数据传输到雾服务器的成本也在增加。 边缘计算通过在初始层面进行数据聚合,并在需要时将必要的数据传输到雾或云网络,从而减轻其负荷[ 18]。区块链模块主要用于提供安全的数据管理,在多无人机协作过程中执行任务分配、调度等,其具体网络结构。 小型无人机集群作为组织参与到该网络中,并且根据任务的需求,各个组织将加入到不同的联盟中。 主无人机作为组织中的对等节点加入该区块链网络,且同一通道中的所有主无人机均拥有一份帐本副本。 这种多副本的形式可以有效地避免无人机碰撞,及由单个节点故障所引发的任务失败。
与主无人机不同,从无人机担任区块链网络中的用户,仅能通过访问区块链客户端来间接访问帐本和智能合约。 此外,控制单元将加入每个联盟并以管理员的身份对各个子集群进行实时监测,因此该控制单元同时参与了多个通道并部署着多份帐本和智能合约。处于同一联盟内的节点利用通道进行交流并完成业务隔离,各个联盟和通道利用跨链通道完成通信。 其中,通道不是实际存在的,是由物理对等节点集合形成的逻辑结构,它允许一组特定的对等节点和应用程序在区块链网络中相互通信。 且由某通道维护的帐本和智能合约仅允许加入该通道的组织和联盟访问,是所提联盟区块链网络的 2 个核心组成部分。
其中,帐本记录着公共卫生事件相关数据与无人机集群搜集到的所有信息,包括监测到的人群社交距离、个体是否佩戴口罩以及个体温度等信息。智能合约用于保证网络节点间的数据共享以及协同决策。 同时,为保证信息在网络中不同节点上的一致性,增加网络的可扩展性,共识算法的选择是至关重要的。 考虑到无人机电池容量有限,且任务执行期间无法充电等限制,如何减少资源消耗是达成信息共识需要解决的难题之一。 其次,为保证无人机高效地协作以执行任务并避免碰撞,缩短节点间的通信时间也是必要的。 为解决上述难题,本文基于PBFT 算法,提出了一种适用于无人机集群的 IBFT算法,并将其运用于所提公共卫生事件监测框架的区块链模块。
3 支持去中心化的无人机集群共识算法
为解决无人机集群通信过程中存在的复杂度高、资源消耗大等问题,避免区块链网络受到攻击导致共 识 失 败, 本 文 基 于 PBFT 算 法, 提 出 了 一 种IBFT 算法, 进 一 步 提 高 无 人 机 集 群 的 共 识 效 率。PBFT 算法通过节点间的相互通信来解决拜占庭容错问题,节点间的两两交互使得其通信复杂度高达O( n2) ,其核心思想为 n≥3f + 1。
其中,n 为网络中的总节点数,f 为允许出现故障的节点数,即网络中的失效节点数不能超过总节点数的 1 / 3。 同时,为使信息在网络节点间同步,PBFT 算法包含有预准备、准备和确认 3 个阶段,且在确认阶段主节点需要等待收到至少 2f+1 个节点的确认。 因此,PBFT 算法需要使用至少 3f+ 1 个节点以达成网络中的信息共识。考虑到在任务执行期间,并不是集群中的所有无人机都处于活跃状态,可能存在部分无人机处于充电或休眠状态。 根据无人机集群的特点以及需求,将无人机区块链网络中除了主节点以外的节点分为 2 部分,分别为 f+ 1 个主动节点和 f 个被动节点。
其中主动节点指正在执行任务的无人机,被动节点指没有执行任务处于休眠状态的无人机。 正常情况下,仅有主动节点执行客户端下发的任务,而其余的被动节点不参与订单处理或执行请求,但在任务执行期间被动节点由主节点管理,以根据系统的当前状态更新其自身状态。 故障发生的情况下,上述被动节点将会通过协议切换成为主动节点,并与早期的主动节点一起执行所有操作以容忍故障。 由此,该分布式区块链网络可以通过使用 2f+1 个节点数来容忍最大 f 个节点故障。 在该网络中,控制单元承担着主节点的职责,作为客户端和网络中无人机节点之间的一个中间节点。 主节点不参与请求的执行和操作,仅负责验证客户端的请求,并将任务分发给节点,然后将执行结果从节点转发至客户端,同时向所有节点提供状态更新信息。
综上,所提 IBFT算法主要从 2 个方面对拜占庭容错算法进行改进,首先是减少参与共识过程的节点数量以增加网络的可扩展性,其次是使用聚合技术降低集群中无人机的通信复杂度,以达到提高网络吞吐量、减少无人机电力消耗和共识时延的目的。具体地,所提 IBFT 算法在正常情况下仅使用f+1 个节点数,在故障情况下使用 2f + 1 个节点数。与 PBFT 算 法 相 比, IBFT 算 法 将 使 用 的 节 点 数 从3f+1 降低至最低 f + 1。 此外,由于在 PBFT 算法的共识过程中,消息的传输通过节点间两两交互完成,算法的复杂度为 O( n2) 。 而 IBFT 算法使用聚合技术,节点间的信息共享通过主节点转发完成,将通信复杂度从 O( n2) 降低至 O( n) 。
可以看出,所提 IBFT 算法共包含4 个阶段。 首先,从无人机在指定区域进行侦察并收集各种数据,一旦发现异常情况,如检测到个体未佩戴口罩,将通过区块链客户端向主节点发起请求;主节点在收到请求后将根据目标个体状态和实时形势进行决策,并通过智能合约事件将任务分配给指定的主动节点;然后,主动节点执行指定任务并将任务结果发送至主节点;主节点为确保各节点达成共识,将在收到所有结果后检查其一致性,若结果不一致,则表示发生了拜占庭故障,反之主节点会将结果返回至客户端和网络中的所有节点,并更新帐本副本。在通信过程中也可能会发生一些问题导致任务执行的中断,如网络链接断开和服务器无法访问等,这可能会导致节点之间信息交流的缺失[ 19]。 因此,所有节点包括主节点都包含一个日志文件,以存储它们处理请求的历史信息。
日志文件中的一些条目必须保持到相关信息被至少 f+1 个相应的节点执行且被主节点或其他节点验证以保持安全性。 当主动节点执行客户端的请求或向被动节点发送状态更新消息时,会到达一个检查点,此时主节点向所有主动和被动节点发送一个当前状态消息。 当共识过程中发生拜占庭故障时,即主节点无法从任何主动节点获取结果或者获取到不一致的错误结果,主节点将发起协议转换。 首先,系统中的所有节点都将停止正在进行的共识提案;然后,所有主动节点将提供最新的检查点状态,主节点收到后将创建一个协议历史,该历史包含一个等价的检查点集合;最后,主节点将该协议历史广播至所有的节点进行验证以生成新的区块。
4 实验及结果分析
4. 1 实验设置
本文实验模拟无人机集群协作执行消毒消杀任务的场景,该集群包含 50 架无人机,分别为主动无人机和被动无人机。 相应地,本文实验在 Intel( R)Core( TM) i6@ 2. 3 GHz 处理器、12 GB 内存的服务器上进行,使用 docker 容器构建虚拟无人机节点,基于 Hyperledger Fabric 搭建区块链网络,使用组织对节点进行分组,并实现所提的 IBFT 算法以及对比算法 PBFT 和 FastBFT[ 20]。 由 于 PBFT 和 FastBFT算法不对节点进行分组操作,因此网络使用这 2 个算法时仅设置一个组织。
而对于所提 IBFT 算法,将在网络中设置 2 个组织:主动节点组织和被动节点组织。 考虑到无人机装载消毒液容量相对于喷洒车等交通载具而言较少,且无人机喷洒范围集中、周期短,在任务期间指定的一个无人机通常只对固定的小范围区域进行消毒。 在本实验中假设无人机数量最高可达 50,将吞吐量和共识时延作为测试指标,以此验证所提算法用于无人机集群协作监测公共卫生事件场景中的优势。 其中,吞吐量被定义为网络每秒钟处理的请求数,共识时延指网络中的所有节点针对一个请求达成共识所花费的时间。
5 结束语
本文旨在公共卫生事件突发时期,利用无人机和区块链技术在一定程度上降低接触风险,并实时监测事态发展,二者的结合在改善紧急公共卫生事件的早期诊断和监测方面发挥了重要作用。 区块链作为解决分布式系统中存在的安全性低、通信成本高等问题的有效技术手段,与无人机集群要求通信成本低、资源消耗少、安全性高且以分布式方式部署的需求相契合。 且在区块链网络中,共识算法的选择是至关重要的,是保证网络安全以及信息一致性的决定性因素。
为监测紧急突发公共卫生事件,本文首先介绍了无人机集群在该场景下的各项任务类型与监测流程,进一步地针对无人机辅助监测紧急公共卫生事件提出一个解决框架并对其组成模块进行详实的分析。 其次,提出了一种 IBFT 算法,以支持去中心化的无人机集群协作,能在使用更少节点数的同时提供更高的可扩展性和提升算法性能。 实验结果表明,所提算法能够较好地契合无人机集群协作监测紧急公共卫生事件的需求。 未来,将考虑结合新兴技术,如人工智能和智能物联网等,辅助对抗可能出现的新发紧急公共卫生与安全事件。
参考文献:
[1] ALSAMHI S H,LEE B,GUIZANI M,et al. Blockchain forDecentralized Multi-drone to Combat COVID-19 and Future Pandemics:Framework and Proposed Solutions [ J] .Transactions on Emerging Telecommunications Technologies,2021,32(9) :1-19.
[2] DORIGO M. Blockchain Technology for Robot Swarms:AShared Knowledge and Reputation Management System forCollective Estimation [ C] ∥2018 Springer 11th International Conference on Swarm Intelligence. Berlin:Springer,2018:1-14.
[3] STROBEL V,FERRER E C,DORIGO M. Managing Byzantine Robots via Blockchain Technology in a Swarm Robotics Collective Decision Making Scenario [ C ] ∥2018ACM 17th International Conference on AutonomousAgents and MultiAgent Systems. New York:ACM,2018:541-549.
[4] RANA T,SHANKAR A,SULTAN M K,et al. An Intelligent Approach for UAV and Drone Privacy Security UsingBlockchain Methodology[C]∥2019 9th International Conference on Cloud Computing, Data Science & Engineering. Noida:IEEE,2019:162-167
选自:专刊:智能任务规划 2022 年 无线电工程 第 52 卷 第 7 期
作者信息:翁越男1, 魏小平2, 刘 洋3, 韩 楠1, 魏盛杰4∗, 刘 雯5, 林羽丰1, 乔少杰1(1. 成都信息工程大学 软件工程学院, 四川 成都 610225;2. 四川数辰科技有限公司, 四川 成都 610095;3. 成都携恩科技有限公司, 四川 成都 610041;4. 四川音乐学院 数字媒体艺术四川省重点实验室, 四川 成都 610021;5. 四川省大数据中心, 四川 成都 610096)
转载请注明来自发表学术论文网:http://www.fbxslw.com/jjlw/30401.html