摘 要:車聯網(VANET)中虛假的共享信息會導致負面影響。針對車輛間的信任缺失現象,提出了一種基于區塊鏈的信任解決方案。通過引入貝葉斯推理,基于先驗概率進行信任評估,綜合考慮了消息可信度和源節點自身可信度。通過超級賬本實現信任管理,路側單元(RSU)將匯聚車輛提交的評價形成信任值并創建區塊,利用智能合約進行信任值初始化、查詢和更新操作。仿真結果顯示,提出方案能有效進行信任評估,準確識別虛假消息。同時與現有方案對比表明,該方案具有更高吞吐量和更低時延,適用于車聯網的輕量級資源消耗環境。
關鍵詞:車聯網; 區塊鏈; 路側單元; 超級賬本; 貝葉斯推理; 信任機制
中圖分類號:TP393
文獻標志碼:A
文章編號:1001-3695(2023)07-006-1957-07
doi:10.19734/j.issn.1001-3695.2022.11.0565
Blockchain-based trust mechanism in VANET
Yang Lei1, Long Wei2
(1.College of Information Engineering, Chengdu Aeronautic Polytechnic, Chengdu 610100, China; 2.College of Computer Science amp; Enginee-ring, University of Electronic Science amp; Technology of China, Chengdu 610031, China)
Abstract:False shared information in VANET can lead to negative effects. Aiming at the lack of trust between vehicles, this paper proposed a trust solution based on blockchain. By introducing Bayesian inference, it evaluated the trust level based on prior probability, and considered the message credibility and the source node’s own credibility. The Hyperledger was responsible for managing trust values. RSU formed a trust value and created a block by aggregating the evaluation submitted by the vehicle, the smart contract performed trust value initialization, query and update operations. Simulation results show that the proposed scheme can effectively evaluate trust and accurately identify 1 messages. At the same time, compared with the existing schemes, the proposed scheme has higher throughput and lower delay, which is suitable for the lightweight resource consumption environment of VANETs.
Key words:vehicular Ad hoc network(VANET); block chain; roadside unit(RSU); Hyperledger; Bayesian inference; trust mechanism
近年來,車聯網(VANET)在道路安全和車載娛樂方面的應用快速增長。車輛通過傳感器收集自身及周圍車輛、道路和環境信息,對采集的數據進行分析和發布,與鄰居共享和道路相關的信息有助于車輛及時了解交通狀況,從而提高運輸安全和效率,它還能為用戶提供多種應用服務,例如遠程診斷、視頻下載等。5G的普及將為VANET應用提供更好的支撐[1]。然而,VANET應用也面臨諸多挑戰,它容易受到來自內部或外部諸多類型的惡意攻擊。VANET中每個車輛節點都具備有限的計算、存儲、通信能力,它可與其他節點自動連接并發生交互,呈現自組織網絡特性。車輛隨時以不同速度移動,導致拓撲持續性動態變化,很多場景下信任值只是在鄰居相遇時計算,無須頻繁更新。VANET網絡也具有間歇性連通的特點[2],這意味著節點與未知鄰居的交互可能性更大。簡言之,VANET是在受限的拓撲環境下動態自組形成的,由于短而頻繁的交互周期,VANET中難以積累足夠多的交互記錄去推斷某種信任水平,所以,如何對車輛之間信任關系實施有效管理是一個亟待解決的問題[3]。
1 相關工作
現有信任管理系統可分為集中式和去中心化兩類。在集中式信任管理系統中[4,5],所有的評分都存儲在一個中心服務器上,例如云服務器。由于車輛通常需要在很短的時間內作出決策,這些集中式系統并不能總是滿足車聯網嚴格的服務質量(QoS)要求;而在傳統的去中心化信任管理系統[6,7]中,信任管理任務在車輛本身或路側單元(road side unit,RSU)中進行。信任值的本地管理會減少與網絡基礎設施的交互。然而,傳統的去中心化方式缺乏全局管理策略,車輛節點只維護它曾經遇到過的節點的信任值,由于觀察和評估目標事件的能力和條件不同,單個車輛評分并不總是可靠的,車輛信任評價難以在網絡中形成一致。其次,由于傳輸距離有限,一個節點需要時間將信任值傳播給其他節點,即使在一個地區發現了一個惡意節點,它也可以移動到其他沒有被識別的地區,繼續偽裝成一個正常的節點。因此,傳統去中心化的方式也不能很好地適應VANET場景。隨著區塊鏈應用的興起,利用區塊鏈的認證、共識、防竄改等技術特性,實現一套去中心化的信任機制是一種有效可行的方案。近年來,研究人員已提出了一些有價值的研究成果。
Yang等人[8]提出了一種基于區塊鏈的車輛網絡的去中心化信任管理方案。每輛車根據接收到的信息為其鄰近的車輛生成一個信任值,并將這個信任值分享給其連接的RSU。RSU使用PoW和PoS共識機制將該信任值存儲到一個塊中。然而考慮到車聯網環境下設備的資源受限,共識采用PoW和PoS并不是一個理想的選擇。
Singh等人[9]提出了一個基于區塊鏈的車輛通信可信環境,該方案使用了不同類型的區塊鏈結構,包括本地動態區塊鏈(LDB)、主區塊鏈和智能車輛信任點(IVTP),這些組件都有一個安全和獨特的加密ID,IVTP用于確保汽車是值得信任的,它們在與其他車輛通信時,使用并驗證IVTP與LDB的關系。但該方案未充分考慮消息內容的可信度。
除了信任管理外,Li等人[10]提出的CreditCoin協議激勵車輛分享安全信息,該方案構建了一個基于區塊鏈的獎勵車輛公告網絡。為了確保通知的可信度,設計了一個回聲公告協議。類似地,Yin等人[11]也提出了一種基于區塊鏈的激勵機制用于雙車協作的場景,設計了一個競價機制以更好地鼓勵車輛貢獻它們的資源,并相應地安排這些車輛的任務,但該方案并未充分分析代幣導致系統成本開銷。
類似地,Gao等人[12]提出了一個區塊鏈和SDN結合的信任解決方案,實現了5G和霧計算范式下的VANET系統運行,其中考慮到連接車輛給出的可信度信息,對提供信息的車輛給予信譽評分,對區塊鏈和SDN之間的管理責任進行了劃分,改善了系統性能,該系統實現的前提條件比較嚴格且也未充分考慮信息本身的可信度。
針對跨區域信任值不穩定,以及合作的惡意節點產生虛假的信任值,Li等人[13]提出了一種基于區塊鏈的本地信任管理方案,該方案主動檢測附近的惡意節點,從而防止它們在檢測過程中進一步合謀,用區塊鏈來確保來自不同區域的信任數據的一致性,仍然采用了資源消耗較大的算力競爭方式。
Liu等人[14]提出的信任評估模型中,采用了基于隱馬爾可夫模型(HMM)的信任評估方法,提高了對惡意行為檢測的準確性。該模型主要關注消息在節點間的可驗證性、完整性和不可否認性,忽略了消息和節點的質量評估。
Inedjaren等人[15]設計了一個基于模糊邏輯的OLSR(FT-OLSR)協議以提高VANET中的通信安全性。該協議可檢測黑洞攻擊,其識別過程利用區塊鏈完成,每輛車都會驗證通信連接,并檢測到發送HELLO和拓撲控制(topology control,TC)信號的車輛。只有當這個信任值超過閾值時,車輛才被允許傳輸數據包。在這種場景下,車輛在驗證發送方的真實性之前,需要等待一條通知消息,這可能會造成額外延遲。
Kudva等人[16]設計了一種基于區塊鏈的分布式信任評分框架協議(AODV),旨在VANET中檢測內部攻擊者。該協議分為兩層:在第一層中,相鄰節點單獨計算信任值;在第二層,構建基于區塊鏈的聯盟系統,由授權的路側單元(RSU)作為驗證者,匯總車輛節點的信任分值。該協議存在可擴展性和聯盟成員管理問題。
Bhargava等人[17]提出了一個基于不確定性的信任模型,它使用Dempster Shafer理論(DST)來解釋信息稀缺而產生的不確定性,DST結合發送信息的車輛的直接和間接信任值來建立新的信任意見。其方案中引入了懲罰函數、遺忘函數、獎勵因子和基于不確定性的重要性因子,因此該模型實現過程比較繁復,更適合用于理論分析。
本文對近年已有區塊鏈信任機制進行了梳理總結,如表1所示。
現有方案從不同角度討論了VANET信任管理,然而并不能充分適應VANET特點。首先,信任反映了對接收到的信息的確定程度,信任評估應兼顧實體信任(車輛)和數據信任(消息)。例如,當VANET應用程序收到一條警告消息,指出前方路段擁堵建議變換車道,這條警告消息可能是正確的,也可能是惡意車輛處于自私原因偽造的,為了對接收的消息作出及時決策,車輛既要考慮發送源的可信度,也要考慮消息本身的可信度;其次,在車聯網中采用區塊鏈框架,應充分考慮到車聯網設備的計算、存儲及通信資源的受限性,因此采用類似于PoW/PoS的算法會導致較大計算開銷和延遲;最后,道路網絡是一個大型網絡,在VANET中通過廣播或泛洪傳輸消息容易造成擁塞。因此,應該將路網劃分為不同區域,區域內的車輛是本地化的。車輛之間的通信僅通過區域之間的外圍或邊界車輛進行。區域的大小可以根據路網密度的不同而變化。每個區域可以包含一個或多個RSU。這種本地化處理可以更好地避免擁塞并確保了網絡可伸縮性。鑒于上述考慮,本文提出了一種新的VANET信任管理機制。
2 系統模型
2.1 系統構成
系統模型如圖1所示,大型公路網絡被劃分為多個區域,區域可以重疊。網絡中的一個節點代表模型中的車輛節點,基于區域的車輛網絡是一個去中心化的網絡。系統模型主要包括基于貝葉斯推理的信任評估過程和基于超級賬本的處理過程。系統中處理信息的實體包括RSU和車輛。
a)RSU。由于其資源和能力,路側單元主要負責信任評級的收集和信任值管理。
(a)評級收集。由消息接收者對消息可信度進行評級,考慮快速變化的交通環境以及車載設備性能限制,它們不能長期在本地存儲和管理。因此,車輛定期將其評級上傳到附近的RSU。
(b)信任值管理。RSU根據收集到的評級計算出某輛車的信任值。信任值是網絡其他車輛對該車輛的綜合意見,它代表了該車所發信息的歷史可信度。一旦被計算出來,信任值可以在需要時被其他車輛查詢。
b)車輛。車輛配備了車載傳感器、計算機和通信設備,用于數據收集、處理和共享。在車載設備的幫助下,車輛可以感知涉及路況交通相關事件,并向網絡中其他節點發送警告。但是這些信息并不總是可信的,接收者需要匯總所有關于某一事件的信息,并根據自己的規則對信息的可信度生成評級,然后將這些評級上傳到RSU。
在VANET不可信環境中,為了確保數據的真實可靠,采用區塊鏈技術是有效途徑。區塊鏈是一個開放的數據庫,能以去中心化的形式安全地登記和更新交易。它記錄了網絡中產生的所有交易,并維護一個分布式賬本,以提高安全性和隱私性。一個區塊鏈通常由交易、交易記錄(區塊)、共識算法三個必要的組成部分組成。交易包括數據類型、元數據、區塊的加密鏈接以及時間戳。數字簽名被用來保證加密交易的認證。在交易被簽署后,它們被打包到一個被稱為區塊的加密防竄改結構中,這些區塊通過哈希指針按時間順序連接起來,形成一個鏈、共識算法用以產生關于區塊順序的協議,同時也是為了驗證的目的。區塊鏈結構如圖2所示。
在建模過程中,基于區塊鏈結構引入了以下定義:
定義1 區塊鏈節點。區塊鏈節點是VANET中的路側單元(RSU)。它構成了區塊鏈的主要網絡部分,也扮演了礦工的角色。RSU對車輛的信任值進行管理。RSU相對固定,共同組成了區塊鏈網絡的結構,系統通信和計算無須額外的基礎設施,可直接利用車輛中的車載單元(on board unit,OBU)以及RSU之間的現有連接。
定義2 區塊。區塊(交易記錄)是由RSU在收到車輛的信任評級后形成的。區塊包含了特定事件期間各自區域中車輛的信任值。每個RSU用這些更新的車輛信任值創建自己的區塊,然后通過競爭將它們的區塊添加到區塊鏈中。
定義3 共識。共識是RSU之間關于下一個被添加到鏈中區塊的協議。系統采用超級賬本(Hyperledger),這是一個只使用許可投票共識協議的許可區塊鏈基礎設施,代表RSU之間可以部分地相互信任,從而降低對更復雜的共識機制的需求。
2.2 基于貝葉斯的信任推理
信任評估是車輛計算與其互動車輛的可信度的過程。它可以通過聚合車輛節點的信譽和來自其他受信任的車輛節點的信任建議[18],或通過概率模型(如貝葉斯模型)來完成。本文模型把兩者結合起來進行信任推導,在初始化步驟中建立信任等級(即在創世區塊形成之前),并且持續對網絡節點的信任程度進行更新。傳統上,計算類似VANET這種Ad hoc網絡中消息的可信度是考察發送消息的源節點可信度,即發送有關事件的消息的車輛節點。本文認為,源節點可信度和消息的可信度都需要考慮,因為車聯網中的節點行為可能出現不確定性,例如車輛被盜、被黑客攻擊等。
首先由接收車輛對收到的消息R根據事件類型(例如碰撞事故、道路損毀等)進行分組。關于事件ej的消息(報告)存儲在一個組Rj中,并計算Rj={r1j,r2j,…,rnj}中每條消息rkj的可信度,其中rnj是由車輛n發送的關于事件ej的最后一條消息。源車輛信任值存儲在超級賬本中,接收車輛可以向智能合約發送一個查詢請求來獲取該值。車輛信任等級分為高優先級(9~10分)、受信任(5~8分)和不受信任(0~5分)三個等級。普通車輛被初始化為默認的受信任分類。隨著節點的行為評估,信任等級將被動態更新。
基于區域評估消息的可信度,可認為離事件地點距離更近的車輛,關于事件的消息可信度更高[9,19]。在基于區域的網絡中,距離是以車輛節點之間的跳數來度量的。為便于計算,可指定一個最大分值,約等于接收到關于事件(發生在給定區域內的)的消息的區域總數,消息每穿過一個區域(邊界區域)則分值減1。消息的動態分值是歸一化的最大分值減去消息穿過的區域數,該指標反映了消息會隨時間和距離而變化。
對于一個給定事件,網絡中的車輛獨立地把信息廣播給鄰居車輛。這個消息rkj是五元組(vk,Lj,ej,mkj,tkj),其中vk表示發送車輛的ID;L表示事件的位置,包括經度和緯度;ej表示事件;mkj是消息的ID;tkj表示時間戳。
如前所述,對一個給定的消息和消息發送者,消息可信度取決于消息發送者和事件現場的距離,以及消息發送者的可信度。離事件發生點最近的車輛發送的信息比更遠的車輛發送的信息更可靠。本文模型采用了文獻[6]的度量,即接收方關于事件的消息可信度如式(1)所示。
其中:ckj代表車輛vk報告的關于事件的消息可信度;dkj是vk和L的距離。預設b和γ用于控制消息可信度的下限和變化率。若vk沒有發送消息,則ckj值為零。
由于VANET中車輛的移動性,在網絡中幾個車輛可能觀察到網絡中的一個事件,那么一輛車可能會收到來自不同發送者的消息。所以,接收方通過發送者和事件的距離為這些同一事件的消息計算可信度,如向量Cj={c1j,c2j,…}。然后,每輛車向最近的RSU請求消息發送者vk的信任值fk,同樣地,不同發送者的信任值可組成向量Fj={f1j,f2j,…}。那么,接收方可計算事件的可信度為
式(5)中,ck 和e是獨立的,因此有
其中:P(ck)=1-P(ck),P(F|ck)和P(f|ck)由式(7)(8)給出。
式(2)中的P(e|C)通過式(9)計算。
其中:P(e)=1-P(e),P(ck|e)=ck和P(ck|e)=1-ck。P(C|e,F)由式(10)確定。
P(C|e,F)=P(C|F)=∏Nk=1P(ck|F)(10)
最后,接收車輛將計算出的可靠性發送到最近的RSU,即(vr,vs,e,P(e|F,C)),其中vr是接收方ID,vr是發送方ID。
P(ckj|e)刻畫了這條消息確認事件有效性的概率。類似地,P(ckj|e)=1-P(ckj|e),描述了事件不發生時消息有效性的概率。貝葉斯推斷中通常將參數α和β用于建模先驗信念的貝塔分布,貝塔分布的均值和方差計算如下:
貝塔分布的均值表示先驗概率的值,故對后驗概率的影響最大[18]。因此,如果先驗概率是0.5,則代表了中性立場,說明在一個地區事件發生的概率等于不發生的概率。采用預設中性值作為先驗,隨著網絡的變化,貝塔分布參數α和β是根據該區域以往事件的可信度均值和方差計算出來的,這代表了一個比采用研究估計更現實的場景,它說明在一個區域中,可能導致或防止事故的因素是如何隨時間而變化的。貝葉斯推理的結果,即事件(如一次事故)發生的概率,由靠近發生區域的所有車輛報告,然后接收車輛決定是否往另一條路線駕駛,并把該結果發送到RSU,RSU將其用于更新超級賬本中所有消息源車輛的評級,其中被認為對事件正確報告的車輛的評級用信任偏移量增加1,其余車輛信任偏移量減1。
2.3 基于Hyperledger的實現
文獻[8]綜合了比特幣的工作證明和以太坊的股份證明,最終選擇了具有最大信任偏移(offset)的區塊(即信任價值變化最大)。本文認為,這個想法只對純公有和無許可的理論區塊鏈網絡有利,不便于VANET的區塊鏈實現過程,因為車載單元不具備處理計算密集型共識協議的計算能力。這些協議需要專門的設備,并且需要較長時間來驗證關于事件的消息。
本文系統基于Hyperledger Fabric實現,Hyperledger Fabric是一種開源許可區塊鏈框架,采用模塊化通用型框架,所具備的身份管理及訪問控制功能使其很適用于各種行業應用。Fabric為應用提供了gRPC API, 以及封裝了API的SDK供應用調用,應用可以通過SDK訪問網絡中的多種資源,包括賬本、交易、鏈碼、權限管理等。開發者只需要跟這些資源打交道而無須關心如何實現。應用通過發起交易來向賬本中心記錄數據,交易執行的邏輯通過鏈碼來承載。Hyperledger中的共識算法是可插拔的,受限于車聯網應用的存儲能力和計算能力,因此需更輕量級的共識算法。本文方案實現過程中共識層采用了PBFT算法,與公共區塊鏈中的PoW、PoS等共識算法相比,PBFT中無須代幣,其資源開銷更低,更適合車聯網應用場景[20]。當接收方車輛收到來自多個源車輛的事件消息時,車輛從超級賬本中請求獲得源的信任值。如果沒有可用信任值,則由接收機機載單元OBU使用提出的貝葉斯信任模型評估可信度。如果以前在同一區域發生過類似事件,則貝葉斯先驗是基于與該區域相關的早期事件報告計算的,計算其可信度并由接收車輛確定消息是否有效。RSU最后更新源車輛的信任值。系統的工作流程如圖3所示。
下面說明VANET智能合約實現和用于查詢RSU的詳細過程。
a)智能合約。Hyperledger中的智能合約又稱鏈碼,用于控制交易操作,應用程序可以通過SDK和peer節點進行交互,peer節點提供了調用鏈碼服務的接口,以操作賬本數據,只要滿足預設條件時便自動執行。首先需要打包智能合約,然后將鏈碼安裝到peer節點上,只有安裝了peer節點才能執行交易或者背書。鏈碼需要足夠多的組織同意才能在通道上啟動,提交者需要收集足夠的背書以后才能將鏈碼提交給通道。本文方案中的智能合約包括三個關鍵的函數模塊,函數SetTrust()用于設置信任值,當車輛加入網絡時對其進行初始化。例如,對諸如消防車、救護車、警車等特種車輛初始化為高信任等級,分值為9分,對普通車輛設定初始值為5分。函數UpdateTrust()用于更新信任值,隨著貝葉斯推理過程,車輛將得到不同的信任偏移量,RSU根據信任偏移量對車輛狀態進行更新。函數QueryTrust()用于查詢消息來源車輛的當前信任值,以輔助其決策過程,其中包括消息可信度的計算。
算法1 車輛信任值智能合約
func SetTrust(context, VehID, VehType, PeerID,TrustValue){
VelTrustStatae=CreateInstance(VehID, VehType,TrustValue)
if VehType==special vehicles //特種車輛初始為高優先級
VelTrustState.SetPrior()
else VelTrustState.SetTrusted() //否則初始為可信級最低值
TrustValue=5
context.TrustList.add(TrustValue)
return TrustVaule
}
func UpdateTrust(context, VehID, PeerID, offset){
VelTrustKey=VehTrust.Makekey(VehID, PeerID)
VelTrustState=context.TrustList.get(VelTrustKey)
//生成信任key和狀態列表
OldTrustValue=VelTrust.get()
NewTrustValue=offset+OldTrustValue
//通過信任偏移量更新舊信任值
if NewTrustValue>8
VelTrustState.SetPrior()
else if NewTrustValue≥5
VelTrustState.SetTrusted()
else VelTrustState.SetUnTrusted()
Context.TrustList.update(TrustValue)
//根據信任值取值范圍,劃分車輛信任層級
return TrustValue
}
func QueryTrust(context, VehID, PeerID){
VelTrustKey= VehTrust.MakeKey(VehID, PeerID)
VelTrust= Context.TrustList.get(VelTrusKey)
//通過車輛ID和節點ID查詢信任值
show VehTrustState()
return TrustValue
}
b)APP被用來向賬本提交交易或者查詢賬本內容。客戶端APP使用SDK來跟Fabric網絡打交道,首先需要獲取許可以加入應用通道,發起正式交易之前,需要構造提案提交給背書節點,利用背書構造合法的交易請求并參加排序。用于發布和更新信任值的應用程序存儲在RSU中,只有網絡管理員可以訪問。在區塊鏈創世時,所有車輛的信任等級由網絡管理員使用發行APP初始化,車輛評級由RSU自動更新,已經證明對網絡作出貢獻的正常車輛可以晉級為高優先級,而惡意車輛則被降級為不信任級別。在區塊鏈產生后,任何新車添加到網絡時由其區域中的RSU自動完成。APP可以調用智能合約的功能,對不同的網絡參與者是不同的。由于方案是聯盟鏈的應用場景,所以需要考慮權限管理相關的功能需求,如有些身份可以向網絡中發送交易。網絡中的車輛只包含查詢APP,且被限制在更新或初始車輛信任值的應用程序。這是為了防止網絡區塊鏈節點出于惡意或個人利益操縱車輛信任度等高優先級的賬本內容,確保網絡的安全性。
Hyperledger消息是由對消息源車輛的信任程度的請求組成的,主要包括VANET智能合約對Hyperledger的簡單查詢。也就是說,網絡上的一輛車使用車輛ID向Hyperledger詢問信任值。Hyperledger使用源車輛ID和相應的源車輛的信任級別進行回應。信任值的請求消息幾乎不包含任何開銷,這使其具有很低的延遲,這有利于車輛接收來自另一車輛的事件消息并作出快速回應。車輛向Hyperledger發送信任等級請求,Hyperledger在不到幾毫秒的時間內發回消息源的信任等級。包含更新Hyperledger中源車輛信任等級的所有偏移量的消息比請求消息有更多的開銷,反過來也有更多的通信延遲。然而,該消息通常在車輛決策過程完成后發送,因此增加的延遲是可以接受的。總之,在本文的Hyperledger框架中,向Hyperledger發送請求比傳統的VANET事件消息更快,占用的空間更小。因此,增加區塊鏈框架并沒有大幅增加通信成本,相反,信任的建立提高了VANET的安全性。
3 實驗分析
3.1 環境配置
本節分析了在Hyperledger上實現的VANET信任推理模型。作為一個開源的平臺,Hyperleader具有可定制的特點,并在區塊鏈部署中被廣泛采用。參照區塊鏈系統,它從下到上由數據層、網絡層、共識層、合約層和應用層五層組成。為了適應本文仿真場景,本文進行了一些調整,在數據層重新定義了交易賬單中的記錄數據結構,以發布和更新車輛的歷史信任信息,而網絡層仍然使用原來的代碼來收集交易,實現節點之間的區塊傳輸和驗證。
考慮到Hyperledger Frabirc僅v0.6版本包含PBFT,后續版本采用的通常是solo、raft和kafka等共識算法,因此需要使用PBFT時需要自行添加配置PFFT共識模塊。關鍵步驟如下:
a)首先可在GitHub中下載fabirc 1.4.4、fabric-samples和pbft, 將pbft文件夾復制到fabric目錄下的consensus文件夾中,并將/bin和/config復制到fabirc-samples目錄下;
b)基于configtxgen源碼修改,使得能夠識別PBFT;
c)添加共識算法實例,consenters[“pbft”]=pbft.New();
d)實現共識接口,/order/consensus/consensus.go。
在合約層和應用層方面,采用Hyperledger的鏈碼功能實現數據的交互,即車輛信任信息的查詢和更新。實驗環境是:CPU為Intel? CoreTM i7-4790K @ 4.00 GHz;RAM為16 GB DDR3-1600,操作系統是Windows 10;Docker-Compose版本為v1.25.4,Hyperledger Fabric版本為v1.4.4。用于計算消息可信度以及生成信任等級偏移的信任推理模型基于Java實現。網絡初始拓撲如圖4所示。
3.2 信任推理
貝葉斯推理依賴于先驗證據,當使用貝塔分布建模時,先驗證據被描述為貝塔先驗。這些先驗指的是可以作為證據得出結論的先驗,并從分布的均值和方差中得到。簡單來說,在一個地區已發生事故的情況下,先驗描述了該地區事故發生的概率。例如,表1顯示了貝葉斯推理的初始化參數,即車輛在網絡創建時收到關于1區事故的信息。均值0.5表示事故在該區域發生或不發生的概率相同,標準差設為0.1,考慮到任何不確定性。這些值反過來又使用式(1)(2)計算貝塔先驗指標,具體參數設置如表2所示。
圖5顯示了通過馬爾可夫鏈蒙特卡羅過程進行貝葉斯推理計算事故的聚合可信度前后的貝塔分布。其中密度是指決定離散隨機變量的概率分布的概率密度函數。這種情況下的概率分布如前面所述為貝塔分布。用θ表示1區發生事故的先驗概率為0.5。但是,當考慮了所有車輛事故報告的可信度以后,事故發生的概率變為0.46,這表明事故沒有發生的可能性是存在的。
表3顯示了在下一次車輛收到關于區域1事故的報告時,貝葉斯推理的初始化參數。在這種情況下使用的先驗證據是以前計算區域1發生事故的概率得到的后驗證據。表3中的均值μ和標準差值σ是從網絡創建時發生的事故的貝塔分布中得到的。
圖6顯示了后驗證據的概率,當確認事故事件的報告數量占多數時,考慮到該地區先前事故的先驗證據。由圖6可知,事故發生的可能性是存在的。然而,考慮到事先知道最后一個撞車事件發生的概率是不太可能的,后驗分布仍然顯示出一定的彈性特征(即它并沒有顯著地向右邊移動)。當大多數報告是假的時,這種彈性特征就顯得很重要了。
3.3 節點信任值分析
圖7顯示了網絡中節點的信任變化情況,該場景模擬了評價機制中常見的惡評行為和灌票行為。實施惡評行為的節點總是給其他節點評價為0分,而灌票行為總是給所有節點評價為1分。預設環境中誠實節點占50%,惡評節點比例為25%,灌票節點比例為25%。通過50輪信任評估,圖7中顯示所有用戶車輛的信任分數大約在18輪后趨于一致。誠實用戶車輛在實驗后獲得了最高的信任分數,與之對比的是兩種不誠實節點都獲得了很低的信任分數。此外,灌票節點的收斂信任分數略高于惡評節點,原因是系統中的誠實車輛占比更大,灌票節點的某些評價與誠實評價是相同的,而惡評者在信任評估中付出了更大的代價。
3.4 吞吐量分析
圖8顯示在車聯網應用中,區塊大小BS(block size)和交易到達率對交易吞吐量的影響。圖(a)代表在本文方案中的吞吐量,作為對比;圖(b)顯示了以文獻[8]為代表的采用PoW共識的系統吞吐量。交易到達率以每秒處理的交易數tps(transaction per second)度量,調整區塊大小觀測吞吐量,觀測到交易到達率和吞吐量之間,以及區塊大小和吞吐量之間的變化關系。如圖8所示,吞吐量不一定隨交易到達率增加而顯著增加,吞吐量將在交易到達率達到飽和點后變得穩定,這是由于系統一次處理多個交易的能力有限。到達飽和點之前,吞吐量隨著交易到達率增加而線性增加,飽和點之后的吞吐量不再線性增加,最終趨于平直。從區塊鏈大小和吞吐量的關系可看出,直到交易到達率飽和以前,所有區塊大小對應的吞吐量基本相同,而飽和點以后,較大的區塊的吞吐量略高于較小區塊的吞吐量。圖(a)中交易到達率飽和點約為150 tps,圖(b)中交易到達率飽和點約為120 tps, 且對于相同交易到達率,本文方案中的吞吐量高于文獻[8],因為文獻[8]每次達成共識需要全網共同參與運算,資源消耗較大,系統整體運行效率較低,吞吐量受影響較大。
3.5 時延分析
時延衡量了VANET系統完成交易所花費的時間。根據區塊內的交易數量,觀測不同區塊大小對應的時延。類似于3.4節,圖9(a)顯示本文方案中的時延,圖9(b)顯示以文獻[8]為代表的采用PoW的時延。從圖9可以看出,交易到達率升至飽和點以后,時延出現明顯躍升。圖(a)中交易到達率增至150 tps(當圖(b)的交易到達率增至120 tps),不同大小區塊對應的時延都顯著增加。這是由于當網絡處理的交易數量越多時,排隊等待驗證的交易數量就越多。另外,對于交易到達率未至飽和點之前,時延通常是隨區塊大小的增加而變大,因為排序器的區塊創建時間隨區塊變大而變大,所以導致了時延增加。對于相同的交易到達率,本文時延比文獻[8]中時延更低。這是因為文獻[8]中達成共識更耗時,導致獲得寫入區塊權限的等待時間更久,交易確認周期更長,影響了產生交易區塊的效率。
4 結束語
針對虛假信息威脅到VENAT中信息共享的公平性問題,本文提出了一個基于區塊鏈的去中心化VENAT信任管理系統。信任值在RSU中根據消息接收者產生的評級進行匯總,RSU會匯總出參與車輛的信任值偏移,并形成一個區塊。每個RSU將嘗試把它們的“區塊”添加到由所有RSU維護的信任區塊鏈中,所有RSU共同維護一個可靠和一致的數據庫。仿真表明,所提系統對于分散的信任管理是有效和可行的。未來還有部分工作需要改進:a)目前的實現方式僅限于Hyperledger,而它實質上是一個半許可的框架,這意味著車輛節點要在Hyperledger上交換信息,需要某種形式的初始許可(如車輛注冊),當前只使用一個簡單的拜占庭投票共識協議,后續需考慮修改模型中的共識協議,使其在完全公開的無權限區塊鏈上部署;b)系統假定了網絡節點都參與事件的報告,提供惡意評價的節點信任受到了懲罰,但是實際網絡中可能還存在一些搭便車節點,只享受網絡提供的服務,而不提供網絡協作。因此需要有效的激勵機制來刺激網絡中的節點參與到聯合信任評估服務,可以考慮采用區塊鏈中適當的價格激勵模型。
參考文獻:
[1]周雯雯, 陸陽, 石雷. 面向5G車聯網場景的移動任務動態卸載策略研究[J]. 計算機應用研究, 2021,38(10): 3427-3431. (Zhou Wenwen, Lu Yang, Shi Lei. Research on dynamic offloading strategy of mobile task for 5G vehicle networks[J]. Application Research of Computers, 2021,38(10): 3427-3431.)
[2]程久軍, 原桂遠, 崔杰, 等. 城市場景中車聯網時空數據分析及其通達性方法[J]. 通信學報, 2021,42(6): 52-61. (Cheng Jiujun, Yuan Guiyuan, Cui Jie, et al. Spatio-temporal data analysis and accessibility method for IoV in an urban scene[J]. Journal on Communications, 2021,42(6): 52-61.)
[3]Rasheed H, Jooyoung L, Sheali Z. Trust in VANET: a survey of current solutions and future research opportunities[J]. IEEE Trans of Intelligent Transportation Systems, 2021,22(5): 2553-2570.
[4]Mahmoud M E, Shen Xuemin. An integrated stimulation and punishment mechanism for thwarting packet dropping attack in multihop wireless networks[J]. IEEE Trans on Vehicular Technology, 2011,60(8): 3947-3962.
[5]Raya M, Papadimitratos P, Gligor V D, et al. On data-centric trust establishment in ephemeral Ad hoc networks[C]//Proc of the 27th IEEE Conference on Computer Communications. Piscataway, NJ: IEEE Press, 2008: 1238-1246.
[6]Huang Xumin, Yu Rong, Kang Jiawen, et al. Distributed reputation management for secure and efficient vehicular edge computing and networks[J]. IEEE Access, 2017,5: 25408-25420.
[7]Oluoch J. A distributed reputation scheme for situation awareness in vehicular Ad hoc networks(VANETs)[C]//Proc of IEEE International Multi-Disciplinary Conference on Cognitive Methods in Situation Awareness and Decision Support. Piscataway, NJ: IEEE Press, 2016: 63-67.
[8]Yang Zhe, Yang Kan, Lei Lei, et al. Blockchain-based decentralized trust management in vehicular networks[J]. IEEE Internet of Things Journal, 2019,6(2):1495-1506.
[9]Singh M, Kim S. Branch based blockchain technology in intelligent vehicle[J]. Computer Networks, 2018,9(145): 219-231.
[10]Li Lun, Liu Jiqiang, Chen Lichen,et al. CreditCoin: a privacy-preserving blockchain-based incentive announcement network for communications of smart vehicles[J]. IEEE Trans on Intelligent Transportation Systems, 2018,19(7): 2204-2220.
[11]Yin Bo, Wu Yulie, Hu Tianshi, et al. An efficient collaboration and incentive mechanism for Internet of Vehicles(IoV) with secured information exchange[J]. IEEE Internet of Things Journal, 2020,7(3): 1582-1594.
[12]Gao Jianbin, Agyekum O B O, Siafah E B, et al. A blockchain-SDN-enabled Internet of Vehicles environment for fog computing and 5G networks[J]. IEEE Internet of Things Journal, 2020,7(5): 4278-4291.
[13]Li Fuliang, Guo Zhenbei, Zhang Changsheng, et al. ATM: an active-detection trust mechanism for VANETs based on blockchain[J]. IEEE Trans on Vehicular Technology, 2021,70(5): 4011-4021.
[14]Liu Han, Han Dezhi, Li Dun. Behavior analysis and blockchain based trust management in VANETs[J]. Journal of Parallel and Distributed Computing, 2021,151: 61-69.
[15]Inedjaren Y, Maachaoui M, Zeddini B, et al. Blockchain-based distributed management system for trust in VANET[J]. Vehicular Communications, 2021,30:100350.
[16]Kudva S, Badsha S, Sengupta S, et al. A scalable blockchain based trust management in VANET routing protocol[J]. Journal of Parallel and Distributed Computing, 2021,152:144-156.
[17]Bhargava A, Verma S. DUEL: dempster uncertainty-based enhanced trust level scheme for VANET[J]. IEEE Trans on Intelligent Transportation Systems, 2021,23(9): 15079-15090.
[18]Chaurasia B K, Verma S, Tomar G S. Trust computation in VANETs[C]//Proc of International Conference on Communication Systems amp; Network Technologies. Piscataway, NJ: IEEE Press, 2013: 468-471.
[19]Wang Tian, Zhang Guangxue, Liu Anfeng, et al. A secure IoT ser-vice architecture with an efficient balance dynamics based on cloud and edge computing[J]. IEEE Internet of Things Journal, 2019,6(3): 4831-4843.
[20]Feng Qi, He Debiao, Zeadally S. BPAS: blockchain-assisted privacy-preserving authentication system for vehicular Ad hoc networks[J]. IEEE Trans on Industrial Informatics, 2020,16(6): 4146-4155.
[21]安德魯·格爾曼,約翰B·卡琳,哈爾S·斯特恩,等. 貝葉斯數據分析[M]. 3版,北京:世界圖書出版公司,2020:165-193. (Gelman A,Carlin J B,Stern H S,et al. Bayesian data analysis[M].3rd ed. Beijing: World Publishing Corporation, 2020: 165-193.)