吕 培,赵杭生,张建照
(1.国防科技大学 第六十三研究所,南京 210007;2.南京邮电大学 通信与信息工程学院,南京 210003)
随着5G网络的大规模部署,频谱资源愈发稀缺。据欧盟的调查显示,如果将数十亿的终端设备通过无线连接接入5G网络,将需要76 GHz的频谱资源,而如果采用频谱共享技术[1-2],这一数值将缩减到19 GHz。频谱共享就是频谱资源使用权发生了临时性的转移或交换,如频谱使用权由主用户(Primary User,PU)临时转移到次用户(Secondary User,SU)。具体来说,主用户对频谱有着优先使用权,次用户在主用户未使用频谱的情况下,“租用”主用户的频谱[3]。频谱共享(Spectrum Sharing,SS)是解决海量频谱资源需求与频谱资源受限的重要技术手段[4],而频谱感知是实现频谱共享的重要前提。在现实场景中,一方面,由于无线通信过程中的衰落和阴影效应,单用户的感知结果是不可靠的;另一方面,单用户感知会受限于感知范围,降低了频谱数据在空域上的覆盖率;再者,单用户易于遭受恶意攻击致使感知任务的失败。因此,解决单用户感知的可靠性和有效性问题,是频谱共享走向实际应用亟待解决的关键。此外,实现频谱共享还需要知悉频谱交易(即主用户出租频谱,次用户租用频谱)的“账本”,这个“账本”就是区块链[5]。
群智感知[6](Crowd Sensing,CS)可为实时了解频谱使用情况提供基础数据。群智感知是一种基于智能设备(例如手机)的感知能力的新型感知方式[7]。随着智能设备的日益普及,我们可以通过智能设备从周围环境中获取原始数据,加以提炼后生成可利用的信息(如频谱信息)[8]。与传统感知方式相比,群智感知利用智能设备的大规模部署保证了感知数据的准确性和可靠性[9]。而参与群智感知需要消耗智能设备自身的能量,因此需要设计合适的奖励分配机制以激励智能设备参与群智感知。
区块链是一个分布式的公开的不可修改的“账本”,其本质是一种去中心化的记账系统,是一个由信用记录以及信用记录的清算构成的体系[10]。区块链技术可以实现数据信息的分布式记录(可以由系统参与者集体记录,而非一个中心化的机构集中记录)和分布式存储[11]。该技术使得每个节点都有权记录并翻阅公开账本,所有节点共同监督保证其正确性[12]。因此,区块链技术被认为是解决频谱交易中捏造交易信息、拒绝支付频谱费用等问题的有效手段。
鉴于上述优点,已有学者将区块链和群智感知引入频谱共享。文献[13]提出了一种基于区块链的动态频谱接入架构,该架构下,SU既要感知并核实原始数据,也要将频谱交易信息打包(即挖矿)。作者将SU是否参与频谱感知与挖矿建模为概率问题,且SU参与任务(包括感知和挖矿)可以获得一定的奖励。仿真结果表明,SU参与任务的收益随着参与概率的提升而增多,但是同时会消耗更多的能量;同时也存在最优任务参与概率以保证SU的收益最大化。文献[14]提出了“频谱感知即服务(spectrum sensing as a service)”的概念,旨在“招募”助手节点(helper nodes)实施频谱感知,助手节点在完成感知任务后获得相应的奖励并通过“矿工”更新区块链。仿真结果表明,该算法在保证系统收益的基础上可以有效识别恶意攻击。
文献[13]虽然解决了频谱感知中的收益问题,但是SU可以通过捏造感知结果以接入主用户频谱,从而对主用户的正常通信造成干扰。文献[14]通过将感知任务分配给助手节点(不是由SU自身完成),从而避免了SU捏造感知结果的可能,但是助手节点的感知收益通过平均分配,而没有考虑到不同的节点对感知任务的贡献度的差异,从一定程度上遏制了助手节点参与频谱感知的意愿。
本文利用区块链的去中心化以及去信任化特性,实现交易信息的分布式存储,以保证频谱交易“账本”的安全性。此外,在利用群智感知的基础上,在考虑智能设备对感知任务贡献度差异的前提下,进行感知收益分配。具体来说,依据按劳分配的原则分配感知收益,贡献多的智能设备可获得更高的收益。此举不仅保证了收益分配的公平性,同时可以激励更多的智能设备参与感知任务以提升频谱感知的可靠性与稳定性。
考虑如图1所示的区块链下认知无线电系统。该系统主要分为三层,即物理层、传输层以及应用层。物理层是该系统的底层,由Crowd Sensors以及PU组成,其中PU对频谱有着优先使用权,Crowder Sensor用于感知PU的频谱占用状态并上传到传输层。传输层位于中间,起着连接物理层与应用层的作用。该层由miner以及区块链网络构成,miner主要用于核实原始感知数据并将交易信息打包添加进区块链,多条区块链构成区块链网络。应用层是该系统的顶层,包含SU以及Spectrum Server,其中SU伺机使用未被占用的PU频谱资源,Spectrum Server用以处理SU的频谱接入请求(包括频谱感知以及频谱分配)。
图1 基于区块链的认知无线电系统
系统中SU接入PU的空闲频谱主要通过以下七个步骤:
(1)多个SU向Spectrum Server发起频谱接入请求。SU本身不具备系统中任一频段的授权,只可在PU未接入所属频段的情况下伺机使用。需要注意的是,频谱接入服务并非无偿,SU需要支付Spectrum Server服务费用以及PU的接入费用。其中Spectrum Server服务费用应包含miner的挖矿费用、Crowd Sensor的感知费用以及Spectrum Server自身运营费。SU获得某段频谱的使用权后(短时间有效),可以选择自己使用或是出售给其他SU以获取利益。
(2)Spectrum Server根据SU的频谱接入请求,结合信誉值以制定相应的频谱感知任务(即每一个SU会锚定某一信誉值)。需要注意的是,信誉值越高的任务,任务难度越高,Crowd Sensor可分得的奖励越多:若SU的感知范围内有较多的Crowd Sensor,由于会有更多的Crowd Sensor响应任务,则Spectrum Server将该任务的信誉值设置为较小的数值;若SU的感知范围内Crowd Sensor的数量不多,潜在响应任务的Crowd Sensor数量将很少或可能没有,为了保证频谱感知任务的有效完成,Spectrum Server将任务的信誉值设定为较高的数值以吸引Crowd Sensor。
(3)Spectrum Server以智能合约的形式发布感知任务。Spectrum Server在智能合约中规定了各SU的任务信誉值以及任务奖励。智能合约的本质是运行在区块链上的不可修改的代码,一旦达到预设条件,智能合约将自动执行。此外,智能合约有利于保障Crowd Sensor的权益,如Spectrum Server收到感知结果而拒绝支付费用(费用通过智能合约自动支付)。
(6)Crowd Sensor完成频谱感知并将未经处理的原始数据交由miner。miner接收来自Crowd Sensor的感知数据,并依据一定的准则将原始数据处理为可由Spectrum Server直接利用的数据。如miner利用大数原理判定PU的频谱占用状态,即若超过半数的Crowd Sensor认为频谱为占用,那么miner判定该段频谱为占用。此外,Crowd Sensor每一次的感知结果都记录在区块链上,若miner发现Crowd Sensor存在恶意上报(捏造感知结果)、窃取其他Crowd Sensor感知结果等违规行为,miner可剥夺该Crowd Sensor的感知权利,并扣除其一定(或全部)的感知收益。该机制可一定程度上保证感知结果的准确性。
(7)Crowd Sensor从Spectrum Server处获得任务的奖励,SU接入可用空闲频谱或出租给其他SU。一旦Crowd Sensor的感知数据被验证为准确,智能合约将自动给予Crowd Sensor以奖励,且更新Crowd Sensor的信誉值。Crowd Sensor的信誉值越高,表明其可接受信誉值总和越高的任务,意即会有更多的收益。SU接收到传自Spectrum Server的感知结果后,若确定不再收集数据,就通过Spectrum Server向网络发布消息关闭任务,并从智能合约中收回剩余的费用,miners和Crowd Sensor在收到任务关闭消息后就停止工作。
文献[14]中助手节点无法自主对感知任务进行选择(即选择是否参与以及进行何等层次的感知);感知任务以及感知收益由SU分配给助手节点,因而存在SU收到感知结果而拒绝支付费用的问题;助手节点的感知收益通过平均分配的方式获得,而没有考虑到不同的助手节点自身感知能力以及对感知任务贡献的差异性,在某种程度上会削弱助手节点参加频谱感知的意愿。本文将感知任务的分配交由Spectrum Server,Spectrum Server将根据任务难度制定合适的信誉值以保障任务的有效完成。此外,Crowd Sensor一旦完成感知任务,奖励将通过智能合约自动发放,此机制有效保障了Crowd Sensor的权益。再者,为了更公平地分配感知收益,本文在结合任务信誉值与感知信誉值的基础上,将感知收益以按劳分配(多劳多得)的原则分配至各Crowd Sensor,此举将有效激发Crowd Sensor参与频谱感知的意愿。
考虑如第1节所述的基于区块链的认知无线电系统。首先,系统中第i个SU发起感知请求sti,Spectrum Server根据其感知任务的难易程度,将sti与某一信誉值锚定,即sti∈Level,Level={rv1,rv2,…,rvl}。图2显示了SU的任务信誉值与其感知范围内Crowd Sensor数目的关系。
图2 SU信誉值与Crowd Sensor数目的关系
如图2所示,SU的感知范围为虚线圆内,Crowd Sensor编号为A~E,Crowd Sensor中部数字代表其自身信誉值。 以SU1为例,其感知范围内有4个Crowd Sensor(B、C、D、E),其任务信誉值为st1=1;SU2的感知范围内仅有2个Crowd Sensor(A、C),其任务信誉值为st2=3。若SU的感知范围内有更多的Crowd Sensor,会有更多的Crowd Sensor响应该感知任务,某种程度降低了感知任务的难度(若某一Crowd Sensor对该任务不报价,其余Crowd Sensor仍有较高的概率报价),因此信誉值反映了任务的难易程度,且两者正相关。
随后,Spectrum Server整理并生成包含系统中所有SU的任务集ST={st1,st2,…,stm}。Crowd Sensor对任务集中的所有任务进行报价,若Crowd Sensor不在SU的感知范围内,则对SU的任务报价为0。用csij表示第i个Crowd Sensor对第j个感知任务的信誉值报价,那么系统n个Crowd Sensor的报价可以用一个n×m阶的矩阵来表示:
(1)
以矩阵的第i行与第j列来举例:第i行表示系统中的第i个Crowd Sensorcsi对感知任务集的报价,假定csi的当前信誉值为ki(称为当前信誉值,是因为ki会随感知任务进行实时更新),则有
(2)
即csi的报价总和不能超过其当前信誉值。第j列表示系统中第j个任务收到的报价总和,为了保证任务的有效完成,应该有
(3)
式中:stj表示第j个任务的任务信誉值。
系统中的Crowd Sensor对任务集报价后,Spectrum Server依据总信誉值的高低,优先采用信誉值高的Crowd Sensor的报价。例如对于st2=2(即SU2的任务信誉值为2),若cs12=1,cs22=1且k1>k2。也就是说,如果cs1的信誉值高于cs2的信誉值,那么Spectrum Server会优先接收到cs1的信誉值报价,然后才会接收到cs2的信誉值报价。需要注意的是,由于st2=2,Spectrum Server在接收到cs1和cs2的报价后,则判断该感知任务已经可以有效完成(cs12+cs22=st2),那么Spectrum Server将停止接收来自于其他Crowd Sensor的报价。此机制有效地保障了信誉值较高的Crowd Sensor的利益,而信誉值的更新需要Crowd Sensor积极地参与频谱感知,因此该机制亦有利于保障SU的权益。
Crowd Sensor完成频谱感知任务后,上传感知数据。miner核实感知数据后,根据感知结果的准确性更新Crowd Sensor的信誉值:成功完成一次频谱感知则信誉值增加;感知任务失败(包括恶意伪造感知数据和窃听感知结果)则会降低其自身信誉值。Crowd Sensor信誉值增加,意味着其可以报价的任务数量增多,Crowd Sensor其自身的收益也会增加,这也激励Crowd Sensor更加积极准确地参与频谱感知。csi完成第j个感知任务(定义“完成”为感知数据已被验证准确无误)的收益Rwardij为
(4)
式中:stj为任务j的总信誉值;csij为csi对任务j的信誉值报价,且stj≥csij;uj-cj恒大于0,其中uj表示第j个感知任务的单位信誉值收益,cj表示第j个感知任务的单位信誉值成本,且uj>cj,1≤j≤n。意即对于任一感知任务,参与频谱感知带来的收益恒大于其支出,只要Crowd Sensor对该任务报价且报价被Spectrum Server接收,那么在验证感知数据准确的情况下,Crowd Sensor一定可以通过参与该次频谱感知获得收益。
根据积分的性质可以得知,csij越大,那么积分区域越大,Rwardij也就越大。特别地,当csij为0时,Rwardij=0,即不参与频谱感知任务,将无法获益。将csi的所有感知任务收益相加,即可得到
(5)
需要注意的是,单位感知收益vj=uj-cj(1≤j≤n)不尽相同,csi出于自身利益考虑,倾向于将更多的信誉值报价给vj更高的任务,从而造成垄断。因此我们规定,csi的每次报价不能高于其自身信誉值的一半,即
(6)
基于上述分析,设计出了基于信誉值拍卖的收益分配算法(Revenue Allocation Algorithm based on Reputation value Auction,RAARA),其伪代码如下:
Crowd Sensor Bidding
1 Input:ST={st1,st2,…,stm}
2 Sorting Crowd Sensors according tok,such thatk1≥k2≥…kn;
3 for 1≤i≤n,1≤j≤mdo
6 elsecsij=stj;
7 end if
8 end if
9ki←ki-csij;
10j←j+1;
11 end for
12i←i+1;
13 end for
Spectrum Server Choose Crowd Sensor
14 for 1≤j≤m
17 else declare failure ofstj
18 end if
19 end for
21 notice:
为了更好理解基于信誉值拍卖的收益分配算法,以一个简单的实例来进行说明(文中直接给出了Crowd Sensor的报价结果),考虑如图2所示的模型。
Step1 以信誉值对Crowd Sensor进行降序排序:E≥D≥B≥A≥C。
Step2 以信誉值对ST进行降序排序:st2≥st3≥st1。
Step3 Crowd Sensor对感知任务st2、st3、st1分别报价格:E[001];D[001];B[010.5];A[10.50];C[0.50.250.125]。
Step4 Spectrum Server对报价结果进行初步处理,并生成报价矩阵:
(7)
对结果进行说明:以st3为例(即CS5×3矩阵的第2列),被选中的Crowd Sensor为B、A、C,且报价分别为1、0.5、0.25;再以 Crowd Sensor A为例(即CS5×3矩阵的第4行),Crowd Sensor A成功对st2、st3报价,且报价分别为1、0.5。
Step5 Spectrum Server对报价结果进行最终处理。进一步地,Spectrum Server判断任务是否有效完成。以st3为例,由于1+0.5+0.25=1.75<2,因此Spectrum Server判定st3无法有效完成;同理st2也无法有效完成。Spectrum Server生成最终报价结果CS5×3,且矩阵中元素为0表示Crowd Sensor报价失败或者Crowd Sensor不在该任务的感知范围内。
(8)
本节对基于信誉值拍卖的收益分配算法进行分析。为了保障系统中的多数感知任务可以被Crowd Sensor执行并完成,假定基于区块链的认知无线电系统中共有10个SU,且ST={1,2,3,4,5,6,7,8,9,10};系统中共有10个Crowd Sensor,且K={2,4,6,8,10,12,14,16,18,20}。此外,假定信誉值越高的任务单位感知收益越小,即V={10,9,8,7,6,5,4,3,2,1}。仿真参数如表1所示。
表1 仿真参数
为了比较信誉值对Crowd Sensor的收益带来的影响,假定系统中的3个Crowd Sensorcs7、cs8、cs9对应信誉值分别为k7=14、k8=16、k9=18,三者均在SU3~SU10的感知范围内,即cs7、cs8、cs9均可以对SU3~SU10的感知任务进行报价。cs7、cs8、cs9的感知收益随任务信誉值的变化如图3所示。
图3 感知收益随任务信誉值变化图
总体上来看,Crowd Sensor的感知收益随着任务信誉值的升高而提升,因此Crowd Sensor倾向于给信誉值高的任务报价而获得更高的收益。还可以看到,在任务信誉值相同的情况下,信誉值较高的Crowd Sensor总能获得较高的收益。这是因为依据算法中的信誉值上报策略,Crowd Sensor不能上报高于自身信誉值一半的报价。Crowd Sensor信誉值越高,可报价信誉值就越高,从而可获得越多的收益。此外,对于cs7来说,cs7从st7处获得的收益为0,而cs8和cs9则可以获得较高的收益,这是因为cs8和cs9对SU7的信誉值报价分别为4和5,而4+5>7=st7,此时,Spectrum Server判定cs8和cs9足以完成st7,而停止接收来自于信誉值较低的Crowd Sensor的报价。同理,cs7和cs8从st8处获得的收益亦为0。因此,基于信誉值拍卖的收益分配算法将有效保障信誉值较高的Crowd Sensor的收益,而Crowd Sensor只有通过不断地参与频谱感知才有机会更新其自信信誉值,因此该算法也保证了SU的感知任务可以被有效完成。
接下来分析RAARA算法的复杂度。该算法主要分为两步:Crowd Sensor报价以及Spectrum Server选定报价。Crowd Sensor报价过程中,n个Crowd Sensor对m个任务进行报价复杂度为O(n);Spectrum Server选定报价中,Spectrum Server根据n个Crowd Sensor的报价总和选定一定数目的Crowd Sensor,因此复杂度为O(n)。故RAARA算法的复杂度为O(n)。
由图4可以看出,本文所提算法运行时间与系统中Crowd Sensor的数目呈线性关系。与文献[6]所提的基于博弈论的收益分配算法相比,本文算法在系统中Crowd Sensor数目较多的情况下有更好的性能表现。
图4 算法运行时间随Crowd Sensor数目变化
图5所示为不同分配算法下cs7、cs8、cs9的总收益对比(系统中Crowd Sensor的数目从左至右逐渐增加),可见信誉值越高的Crowd Sensor获得的总收益也越高:对于可报价的每个任务,信誉越高的Crowd Sensor可获得的单次收益越高,将Crowd Sensor的单次收益累加后,信誉值越高的Crowd Sensor总收益也会越高。此外,对于信誉值较低的Crowd Sensor,平均分配带来的收益反而高于基于信誉值拍卖的收益分配算法。这是因为信誉值较低的Crowd Sensor在每次的感知任务中可能只是贡献了一小部分,但分配收益时却是总收益的平均分配,可以理解为信誉值较低的Crowd Sensor侵占了信誉值较高的Crowd Sensor的收益。此外,基于博弈论的收益分配算法过于依赖系统中Crowd Sensor的数目,如图5所示,从左至右,随着系统中Crowd Sensor的数目逐渐增加,系统中的竞争越发激烈,Crowd Sensor的收益呈减少的趋势。而本文所提算法本质上与系统中Crowd Sensor的数目无关,仅与自身信誉值相关,信誉值越高,则收益越大。
图5 不同分配算法下CS的总收益对比
为了保证频谱交易信息的安全可靠,本文在利用区块链的去中心化以及去信任化的特性的基础上提出了基于区块链的认知无线电系统。此外,为了激励系统中Crowd Sensor积极地参与频谱感知,提出了基于信誉值拍卖的感知收益分配算法,该算法本质上是一种按劳分配、多劳多得的算法。仿真表明,该算法不仅保证感知收益公平分配,降低了算法的复杂度,还可以激励更多的Crowd Sensor参与感知任务,从而提升了频谱感知的稳定性与可靠性。下一步的研究方向是考虑Crowd Sensor的运动模型以及Crowd Sensor的能量消耗对于报价策略的影响。