基于区块链的频谱设备网络中防御拜占庭攻击的分布式共识机制

2020-04-06 08:24杨健陈曦丁国如赵杭生张林元孙佳琛
通信学报 2020年3期
关键词:频谱共识分布式

杨健,陈曦,丁国如,赵杭生,张林元,孙佳琛

(1.国防科技大学第六十三研究所,江苏 南京 210007;2.南京理工大学机械工程学院,江苏 南京 210094;3.陆军工程大学通信工程学院,江苏 南京 210007;4.南京邮电大学通信与信息工程学院,江苏 南京 210003;5.江南计算技术研究所,江苏 无锡 214146)

1 引言

移动互联网和物联网的蓬勃发展进一步加剧了频谱资源紧缺的现状[1-2],频谱共享被广泛认为是一种近期可实现的缓解频谱资源紧缺现状的有效途径[3]。随着移动通信网络向更高频段寻求可用频谱资源的拓展[4],物联网的网络节点和设备越来越呈现出超密集部署的趋势[5],频谱共享需要在更精准的时间划分、更宽的频谱范围、更细粒度的地理区域及更精准的功率控制上实现[6]。这种更加精确的频谱共享一方面需要更长时间、更宽频谱及更广地理范围的频谱数据支撑,另一方面需要进一步提高频谱数据在时域、频域、空域的分辨率以满足更精确的频谱共享需求。

然而,当前频谱数据采集与频谱策略推理的分离使精确频谱共享无法实现。频谱使用设备并不“了解”所在区域的电磁环境状况,只能按照既定的方案使用频谱资源;频谱管理机构集中管理频谱监测设备,得到离散的、碎片化的、稀疏的频谱数据,但频谱使用设备缺乏获取这些频谱数据的渠道,因此,精确的频谱共享一方面需要整合频谱使用设备和频谱监测设备,打通频谱数据的沟通渠道;另一方面需要促使海量具有频谱感知功能的频谱设备加入,拓展频谱数据在时域、频域、空域上的覆盖率,提高频谱数据在时域、频域、空域的分辨率水平,支撑频谱共享以更精确的方式实现。

区块链技术的出现为实现更高效的动态频谱管理提供了可能。区块链是一种公共分类账,按时间顺序记录所有交易,通过共识机制确保交易记录的不可篡改性。普遍认为,区块链技术可以帮助动态频谱管理改进安全性和提供激励机制,从而达到更有效的动态频谱管理[7-9]。美国联邦通信委员会(FCC,Federal Communications Commission)的发言人Rosenworcel 在2018 移动世界大会上的演讲中说到,基于区块链的动态频谱共享将是6G 迈向太赫兹频率的关键技术,通过分布式数据库支持频谱共享接入,降低系统管理开销的同时提升频谱效率[10]。此外,文献[11]引入了区块链作为安全分类账来记录由授权用户发起的频谱拍卖信息,所有用户参与频谱交易的验证和维护。文献[12]基于区块链提出了一种安全的协作频谱感知动态频谱接入系统,通过协作频谱感知探索频谱接入机会,通过频谱拍卖分配频谱接入机会,并将所有频谱拍卖信息安全地存储在区块链中。上述工作均采用公有的区块链架构,所有用户参与区块链维护,有的虽然采用智能合约激励次级用户执行高效、有序的频谱感知[13],但仍需网内所有用户参与共识,有的通过云与边缘计算结合的网络结构完成挖矿[14-15],降低了区块链中挖矿的能耗,但本质上仍是类似于比特币系统的工作性证明共识机制,共识结果是有分叉的和概率性的。因此,安全、高效的共识机制设计是基于区块链的频谱共享中的开放性课题。

文献[16]提出集成频谱使用设备和频谱监测设备,构成基于云的频谱设备网络,使频谱监测设备获取的频谱数据能够直接用于指导频谱使用设备以恰当的方式使用频谱资源。然而,专业化的频谱监测设备价格高、数量少,日常监测往往只能得到频域上不连续、时域上碎片化、空域上稀疏的频谱数据,难以实现对时域、频域、空域的充分覆盖,无法为精确的频谱共享提供足够的频谱状态信息支撑。

幸运的是,随着个人无线设备(如智能手机、平板电脑、车载无线设备等)智能化水平的提高,越来越多的传感器被配置到个人无线设备上,使个人无线设备具备了可观的频谱感知能力[17]。如果能够促使海量的个人无线设备加入频谱设备网络,将大大提高时域、频域、空域的频谱数据覆盖水平[18]。然而,海量个人无线设备加入频谱设备网络,以充分覆盖时域、频域、空域的海量频谱数据为精确频谱共享提供支撑时,会带来很多新的问题。首先,基于云的集中式网络结构不再适用于管理海量的个人无线设备。海量个人无线设备的数据交互将产生巨大的时延,数据同步将导致过于复杂的处理架构和帧结构,因此,采用分布式的网络结构和异步的处理架构将是频谱设备网络管理海量个人无线设备的必然选择。然后,频谱数据的采集和共享均需消耗个人无线设备的能量。由于采用电池供电,个人无线设备一般对能量消耗敏感,因此,需要设计专门的激励机制,激励个人无线设备将有限的能量投入近似于“公益”的频谱数据采集中。最后,分布式的网络结构和异步的处理架构往往要求开放的数据处理与融合方式。在激励机制的驱动下,少数恶意的个人无线设备倾向于通过伪造的频谱数据“牟取”不当利益,因此,必须针对恶意个人无线设备伪造频谱数据(SSDF,spectrum sensing data falsification)的拜占庭攻击设计防御机制,确保频谱数据的质量。

针对以上问题,本文提出了一种基于区块链的分布式频谱设备网络架构,设计了一种防御恶意用户伪造频谱数据拜占庭攻击的共识机制,使频谱数据能够被频谱设备网络更广泛地收集,更高效、更安全地存储和流通,以支撑精确频谱共享的实现。本文创新点主要体现在以下3 个方面。

1)提出一种云计算与边缘计算结合的分布式频谱设备网络结构,集成海量个人无线设备构成频谱设备网络。个人无线设备同时作为频谱使用设备和频谱感知设备,频谱管理服务器在频谱设备网络云端发布频谱感知任务、回收频谱数据、发放任务奖励。个人无线设备与移动基站在频谱设备网络边缘采集频谱数据、验证频谱数据、将频谱区块添加至频谱区块链,支撑频谱数据更高效地存储和流通。

2)定义“频谱币”作为专门的数字货币,用于激励个人无线设备采集频谱数据,频谱币在频谱设备网络中发行和流通,可用于购买额外的频谱使用权、流量和带宽,支撑频谱数据更广泛地收集。

3)面向恶意用户伪造频谱数据的拜占庭攻击,提出一种分布式共识机制,通过感知节点间共识融合、验证节点间共识验证、簇头节点间共识确认这3 个共识过程剔除伪造频谱数据并添加至频谱区块链,仿真结果证明了该共识机制防御SSDF 拜占庭攻击的有效性和稳健性,支撑频谱数据更加安全地存储和流通。

2 基于区块链的频谱设备网络

2.1 区块链及其关键技术

区块链是一种公共分类账,它按时间顺序记录所有交易,通过共识机制确保交易记录的不可篡改性,其特点包括不可篡改性、去中心化、永久性和匿名性。该公共分类账记录了网络节点之间发生的每笔交易的细节,而不涉及任何可信的中心节点,所有相关节点的分类账副本是同步的,从而降低了系统因故障而宕机的风险[19]。驱动区块链运行的关键技术主要有以下几种。

去中心化存储。区块链以去中心化的方式在不同物理地址的多个网络节点进行数据的共享与同步,且区块链网络的相关节点均拥有完整的区块链数据副本,各节点依靠共识机制独立对等地保证存储数据的一致性,也通过去中心化存储来确保区块链数据的安全性,即只有得到区块链网络中大多数节点的共识才能实现对已有数据的篡改,即“51%攻击”。

非对称加密。区块链采用哈希算法和非对称加密来确保区块链数据的完整性和数据的安全传输。哈希算法用于产生区块链中各个区块的头信息,并通过在区块头中包括的前一区块的头信息实现区块之间的连接,同时通过Merkle 树对区块中的具体数据进行结构化组织并将概要信息存入区块头。节点通过私钥加密的数字钱包(类似于银行账户)来进行交易,节点可通过私钥生成签名访问自己的数字钱包并认证交易,而对应的公钥作为地址公布在网络上。

共识机制。共识机制用于解决分布式系统的一致性问题,在中本聪的比特币系统中,区块链采用一种称为“工作性证明”的共识机制进行状态更新。节点(矿工)通过大量计算竞争在10 min 内找到小于目标区块哈希值的目标值来获得对目标区块的记账权,一旦某个节点找到该目标值,就将其在网络中公开,其他节点通过签名来验证该目标值,通过这种方式在互不信任的节点之间达成共识[20]。随着区块链技术的发展,目前区块链系统可分为公有链、私有链和联盟链,同时也衍生出实用拜占庭容错(PBFT,practical Byzantine fault tolerance)、工作性证明(PoW,power of work)、权益证明(PoS,power of stake)等多种共识机制[21]。

智能合约。智能合约是以数字形式定义的一组承诺,以及履行这些承诺的协议。区块链网络为智能合约提供了可信的执行环境,区块链的智能合约是一段代码,一旦某个事件触发智能合约中的条款,代码就自动执行,不需要依赖第三方或中心化机构,这极大地提高了执行效率和准确性。

2.2 频谱设备网络

集成智能手机、平板电脑、智慧家居设备、车载无线设备等异构的个人无线设备,海量的个人无线设备融合后并没有产生中心控制节点,而是形成了分布式的网络结构。频谱设备网络通过云计算与边缘计算相结合的方式降低频谱数据的传输时延和数据传输能耗,频谱管理服务器、移动基站、个人无线设备形成三级的频谱设备网络结构,如图1所示。频谱设备网络包含多个频谱管理服务器,按区域管理频谱设备网络,频谱管理服务器部署在云端,负责发布频谱感知任务和提出任务要求;移动基站部署在频谱设备网络边缘,直接与个人无线设备进行数据交互;个人无线设备是频谱设备网络的末端,既是频谱使用设备,也是频谱感知设备,个人无线设备通过贡献频谱数据获得频谱币,可用来购买额外的频谱使用权、流量和带宽。

图1 云计算与边缘计算结合的分布式频谱设备网络架构

由于本文涉及较多节点类型,为便于读者理解,简要介绍如下。

1)感知节点:个人无线设备在执行频谱管理服务器发布的频谱数据采集任务时,被称为感知节点。

2)簇头节点:若干个人无线设备以簇的形式共同执行频谱管理服务器发布的频谱数据采集任务时,领导该任务完成的个人无线设备被称为簇头节点。

3)验证节点:个人无线设备通过分布式共识验证频谱子区块是否符合频谱数据采集任务要求时,被称为验证节点。

2.3 频谱区块的添加

如图2 所示,从个人无线设备采集频谱数据,到形成频谱区块,并添加到频谱区块链中,历经4 个步骤,详述如下。

步骤1频谱管理服务器发布频谱数据采集任务,感知节点采集频谱数据。

频谱管理服务器部署在频谱设备网络云端,定期发布频谱数据采集任务,提出包括采集时间要求、频段范围限制、地理区域限定等的频谱数据采集任务要求,频谱数据采集任务对频谱设备网络中所有服务器和节点可见。在频谱管理服务器发布频谱数据采集任务的同时,频谱设备网络自动产生并预存相应的频谱币作为频谱数据采集任务的完成奖励。

分布式部署的个人无线设备根据自身的行动计划、电池电量、地理位置决定是否响应频谱数据采集任务。响应任务的个人无线设备数量与任务规定的地理区域有关,如果任务限定在无人的沙漠或者戈壁,可能没有设备响应任务,则频谱数据采集任务失效;如果任务限定在偏僻的远郊,可能只有寥寥数台设备响应任务;如果任务限定在繁华的城区,可能有数十台甚至上百台个人无线设备响应任务,这些个人无线设备自发地形成若干个簇,每个簇包含一个簇头节点和若干感知节点,感知节点在簇头节点的领导下采集频谱数据,并对所采集的频谱数据进行分布式共识,形成一致的频谱子区块。

图2 个人无线设备采集频谱数据、形成频谱数据、添加到频谱区块链的过程按步骤划分区域

在基于区块链的众包、群智感知等应用中,簇的形成和簇头节点的选取受到研究者们的关注。文献[22]根据历史数据共享结果为节点评分,簇内得分最高的节点成为簇头节点;文献[23]设计了一种基于信誉值的簇头节点选取机制,根据数据共享质量为节点赋予信誉值;文献[24]利用模糊理论选取簇头节点,根据地理位置、服务能力计算节点与感知任务的匹配程度,匹配程度最高的节点成为簇头节点。簇头节点的选取和簇的形成是保证频谱数据采集效率和准确性的关键环节,本文根据地理位置以及与感知任务的匹配程度进行簇头节点的选取和簇的形成[25]。假设感知节点A 发现频谱管理服务器发布的频谱数据采集任务后,在任务规定预设的最少簇内节点数量和最多簇内节点数量之间随机确定一个数值(假设为Nc)作为簇内节点数量,然后,感知节点A 向周围广播邀请信息(CFD,cluster formation demand),邀请其他感知节点加入簇,共同完成频谱数据采集任务,其中,CFD 包括频谱数据采集任务要求和簇内节点数量。可能有多个感知节点同时向周围广播CFD,假设感知节点B 收到了多个感知节点广播的CFD,则感知节点B 按照接收信号功率对CFD 排序,向队列中具有最大接收信号功率的感知节点(假设为感知节点A)发送加入回复信息(CFR,cluster formation reply)。当感知节点A 收到CFR 时,将对CFR 计数,按照接收信号功率对感知节点排序,向队列中的前Nc个感知节点发送加入确认信息(CFA,cluster formation acknowledgement),并向队列中的其他感知节点发送加入拒绝信息(CFN,cluster formation non-acknowledgement)。若感知节点B 收到CFA,则加入该簇;若感知节点B 收到CFN,则不加入该簇。当频谱数据采集任务规定的簇形成时间截止时,符合频谱数据采集任务要求(如簇内节点数量)的簇执行频谱数据采集任务,与频谱数据采集任务中心地理位置匹配程度最高的感知节点成为各个簇的簇头节点。

簇头节点下载距离最近的边缘服务器(移动基站)公钥,用该公钥产生的签名加密频谱子区块,并上传至该边缘服务器,边缘服务器利用私钥产生的签名解密得到频谱子区块。频谱设备网络的每个设备(包括边缘服务器、云端服务器)都拥有一对密钥,即公钥和私钥,公钥作为地址公布在网上,任何节点均可下载并产生签名加密频谱数据;私钥保存在设备端产生签名解密频谱数据。

步骤2验证节点验证频谱数据质量。

簇头节点通过边缘服务器发布频谱子区块验证任务,同时在频谱设备网络预存频谱币作为验证奖励(验证奖励只需少量的频谱币,但当节点成为簇头节点时,需保证拥有足够的频谱币作为验证奖励)。边缘服务器附近的其他个人无线设备自主响应验证任务,成为验证节点。验证节点通过分布式共识验证频谱子区块是否符合频谱数据采集任务要求。一种极端情况是没有频谱子区块通过验证,表明频谱数据采集任务失败,此时预存的频谱币被频谱设备网络回收。完成验证任务后,频谱数据网络将簇头节点预存的频谱币释放给参与验证任务的验证节点。

步骤3簇头节点确定频谱数据来源。

簇头节点对通过验证的频谱子区块进行分布式共识,以确定哪一个频谱子区块被添加到频谱区块链中,提供该频谱子区块的簇将获得一部分频谱币。各簇簇头节点通过分布式共识得到共识结果,将Q∗与各簇所提供的原始频谱数据相比,差异最小的频谱数据被认为是该频谱子区块的提供者,获得频谱币奖励。需要注意的是,簇头节点之间分布式共识的结果与各簇头节点提供的频谱子区块之间存在误差,误差最小的频谱子区块将被添加到频谱区块链中。簇头节点之间的分布式共识激励个人无线设备努力提高频谱数据质量,只有最符合任务要求的频谱子区块才能被添加到频谱区块链中,使簇内的感知节点获得相应的频谱币。

若干频谱子区块以Merkle 树结构组织成为频谱区块,频谱区块的结构如图3 所示。每个频谱区块在区块头中包含前一区块的地址(该地址通过哈希算法加密),直到第一频谱区块(创始频谱区块)的前一区块的地址(该地址通过哈希算法加密),并按时间顺序首尾相接成为频谱区块链。

图3 频谱区块的结构

步骤4频谱币在簇内分配。

当频谱区块被添加到频谱区块链中成为正式频谱区块后,频谱设备网络预存的频谱币释放至提供该频谱区块的簇,并根据各簇对频谱区块的贡献比例和数据质量将频谱币分配至各簇。根据所提频谱设备网络和频谱区块链的运行机制,每产生M GB 符合要求的频谱数据,频谱设备网络即发行S 个频谱币。假设某频谱数据采集任务将产生X MB 频谱数据,频谱设备网络发行并预存频谱币,其中,簇1、簇2、…、簇n 依次贡献了x1、x2、…、xnMB的频谱数据,则当X MB 频谱数据被添加到频谱区块后,簇1、簇2、…、簇n 依次分配得到、频谱币。各簇再根据各感知节点对频谱子区块的贡献比例和数据质量将频谱币分配至感知节点。续前例,从簇1、簇2、…、簇n分配得到的频谱币中扣除簇头节点预先付出的c %作为验证奖励后,频谱币在各簇内平均分配,假设簇1、簇2、…、簇n内分别含有N1、N2、…、Nn个节点,簇1、簇2、…、簇n 内节点(包括感知节点和簇头节点)依次分配得到频谱币。注意到,频谱币根据簇和感知节点对频谱数据的贡献比例和数据质量在簇间和簇内自动分配。

频谱管理服务器对个人无线设备进行准入许可之后,个人设备加入频谱设备网络,将频谱管理服务器和边缘服务器视为频谱区块链的记账人,每个频谱区块的添加由记账人共同决定,因此,频谱区块链实质上为一种联盟链。

2.4 频谱数据的获取

采集频谱数据形成频谱区块链,以更长时间、更宽频谱、更广地理范围的频谱大数据支撑精确的频谱共享。频谱数据具有明显的大数据特征,假设用1 bit 来表示100 m×100 m 范围内、频率分辨率为100 kHz、时间分辨率为100 ms 的频谱状态,那么100 km×100 km 的地理范围、0~5 GHz的频谱范围、一个星期的时间跨度内累计的频谱数据量将达到

并且,频谱数据量不仅随着地理范围、频谱范围、时间跨度的扩大而增加,还将随着空间分辨率、频率分辨率、时间分辨率的提高而增加,海量频谱数据的处理和存储是频谱设备网络面临的重要挑战之一。

云计算以集中方式处理和存储频谱数据,显然已不再适合集成了海量个人无线设备、综合了海量频谱数据的频谱设备网络。移动边缘计算是新兴的计算模型,它将云计算及其服务扩展到网络边缘,采用集中式与分布式相结合的网络结构。将移动边缘计算应用于分布式的频谱设备网络,个人无线设备、移动基站、频谱管理服务器形成三级网络结构。如图4 所示,在频谱设备网络云端,移动基站和频谱管理服务器以集中的方式进行组网和管理;在频谱设备网络边缘,个人无线设备和移动基站以分布的方式进行组网和管理。具体而言,个人无线设备在本地采集频谱数据,并对频谱数据进行预处理,从而大大减少了需要交互的频谱数据量;边缘服务器(移动基站)依托个人无线设备在网络边缘完成频谱区块验证和添加;当新频谱区块添加至频谱区块链后,边缘服务器将新频谱区块的索引上传至频谱设备网络的云端,方便用户查询和下载。

图4 频谱设备网络的三级网络结构

区块大小已成为影响区块链网络吞吐率、交易时延、可容纳节点数量,进而影响区块链网络可扩展性的关键因素之一[26]。文献[27]证明了要保证区块链网络90%节点的吞吐率,区块链的大小不应超过4 MB,因此,为了保证频谱设备网络中节点的吞吐率,频谱区块大小应小于4 MB。研究者在缩减区块大小方面进行了诸多尝试,文献[28]提出了区块分片技术,将较大的区块数据分为更小、更快、更易于管理的子区块;文献[29]提出区块仅保留区块头,将数据量大的区块体存放在边缘服务器,使用户可以通过查询区块头找到区块体的存放地址,而用户与边缘服务器之间的沟通则通过专门的数据传输信道进行。借鉴文献[29]的策略压缩频谱区块链的大小,具体是,新的频谱区块添加到频谱区块链之后,提供该频谱区块的簇头节点将频谱数据信息写入区块体,用哈希算法生成频谱数据信息的摘要,并用自己的私钥对此摘要信息加密,上传至最近的边缘服务器,其他用户可用该簇头节点的公钥解密摘要信息,以验证频谱数据未被修改,具体见2.5 节。边缘服务器收到频谱区块体后,通过非对称加密的方式将频谱区块体的存放地址发送给该簇头节点,该簇头节点将频谱区块的基本信息,如数据采集时间、数据采集地点、设备参数等数据采集信息、区块体存储地址等关键信息写入区块头,区块头被添加到频谱区块链中成为频谱区块。这样,频谱区块链仅保存区块头信息,大大降低了频谱区块链的数据量。

尽管上述方法大大压缩了频谱区块链的数据量,然而,边缘服务器的存储空间也是有限的,频谱数据的日积月累必将填满边缘服务器的存储空间;其次,频谱区块体的日积月累也将导致频谱区块链数据量的增加。为此,频谱区块链需要随时间流逝定期丢弃一部分频谱区块,同时删除存放在边缘服务器的频谱区块体,保证频谱区块链的数据量总体保持不变。

在精确频谱共享中,绝大部分频谱数据(本文为频谱区块和子区块的形式)在本地产生、在本地使用,较少有跨地域的频谱数据使用需求。当用户需要使用本地的频谱数据支撑精确频谱共享时,个人无线设备接入最近的边缘服务器查询并下载所需的频谱区块;当个人无线设备需跨地域(异地)使用频谱数据支撑精确频谱共享时,个人无线设备向频谱管理服务器(云端)提出申请并预存频谱币,云端的频谱管理服务器根据频谱区块索引匹配距离最近的验证节点,并向个人无线设备发送该频谱区块索引,个人无线设备下载该验证节点的公钥,验证节点配合将所需频谱区块传输给个人无线设备,个人无线设备完成下载后确认,验证节点获得频谱币奖励。

2.5 频谱数据的传输

个人无线设备之间或个人无线设备与边缘服务器/云端服务器之间通过频谱设备网络以非对称加密的方式传输频谱数据/频谱币。频谱设备网络的每个设备(包括边缘服务器和云端服务器)均拥有一对密钥,即公钥keypublic和私钥keyprivate,公钥作为公布在网上,任何节点均可下载并加密频谱数据;私钥保存在设备终端解密频谱区块。

频谱设备网络可以通过非对称加密的方式传递数据。例如,当节点A 需要将频谱数据Data 传输给节点B 时,首先查询并下载节点B 的公钥,用公钥加密频谱数据data 得到交易recorddata,如式(1)所示。

其中,recorddata是加密后得到交易记录,RSA 为非对称加密算法。当节点B 收到交易后,用自己的私钥解密交易recorddata,得到频谱数据Data,如式(2)所示。

频谱设备网络也通过非对称加密的方式验证频谱数据未被修改。当节点B 向边缘服务器上传频谱数据data 时,节点B 用哈希算法生成频谱数据data 的摘要,如式(3)所示。

节点B 将数字签名signdigest附在频谱数据Data之后,上传至边缘服务器。其他节点可以在边缘服务器查看该频谱数据Data,用节点B 的公钥解密数字签名signdigest,得到频谱数据的摘要digestdata,如式(5)所示。

再对频谱数据使用哈希算法,如式(6)所示。

2.6 频谱数据采集的激励机制

频谱设备网络通过“频谱币”及相应的配套策略激励个人无线设备采集频谱数据。频谱币是在频谱设备网络中发行和流通的数字货币,由频谱设备网络发行,仅在频谱设备网络中流通,可用于购买额外的频谱使用权、流量和带宽等。

频谱币的定价策略。频谱币的定价与频谱区块挂钩,规定每个频谱区块包含M GB 的频谱数据,即每产生M GB 符合要求的频谱数据,频谱设备网络即发行S 个频谱币。依托频谱设备网络产生的频谱数据发行相应数量的频谱币,即频谱币的发行与频谱数据量锚定[30]。每当频谱管理服务器发布频谱数据采集任务时,频谱设备网络根据产生的频谱数据量发行相应数量的频谱币。

频谱币自动发行和自动支付策略。频谱数据采集任务的发布与频谱币的发行是相互独立的,频谱管理服务器发布频谱数据采集任务,频谱设备网络发行频谱币,以这种方式避免频谱管理服务器操纵频谱币的发行速度和频谱币的价格。当频谱数据被添加到频谱区块链成为新的频谱区块后,频谱设备网络根据各簇和各感知节点在频谱区块中的贡献比例和数据质量自动将频谱币分配到各簇和各感知节点。

3 防御拜占庭攻击的共识机制

分布式的网络结构和异步的处理架构往往要求开放的数据处理与融合方式,在频谱币激励机制的驱动下,少数恶意的个人无线设备倾向于通过伪造频谱数据的方式牟取不当利益,因此,需要针对恶意个人无线设备伪造频谱数据的拜占庭攻击设计专门的防御机制,确保频谱数据的质量。

在频谱数据添加的过程中,恶意个人无线设备伪造频谱数据的拜占庭攻击主要发生在步骤1,恶意感知节点并没有进行频谱感知,因为频谱感知需要消耗个人无线设备的能量和时间,而恶意感知节点却希望通过提供伪造的频谱数据来获取频谱设备网络的频谱币奖励,即“不劳而获”,防御该拜占庭攻击要求频谱设备网络能够检测出恶意感知节点伪造的频谱数据。针对频谱设备网络分布式、无中心的特点,提出一种分布式共识机制,检测恶意感知节点伪造频谱数据的拜占庭攻击。

本文所提出的防御拜占庭攻击的共识机制以验证节点在一定置信度下的假设检验判断感知节点是否伪造频谱数据进行拜占庭攻击。该机制借鉴了Ripple 协议[31],属于实用拜占庭容错(PBFT,practical Byzantine fault tolerance)[32]的变种,包括感知节点共识融合、验证节点共识验证、簇头节点共识确认这3 个步骤。

在步骤1 频谱数据的添加过程中,感知节点在簇头节点的领导下采集频谱数据,并通过分布式共识形成一致的频谱子区块。令表示簇i 的第j个感知节点,首先采集频谱数据,再根据邻接图接收邻居感知节点n 的频谱数据 xin(k),按式(7)将自身的频谱数据由 xij(k)迭代更新为 xij(k+1)。

其中,可表示步长。则有

其中,Nj为节点的邻居,表示节点的度,Ω 为频谱设备网络邻接矩阵G 的最大度,且 xij(0)=dataij。频谱数据分布式共识的迭代更新也可以写成如式(9)所示的矩阵形式。

其中,P=I-ηL,I 为单位矩阵,L 为邻接矩阵G的拉普拉斯变换。共识过程迭代进行,直到簇内感知节点的频谱数据均收敛至共同值x∗。定理1 保证了迭代过程的收敛性[33]。

定理1簇内的感知节点通过式(10)来更新频谱数据。

①在任何初始状态下,都可以渐进地达成共识。

定理1 的证明如附录所示。当簇内的状态迭代更新完成时,簇内的感知节点和簇头节点形成一致的频谱数据datai。

簇头节点将频谱数据(包括感知节点位置信息、邻接矩阵信息)打包成频谱区块体,用哈希算法生成频谱数据信息的摘要,如式(11)所示。

用自己的私钥对此摘要信息进行加密,如式(12)所示。

将加密后的信息上传至最近的边缘服务器,其他任何节点均可访问该频谱区块体datai,用簇头节点的公钥解密数字签名signdigest,得到频谱区块体的摘要digestdatai,如式(13)所示。

再对频谱区块体使用哈希算法,如式(14)所示。

协议1感知节点共识融合协议

随后,边缘服务器edgei发布频谱区块验证任务,附近的其他个人无线设备自主响应验证任务,成为验证节点。验证节点根据频谱数据子区块提供的信息在验证节点本地进行共识验证,目的是检查频谱数据中是否存在恶意感知节点伪造的频谱数据。验证节点通过共识验证得到每个频率的共识结果和在1-α 置信度下的置信区间,如果∈则认为感知节点没有伪造频谱数据,频谱数据通过共识验证;否则,认为感知节点伪造了频谱数据,共识验证失败。将验证节点之间共识机制的伪代码总结为验证节点共识验证协议,如协议2 所示。

协议2验证节点共识验证协议

随后,簇头节点对通过验证的频谱子区块进行分布式共识,以确定哪一个频谱子区块被添加到频谱区块链中,提供该频谱子区块的簇将获得一部分频谱币。各簇簇头节点通过分布式共识得到共识结果Q∗,将Q∗与各簇所提供的原始频谱数据相比,差异最小的频谱数据被认为是该频谱子区块的提供者,获得频谱币奖励。将簇头节点之间共识机制总结为簇头节点共识确认协议,如协议3 所示。

协议3簇头节点共识确认协议

4 性能仿真

通过实验仿真测试本文设计的共识机制对恶意感知节点伪造频谱数据的拜占庭攻击的防御性能。

4.1 参数设置

考虑频谱设备网络中小尺度授权用户的场景,如图5 所示。一个授权用户发射机PU 位于坐标原点(0 m,0 m),发射功率为Pt=1~10 W(30~40 dBm)。100个个人无线设备随机分布在以坐标原点为中心、边长为5 km的方形区域内,随机自发地形成C=6个簇,每个簇包含7~13 个个人无线设备、一个簇头节点和若干个感知节点。授权用户信号经瑞利衰落后被感知节点接收,环境噪声的功率谱密度为-174 dBm/Hz[34],大尺度路径衰落系数为4,小尺度瑞利衰落系数为1,感知节点通过本地频谱感知采集频谱数据,感知节点的接收授权用户信号的信噪比与授权用户发射功率、感知节点的位置和传播路径相关。区域内其他个人无线设备以50%的概率参与共识验证,成为验证节点,其余个人无线设备为一般节点,不参与共识验证。验证节点在 α=0.05或α=0.1的置信度下对频谱数据进行共识验证,并通过边缘服务器将验证结果反馈给各簇头节点,验证节点获得簇头节点预存的频谱币作为验证奖励,簇头节点对通过共识验证的频谱数据进行分布式共识,确定频谱数据的来源,即确定哪一个频谱子区块被添加到频谱区块链。

图5 100 个个人无线设备和一个授权用户的频谱设备网络场景

假设簇内恶意感知节点的数量总体上小于或等于诚实感知节点的数量,以簇4 为例,即簇内包含1~4 个恶意感知节点。恶意感知节点以 Pattack的概率发动伪造频谱数据的拜占庭攻击,所伪造的频谱数据为区间内的随机值,其中,分别为k 时刻接收邻居感知节点发送的频谱数据最小值和频谱数据最大值。

4.2 共识机制性能分析

图6(a)~图6(e)分别仿真了簇4 在无恶意感知节点和包含1~4 个恶意感知节点时对频谱数据进行分布式共识的过程,可见无论簇内有无恶意感知节点,均能通过簇内感知节点之间的分布式共识对频谱数据值达成一致。当簇4 在无恶意感知节点时达成共识,其值可以视为分布式共识的真实值;当簇4 包含恶意感知节点时,感知节点通过分布式共识得到的频谱数据值与真实值之间的差异随着恶意感知节点数量的增多而增大。在此基础上,对簇4无恶意感知节点和包含1~4 个恶意感知节点的情况进行1 000 次Monte-Carlo 仿真,统计簇内感知节点达成分布式共识时频谱数据值的分布,如图7(a)~图7(e)所示,可见在无恶意感知节点时,达成共识时频谱数据值在很小的区间内(如图7(a)所示的[-1.853 5,-1.849 0])形成正态分布;当簇内包含恶意感知节点时,达成共识时频谱数据值仅较集中地分布在若干个离散点。从图7(b)~图7(e)来看,达成共识时频谱数据值的分布符合上述的观察结果,即达成共识时频谱数据值与真实值之间的差异随着恶意感知节点数量的增多而增大。由文献[34]可知,分布式共识的收敛速度由2λ 决定,2λ 为L 第二小的特征值,称为图的代数连通性。在恶意用户数量逐渐增多的过程中,邻接矩阵G不变,L 作为G 的拉普拉斯变换也不变,因此分布式共识的收敛速度并不会随着恶意用户数量的增多而变慢。

图6 簇内频谱数据进行分布式共识的过程

图7 达成共识时频谱数据值的分布

簇内感知节点通过分布式共识对频谱数据达成共识后,簇头节点将频谱数据和簇内邻接矩阵信息非对称加密,通过边缘服务器发送给验证节点,验证节点根据邻接矩阵信息对频谱数据进行共识验证,确定感知节点是否伪造频谱数据。验证节点在α=0.05或α=0.1的置信度下对频谱数据进行共识验证的结果如图8(a)和图8(b)所示。若达成共识时的频谱数据(实线)落入1-α 置信度下的置信区间,即认为感知节点没有伪造频谱数据,通过共识验证;若达成共识时的频谱数据值(虚线)落入1-α置信度下的置信区间[Δmin,Δmax]之外,即认为感知节点伪造了频谱数据,共识验证失败。当置信度由 α=0.05变为 α=0.1时,共识验证的置信区间增大。为评估所提共识验证对拜占庭攻击的防御性能,定义2 种概率:虚警概率Pf和漏警概率Pm。虚警表示无恶意感知节点或恶意感知节点未发动拜占庭攻击时,达成共识时频谱数据因落在置信区间[Δmin,Δmax]之外而未通过共识验证。漏警表示恶意感知节点发动了拜占庭攻击,达成共识时频谱数据因落入置信区间[Δmin,Δmax]而通过共识验证。虚警概率Pf和漏警概率Pm直接反映了共识机制对恶意感知节点伪造频谱数据的拜占庭攻击的防御性能。

图8 验证节点对频谱数据进行共识验证

授权用户发射机取1~10 W(30~40 dBm)的发射功率,验证节点对频谱数据值进行共识验证,得到授权用户在不同发射功率下共识验证的虚警概率Pf和漏警概率Pm,仿真结果是在 α=0.05或α=0.1下通过1 000 次Monte-Carlo 仿真得到的平均水平。漏警概率Pm与授权用户发射功率Pt的关系如图9所示。从图9 可以看出,漏警概率Pm随着授权用户发射功率Pt的增加而降低,说明授权用户发射功率Pt的增加提高了共识验证的区分度;漏警概率Pm随着恶意用户数量的增加而降低,说明恶意用户数量的增加也提高了共识验证的区分度;随着置信度α 从0.1 降低到0.05,共识验证的置信区间[Δmin,Δmax]将缩小,使漏警概率Pm进一步降低。虚警概率Pf与授权用户发射功率Pt的关系如图10所示。从图10 可以看出,虚警概率Pf随着授权用户发射功率Pt的增加而降低,说明授权用户发射功率Pt的增加提高了共识验证的区分度;恶意用户数量和置信度α 对虚警概率Pf的影响不大,但总体来说,虚警概率Pf随恶意用户数量的增加而降低,说明恶意用户数量的增加也有助于提高共识验证的区分度;当置信度α 从0.1 降低到0.05,共识验证的置信区间[Δmin,Δmax]将缩小(如图8 所示),可能使一部分无恶意感知节点的频谱数据落入置信区间[Δmin,Δmax]之外,导致虚警。综合不同授权用户发射功率Pt、不同恶意感知节点数量和置信度 α=0.05或α=0.1下的漏警概率Pm和虚警概率Pf,得到漏警概率Pm、虚警概率Pf与授权用户发射功率Pt的关系如图11 所示。

图9 漏警概率Pm与授权用户发射功率Pt的关系

图10 虚警概率Pf与授权用户发射功率Pt的关系

图11 漏警概率Pm、虚警概率Pf与授权用户发射功率Pt的关系

最后,簇1~簇6 的簇头节点对通过共识验证的频谱数据进行分布式共识(这里,假设簇1~簇6 的频谱数据均通过共识验证),如图12 所示,共识过程表明簇头节点6 的初始频谱数据值与频谱数据共识值(实线)误差最小,因此确定簇6 提供的频谱子区块被添加到频谱区块链,根据簇6 内感知节点对频谱子区块的贡献比例,频谱设备网络将频谱币自动分配至簇6 内各感知节点。

图12 簇头节点通过分布式共识确定频谱数据来源的过程

本文所提共识机制属于PBFT 的变种[32],借鉴了Ripple 协议[31],将其与主流共识机制(如PoW、PoS)进行比较,如表1 所示,其中,n 为网络中的节点数量。

表1 本文共识机制与主流共识机制的比较

实际上,PoW 中的搜索空间是无限的,因此也导致PoW 的吞吐率较低;PoS 的搜索空间有限,但存在矿工挖矿并寻求其他矿工的一致性验证过程,导致PoS 的吞吐率仍然不高。本文所提共识机制没有PoW、PoS 等典型共识机制中的“矿工”挖矿过程,这一点将大大提高频谱设备网络的吞吐率,代价是对恶意攻击的抵御能力低于PoW 和PoS。

5 结束语

针对大规模、超密集部署移动互联网和物联网带来的精确频谱共享需求,提出了基于区块链技术联网海量个人无线设备构成频谱设备网络。采用云计算与边缘计算结合的频谱设备网络架构,频谱管理服务器在频谱设备网络云端发布频谱感知任务、回收频谱数据、发放任务奖励,个人无线设备既是频谱使用设备又是频谱感知设备,在频谱设备网络边缘分布式地采集频谱数据构成频谱区块链、获得频谱币奖励,频谱设备网络通过感知节点共识融合、验证节点共识验证、簇头节点共识确认的分布式共识机制防御恶意节点伪造频谱数据的拜占庭攻击。频谱设备网络以频谱数据获取、频谱区块添加、频谱数据传输、频谱数据采集的激励作为网络运行的基本策略。仿真结果表明,分布式共识防御恶意节点伪造频谱数据的拜占庭攻击的有效性和可靠性。基于区块链的频谱设备网络利用区块链技术去中心化存储、非对称加密、分布式共识等关键技术,使联网的海量个人无线设备贡献频谱数据、支撑精确频谱共享成为可能。下一步,将面向精确频谱共享,在区块链技术框架下对频谱数据的获取、频谱区块的添加、频谱数据的传输、频谱感知的激励等频谱设备网络运行基本策略做进一步的研究。

附录 定理1 的证明

结论①的证明见文献[35],下面主要证明结论②。

考虑到L 为邻接矩阵G 的拉普拉斯变换,则有rank(L)=n-1,证明见文献[36],则0 是L 的特征值,令γ=(γ1,γ2,…,γn)为L 的左特征向量,则有 γTL=0,且有=-Lx[36],则由

证毕。

猜你喜欢
频谱共识分布式
基于RTDS的分布式光伏并网建模研究
共识 共进 共情 共学:让“沟通之花”绽放
一种用于深空探测的Chirp变换频谱分析仪设计与实现
论思想共识凝聚的文化向度
商量出共识
基于预处理MUSIC算法的分布式阵列DOA估计
动态频谱共享简述
基于DDS的分布式三维协同仿真研究
遥感卫星动力学频谱规划
“慢养孩子”应成社会普遍共识