呂 培,趙杭生,張建照
(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的能量消耗對于報價策略的影響。