李春燕,趙佳,劉吉強(qiáng),張強(qiáng),韓磊
?
車載自組織網(wǎng)絡(luò)中基于區(qū)塊鏈的路況預(yù)警方案
李春燕1,2,趙佳1,2,劉吉強(qiáng)1,2,張強(qiáng)3,韓磊4
(1. 北京交通大學(xué)智能交通數(shù)據(jù)安全與隱私保護(hù)技術(shù)北京市重點實驗室,北京 100044; 2.北京交通大學(xué)計算機(jī)與信息技術(shù)學(xué)院,北京 100044; 3. 北京市公安局網(wǎng)絡(luò)安全保衛(wèi)總隊,北京 100029; 4. 信息保障技術(shù)重點實驗室,北京 100071)
路況預(yù)警方案是解決車載自組織網(wǎng)絡(luò)(VANET,vehicular ad-hoc network)中車輛擁堵、交通事故問題的有效手段。分析了我國目前的交通狀況以及車載自組織網(wǎng)絡(luò)的發(fā)展和應(yīng)用,結(jié)合區(qū)塊鏈技術(shù)提出了一種適用于車載自組織網(wǎng)絡(luò)的基于區(qū)塊鏈的路況預(yù)警方案。采用Hyperledger Fabric聯(lián)盟鏈技術(shù)平臺對該方案進(jìn)行了仿真實驗,實驗結(jié)果表明本方案合理、可行。
車載自組織網(wǎng)絡(luò);區(qū)塊鏈;Hyperledger Fabric;路況預(yù)警
21世紀(jì)初,我國國民經(jīng)濟(jì)以驚人的速度增長,國民生活水平不斷提高,使我國機(jī)動車的數(shù)量不斷增長。數(shù)據(jù)顯示,從1995年到2014年期間,中國機(jī)動車的增長率為每年10%,達(dá)到1.5億輛[1];截止到2015年底,我國機(jī)動車數(shù)量有2.79億輛,到2016年底,我國機(jī)動車數(shù)量有2.9億輛,到2017年底,我國機(jī)動車數(shù)量持續(xù)增長有3.1億輛,圖1為2012-2017年中國機(jī)動車保有量柱狀圖。機(jī)動車數(shù)量的不斷增加導(dǎo)致道路擁堵更加嚴(yán)重,此外,酒后駕車、違反交通規(guī)則等行為的增多也增加了道路擁堵的嚴(yán)重性。交通堵塞問題給我國公民的生活帶來了嚴(yán)重不便,因此,我國城市的交通堵塞、交通事故等問題亟待解決。
隨著21世紀(jì)互聯(lián)網(wǎng)行業(yè)的發(fā)展,智慧城市的建設(shè)已是大勢所趨,車載自組織網(wǎng)絡(luò)是智慧城市中極其重要的一部分,未來的智能交通系統(tǒng)將很大限度地依賴于車載自組織網(wǎng)絡(luò)。有數(shù)據(jù)顯示我國的車輛擁堵、交通事故等交通狀況嚴(yán)重困擾著我國公民的生活和出行,同樣的交通問題也必將出現(xiàn)在未來智慧城市的車載自組織網(wǎng)絡(luò)中。
圖1 中國機(jī)動車保有量
車載自組織網(wǎng)絡(luò)是一種具有移動ad hoc網(wǎng)絡(luò)大部分特性的特殊移動自組織網(wǎng),在車載自組織網(wǎng)絡(luò)中裝配無線通信作用的節(jié)點(這些節(jié)點大多數(shù)情況下由車輛和路邊單元構(gòu)成)有數(shù)千個,這些無線節(jié)點在車載自組織網(wǎng)絡(luò)中采用多跳的方式通信。在車載自組織網(wǎng)絡(luò)中,每一個車輛節(jié)點都具有3個角色(發(fā)送者、接收者和路由器)在車輛網(wǎng)絡(luò)中收發(fā)信息,為人們搭建了便捷舒適的交通路況,這增加了車輛之間溝通方式的積極性,也能準(zhǔn)確發(fā)現(xiàn)道路狀況(車輛擁堵、交通事故等)。在車載自組織網(wǎng)絡(luò)節(jié)點之間采用無線通信方式的包括:車輛節(jié)點之間、路邊單元RSU之間以及車輛節(jié)點和路邊單元RSU之間。車載自組織網(wǎng)絡(luò)是物聯(lián)網(wǎng)的一部分,它在實現(xiàn)車輛間無線通信的同時還可以對車載網(wǎng)中的數(shù)據(jù)進(jìn)行存儲處理,以及大數(shù)據(jù)分析,使網(wǎng)絡(luò)系統(tǒng)得到很大程度的改善、信息服務(wù)的質(zhì)量大幅度地提高,使大數(shù)據(jù)等行業(yè)得到發(fā)展的同時,也對國家經(jīng)濟(jì)和社會的發(fā)展有促進(jìn)作用。如今,車載自組織網(wǎng)絡(luò)正在朝著人?車?事物?環(huán)境深度融合的方向發(fā)展,改善了交通狀況,縮短了出行時間,給人們的出行帶來了極大的便利。總而言之,車載自組織網(wǎng)絡(luò)將車輛的功能和設(shè)施作為移動信息平臺而不是簡單的運(yùn)輸實體進(jìn)行擴(kuò)展,這大大豐富了車輛系統(tǒng)的功能[2-7]。
比特幣的公開賬本——區(qū)塊鏈技術(shù)由中本聰在2009年首次提出,此后許多其他形式的電子現(xiàn)金也是用類似的結(jié)構(gòu)進(jìn)行創(chuàng)建,同時區(qū)塊鏈技術(shù)也廣泛應(yīng)用于物聯(lián)網(wǎng)等其他領(lǐng)域。區(qū)塊鏈的潛在用途超過了比特幣,區(qū)塊鏈具有以下特性。
1) 分散控制:在區(qū)塊鏈技術(shù)中不需要可信任的第三方制定規(guī)則。
2) 數(shù)據(jù)透明性和可審查性:系統(tǒng)中執(zhí)行的每個事務(wù)的完整副本都存儲在區(qū)塊鏈的每個節(jié)點上,且所有節(jié)點都是對等公開的。
3) 分布式共識:在區(qū)塊鏈技術(shù)中打破了集中共識的范式,采用所有網(wǎng)絡(luò)節(jié)點共同參與交易的方式。
4) 安全性:當(dāng)區(qū)塊鏈被惡意操縱時,所有區(qū)塊結(jié)構(gòu)都需要改變,這種改變使其他節(jié)點知道此節(jié)點被別人篡改,能夠立即察覺到,此外,區(qū)塊鏈還能對交易進(jìn)行驗證。
物聯(lián)網(wǎng)解決方案基本要素要求具有安全、分布式和自治等特性,區(qū)塊鏈技術(shù)正是具有這些特性的一門技術(shù)。車載自組織網(wǎng)絡(luò)是物聯(lián)網(wǎng)的一部分,將區(qū)塊鏈技術(shù)運(yùn)用到車載自組織網(wǎng)絡(luò)中能夠很好地解決車載自組織網(wǎng)絡(luò)中的安全等問題。
根據(jù)以上所列出的車載自組織網(wǎng)絡(luò)中的交通路況問題以及區(qū)塊鏈的特性,本文將區(qū)塊鏈技術(shù)運(yùn)用到車載自組織網(wǎng)絡(luò)中,實現(xiàn)車載自組織網(wǎng)絡(luò)中路況預(yù)警,該方案可實現(xiàn):
1) 不需要可信任的第三方處理路況信息,就可辨別出正確路況并將正確的路況廣播給其他車輛節(jié)點;
2) 區(qū)塊鏈技術(shù)的應(yīng)用使存儲在區(qū)塊內(nèi)的正確的路況信息不能被篡改;
3) 車輛節(jié)點發(fā)送的路況信息具有可追溯性,如果路況信息出現(xiàn)問題,可查找出有問題車輛節(jié)點。
因此,在車載自組織網(wǎng)絡(luò)的路況預(yù)警中運(yùn)用區(qū)塊鏈技術(shù)保證路況信息具有去中心化、防篡改和可追溯等特性。
從目前的形式來看,區(qū)塊鏈技術(shù)已被國內(nèi)外學(xué)者廣泛應(yīng)用于各個領(lǐng)域,其中包括物聯(lián)網(wǎng)領(lǐng)域、云計算領(lǐng)域等。
區(qū)塊鏈在物聯(lián)網(wǎng)領(lǐng)域的應(yīng)用:文獻(xiàn)[8]提出了一種在物聯(lián)網(wǎng)中基于區(qū)塊鏈技術(shù)仲裁角色和權(quán)限的新的體系結(jié)構(gòu)。文獻(xiàn)[9]提出了在物聯(lián)網(wǎng)中可應(yīng)用區(qū)塊鏈技術(shù)解決問題的4個領(lǐng)域:1) 供應(yīng)鏈管理;2) 設(shè)備可以銷售它們的設(shè)備性能;3) 在共享經(jīng)濟(jì)中,設(shè)備可以銷售它們的服務(wù);4) 設(shè)備之間互相通信。此外,文獻(xiàn)[9]闡明了區(qū)塊鏈能夠保證數(shù)據(jù)的安全性和完整性,將其與分布式注冊表技術(shù)相結(jié)合應(yīng)用于物聯(lián)網(wǎng)中會產(chǎn)生巨大的協(xié)同效應(yīng)。文獻(xiàn)[10]闡述了物聯(lián)網(wǎng)中數(shù)據(jù)交換的需求,但是集中式基礎(chǔ)設(shè)施無法提供作為數(shù)據(jù)交換的足夠信任的第三方中介,區(qū)塊鏈技術(shù)能夠很好地解決這樣的問題,由此,提出了基于區(qū)塊鏈的物聯(lián)網(wǎng)數(shù)據(jù)可信交換的分散式解決方案。文獻(xiàn)[11]針對物聯(lián)網(wǎng)中的隱私泄露問題,提出了區(qū)塊鏈連接網(wǎng)關(guān)的方案,該方案中區(qū)塊鏈網(wǎng)絡(luò)自適應(yīng)地維護(hù)物聯(lián)網(wǎng)設(shè)備和用戶的隱私,此外,還提出一種基于區(qū)塊鏈技術(shù)的數(shù)字簽名機(jī)制,來解決隱私糾紛問題。
區(qū)塊鏈在云計算領(lǐng)域的應(yīng)用:文獻(xiàn)[12]利用區(qū)塊鏈技術(shù)提高云取證中所有利益相關(guān)者交互記錄的可信度。文獻(xiàn)[13]針對用戶和云服務(wù)交互過程中云服務(wù)器為了獲得獎勵而不誠實地刪除用戶數(shù)據(jù)問題,提出了一種基于區(qū)塊鏈技術(shù)誠實地刪除數(shù)據(jù)的方案,該方案不需要可信任的第三方且用戶可以對云服務(wù)是否已經(jīng)刪除數(shù)據(jù)進(jìn)行驗證。文獻(xiàn)[14]區(qū)塊鏈技術(shù)的應(yīng)用使在無信任環(huán)境中保管共享醫(yī)療數(shù)據(jù)取得成功。
區(qū)塊鏈在其他領(lǐng)域的應(yīng)用:文獻(xiàn)[17]提出一種全新的排放交易計劃,此計劃中運(yùn)用了區(qū)塊鏈技術(shù)。文獻(xiàn)[15]提出了一種基于區(qū)塊鏈技術(shù)的側(cè)管理,用于匹配智能電網(wǎng)層面的能源需求和生產(chǎn)。文獻(xiàn)[16]提出了一種基于區(qū)塊鏈技術(shù)微電網(wǎng)分散式電力交易模式,使消費(fèi)者的權(quán)益得到保障。
路況預(yù)警的發(fā)展?fàn)顩r:現(xiàn)有的文獻(xiàn)實現(xiàn)路況預(yù)警消息的傳播,大多采用多播路由協(xié)議,難以滿足路況預(yù)警消息的實時性和可靠性。文獻(xiàn)[17]在此基礎(chǔ)上提出最優(yōu)中繼算法,中繼算法的基本思想是當(dāng)車輛收到周圍鄰居廣播的告警消息后采用中繼算法選出最優(yōu)中繼車輛進(jìn)一步轉(zhuǎn)發(fā),而本文中提出的路況告警消息是由此路段的車輛節(jié)點采用區(qū)塊鏈技術(shù)對同一條路況告警消息達(dá)成共識后,由固定單元在全網(wǎng)進(jìn)行廣播。
自2008年中本聰發(fā)表比特幣白皮書后,國內(nèi)外學(xué)者開始對區(qū)塊鏈技術(shù)進(jìn)行研究,將區(qū)塊鏈應(yīng)用于各個領(lǐng)域。區(qū)塊鏈技術(shù)的特性(去中心化、防篡改、不可偽造、可追溯)能夠很好地解決各個領(lǐng)域中的一些問題。
本文將比特幣中傳統(tǒng)的區(qū)塊鏈結(jié)構(gòu)改造成適用于車載自組織網(wǎng)絡(luò)的區(qū)塊鏈結(jié)構(gòu),在不需要可信第三方參與的情況下,實現(xiàn)路況預(yù)警且保證路況信息在傳播過程中的正確性。車載自組織網(wǎng)絡(luò)中基于區(qū)塊鏈技術(shù)的路況預(yù)警方案的大致思想是:當(dāng)?shù)缆飞铣霈F(xiàn)擁堵或交通事故時,該道路上的車輛節(jié)點會進(jìn)行挖礦形成創(chuàng)世區(qū)塊(即第一個區(qū)塊),接下來其他車輛節(jié)點繼續(xù)挖礦形成路況信息鏈,該路況信息鏈由附近的固定單元進(jìn)行處理,將路況信息廣播給其他固定單元,固定單元再廣播給自己區(qū)域內(nèi)的車輛,此外,固定單元還會將提供正確路況信息的車輛節(jié)點信息上傳給車輛管理中心,車輛管理中心給這些車輛一些獎勵。
本文運(yùn)用區(qū)塊鏈技術(shù)提出的路況預(yù)警方案相對于文獻(xiàn)[17]中提出路況預(yù)警消息傳播方案的優(yōu)點如下。
1) 從路況消息的產(chǎn)生看,本文路況消息的產(chǎn)生是由多個車輛節(jié)點對一條路況消息達(dá)成共識,相對文獻(xiàn)[17]中路況信息由一個車輛節(jié)點產(chǎn)生更加真實可信。且本文運(yùn)用區(qū)塊鏈技術(shù)能夠有效保證路況告警信息的防篡改性和可追溯性。
2) 文獻(xiàn)[17]中對告警消息的傳播依然停留在協(xié)議層面,協(xié)議需要根據(jù)車輛接收告警信息功率滿足一定的閾值,此方案需要一些算力,而本文對路況告警信息達(dá)成一致后,直接由路邊固定單元進(jìn)行廣播,節(jié)約一定的算力。
3) 本文在路況信息塊添加了路況信息塊消亡倒計時參數(shù),有效地保證了車載自組織網(wǎng)絡(luò)中路況消息的實時性;區(qū)塊鏈技術(shù)是一個分布式賬本,保證了路況消息的可靠性。
車載自組織網(wǎng)絡(luò)中大多數(shù)情況下包括:車輛管理中心(DMV, department of motor vehicle)、固定單元(RSU, remote subscriber unit)和車載通信單元(OBU, on board unit)。每個車輛和固定單元想要加入車載自組織網(wǎng)絡(luò)都需要到車輛管理中進(jìn)行注冊(注冊時車輛管理中心將車輛和固定單元的信息以列表的形式存儲,且車輛管理中心給注冊的車輛或固定單元發(fā)放簽名證書和公私鑰對),此外,在本文中,車輛管理中心還會對提供路況信息的車輛給以獎勵作為鼓勵;車載自組織網(wǎng)絡(luò)中的每個車輛節(jié)點收發(fā)信息都是通過裝載在車輛節(jié)點上的車載通信單元的無線通信;車載自組織網(wǎng)絡(luò)中的固定單元與車輛節(jié)點的地位相同,但固定單元在車流量大的路口分布密集,在車流量小的地方分布稀疏,固定單元具有收發(fā)信息以及路由的功能。
最初的區(qū)塊鏈技術(shù)中的區(qū)塊結(jié)構(gòu)包括區(qū)塊頭和區(qū)塊體2部分,區(qū)塊結(jié)構(gòu)如圖2所示。區(qū)塊頭中包括:隨機(jī)數(shù)、時間戳、難度系數(shù)、前一個區(qū)塊的Hash值(即上一個區(qū)塊的Merkel樹根)、Merkel樹根以及下一個區(qū)塊的Hash值(即下一個區(qū)塊的Merkel樹根)。隨機(jī)數(shù)是節(jié)點進(jìn)行挖礦時,節(jié)點計算出的挖礦結(jié)果的解;時間戳表示區(qū)塊結(jié)構(gòu)生成的時間,在區(qū)塊鏈結(jié)構(gòu)中,前一個區(qū)塊的時間戳?xí)群笠粋€區(qū)塊的時間戳小,能夠保證區(qū)塊鏈有序地形成,具有防篡改的作用;難度系數(shù)是節(jié)點計算數(shù)學(xué)難題的難易程度,可以人為進(jìn)行調(diào)整;Merkel樹根為對每筆交易進(jìn)行Hash運(yùn)算得到的,由于每筆交易都不相同,所以每個區(qū)塊的Merkel樹根都不同,Merkel樹根能夠?qū)崿F(xiàn)交易的驗證;通過區(qū)塊頭中存儲前一個區(qū)塊的Merkel樹根和后一個區(qū)塊的Merkel樹根將區(qū)塊連接成區(qū)塊鏈,把從創(chuàng)世區(qū)塊開始最長的鏈?zhǔn)浇Y(jié)構(gòu)稱為主鏈。礦工在挖礦形成區(qū)塊鏈的過程中,會因為網(wǎng)絡(luò)的延時或其他情況而導(dǎo)致區(qū)塊鏈分,此時會比較從分叉處以后所有區(qū)塊的難度系數(shù),把難度系數(shù)高(即工作量大)的那條支鏈作為主鏈,把后續(xù)形成的區(qū)塊鏈添加到這條主鏈上,區(qū)塊鏈結(jié)構(gòu)如圖3所示,區(qū)塊鏈由多個區(qū)塊組成[18-20]。
圖2 區(qū)塊結(jié)構(gòu)
圖3 區(qū)塊鏈結(jié)構(gòu)
區(qū)塊鏈上的點對點網(wǎng)絡(luò)存在很多簇,這些簇由節(jié)點組成,簇首節(jié)點和簇內(nèi)節(jié)點數(shù)目時刻都在發(fā)生變化。區(qū)塊鏈技術(shù)的小世界模型的P2P網(wǎng)絡(luò)能夠保證區(qū)塊鏈網(wǎng)絡(luò)的穩(wěn)定性,同時使交易數(shù)據(jù)具有完整性和一致性。
非對稱加密算法用于區(qū)塊鏈中交易的數(shù)據(jù)加密過程和簽名過程,能夠保證區(qū)塊鏈網(wǎng)絡(luò)的安全以及用戶的隱私保護(hù),圖4為區(qū)塊鏈中交易過程。其中,公私鑰的產(chǎn)生利用了密碼學(xué)中的SHA256散列算法、Base58轉(zhuǎn)換以及secp256kl橢圓曲線乘法簽名算法等。區(qū)塊鏈中的交易過程如下。假設(shè)當(dāng)前進(jìn)行的是第2個交易,用戶1為交易的發(fā)送者,用戶2為交易的接收者;數(shù)據(jù)的加密流程是將交易1和用戶2的公鑰進(jìn)行Hash運(yùn)算獲得數(shù)據(jù)A,然后用用戶1的私鑰對數(shù)據(jù)A簽名獲得加密后的數(shù)據(jù)。數(shù)據(jù)的驗證流程為:采用用戶1的公鑰對加密后的數(shù)據(jù)進(jìn)行解密獲得數(shù)據(jù)B,將數(shù)據(jù)A與數(shù)據(jù)B進(jìn)行對照,若數(shù)據(jù)A和數(shù)據(jù)B相同,則證明用戶1與用戶2要進(jìn)行此筆交易,且發(fā)送者是用戶1,接收者是用戶2。
Merkel根結(jié)構(gòu)如圖3所示的區(qū)塊體部分,4個葉子節(jié)點需要進(jìn)行2層Hash算法,8個葉子節(jié)點需要進(jìn)行3層Hash算法,16個葉子節(jié)點需要進(jìn)行4層Hash算法,以此類推,2 048個葉子節(jié)點需要進(jìn)行11層Hash算法,65 535個葉子節(jié)點需要進(jìn)行16層Hash算法,由上面的數(shù)據(jù)可以看出,當(dāng)葉子節(jié)點由4個變?yōu)?5 535個時,散列算法的層數(shù)由1層變?yōu)?6層,這為查找某個元素是否存在提供了便利的條件。
共識機(jī)制解決了交易在沒有完全信任的第三方的情況下,各個節(jié)點如何達(dá)成一致意見的問題。目前提出的共識機(jī)制有PoW共識機(jī)制、PoS共識機(jī)制、DPoS共識機(jī)制、拜占庭共識機(jī)制。
智能合約層包括腳本語言和執(zhí)行腳本語言的虛擬機(jī),能夠運(yùn)行圖靈完備的腳本語言。智能合約層保證了用戶在區(qū)塊鏈技術(shù)下安全地進(jìn)行交易,程序員可在智能合約層編寫代碼規(guī)定交易進(jìn)行的條件以及結(jié)果。
根據(jù)車載自組織網(wǎng)絡(luò)路況報警需求以及比特幣中傳統(tǒng)的區(qū)塊鏈區(qū)塊結(jié)構(gòu),得出適用于車載自組織網(wǎng)絡(luò)路況報警的區(qū)塊結(jié)構(gòu),車載自組織網(wǎng)絡(luò)中的區(qū)塊鏈稱為路況信息鏈,車輛節(jié)點通過維護(hù)路況信息鏈,實現(xiàn)車載自組織網(wǎng)絡(luò)中的路況報警,圖5為車載自組織網(wǎng)絡(luò)中路況報警的區(qū)塊結(jié)構(gòu)。
車載自組織網(wǎng)絡(luò)路況報警的區(qū)塊結(jié)構(gòu)由區(qū)塊頭和區(qū)塊體組成,區(qū)塊頭包括:隨機(jī)數(shù)、時間戳、難度系數(shù)、前一個區(qū)塊的Merkel樹根、后一個區(qū)塊的Merkel樹根、本區(qū)塊Merkel樹根和路況信息塊消亡倒計時[21]。隨機(jī)數(shù)的作用與傳統(tǒng)區(qū)塊鏈技術(shù)中區(qū)塊結(jié)構(gòu)的隨機(jī)數(shù)作用相同(即車輛節(jié)點挖礦時計算出的數(shù)學(xué)難題的解)。
時間戳使車載自組織網(wǎng)絡(luò)中的區(qū)塊有序地連接成一條路況信息鏈。難度系數(shù)是車載自組織網(wǎng)絡(luò)中車輛節(jié)點挖礦的難易程度(即解決數(shù)學(xué)難題的難易程度)。將前一個區(qū)塊的Merkel和后一個區(qū)塊的Merkel存儲在本區(qū)塊內(nèi)可以使區(qū)塊鏈具有防篡改以及可追溯性,本區(qū)塊的Merkel樹根是車輛節(jié)點發(fā)送當(dāng)前所在路段的路況信息進(jìn)行Hash運(yùn)算得到的,其中路況信息包括路段名稱、道路擁堵狀況、交通事故狀況以及用戶地址4個字段。區(qū)塊體中的路況信息可看成是一筆交易,交易的發(fā)送者是車輛節(jié)點,交易的接收者是車輛附近的路邊單元。路況信息塊消亡倒計時是車載自組織網(wǎng)絡(luò)路況報警區(qū)塊中所特有的,倒計時參數(shù)的存在使區(qū)塊鏈能夠適應(yīng)車載自組織網(wǎng)絡(luò)中路況信息動態(tài)變化的特性。
圖4 區(qū)塊鏈中交易過程
車載自組織網(wǎng)絡(luò)中的路況信息結(jié)構(gòu)包括路段名稱、道路擁堵狀況、交通事故狀況以及車輛注冊時車輛管理中心分配給車輛的地址,該地址能唯一表示該用戶。
車載自組織網(wǎng)絡(luò)中區(qū)塊鏈的加密方式也采用非對稱加密方式,車載自組織網(wǎng)絡(luò)中區(qū)塊鏈采取排序服務(wù)的共識機(jī)制使交易達(dá)成共識,通過對智能合約的編寫完成車載自組織網(wǎng)絡(luò)中路況報警。
當(dāng)車輛節(jié)點發(fā)送了路況信息,且形成的路況信息鏈證明該路況有效時,附近的路邊單元將此條路況廣播給車載自組織網(wǎng)絡(luò)中其他的固定單元,然后固定單元再將路況信息廣播給自己區(qū)域內(nèi)的車輛,同時,固定單元還會參與維護(hù)此條路況信息鏈的用戶地址發(fā)送給車輛管理中心,車輛管理中心對這些維護(hù)路況信息鏈的用戶獎勵。車輛管理中心對于用戶的獎勵也可看成是一筆交易,車輛管理中心為發(fā)送者,用戶為接收者。
圖5 車載自組織網(wǎng)絡(luò)中路況預(yù)警的區(qū)塊結(jié)構(gòu)
車載自組織網(wǎng)絡(luò)是一個路況信息時刻都在變化的網(wǎng)絡(luò),某一時刻車輛節(jié)點發(fā)出的路況信息只表示此時刻此路段的路況信息況,因此,車輛節(jié)點發(fā)出的路況信息具有時效性,此外,還會有車輛發(fā)送一些錯誤消息,這些錯誤消息也會占用資源。本文提出的路況信息鏈消亡機(jī)制能夠很好地適應(yīng)車載自組織網(wǎng)絡(luò)路況信息時刻都在變化的特性。
當(dāng)路況信息鏈中全部的路況信息塊都失效時,此條路況信息鏈將不再代表此時刻此條路段的路況,此條路況信息無效。路況信息塊的消亡依靠車載自組織網(wǎng)絡(luò)中區(qū)塊結(jié)構(gòu)的路況信息塊消亡倒計時,每個路況信息塊的消亡倒計時初始值設(shè)為5,每隔1 min路況信息塊倒計時值減小1,當(dāng)?shù)褂嫊r值減小為0時,該路況信息塊消亡。由于車載自組織網(wǎng)絡(luò)中車輛和路況變化較快,因此,將路況信息鏈的消亡時間設(shè)為20(即一條路況信息的有效時間為20 min,超過20 min此條路況信息不再有效)。一條路況信息鏈的消亡時間用TCDead表示,這條路況信息鏈上所有路況信息塊的消亡總時間用TBDead表示,表示車輛的數(shù)量,且=*倒計時,表1為路況信息鏈的消亡時間和路況信息塊的消亡總時間關(guān)系。當(dāng)>時,表明有很多輛車都發(fā)送同樣的路況,該路況消息是有效的;當(dāng)≤時,表明很少的車輛發(fā)送同一條路況,該路況消息是無效的。因此,要想保證車輛節(jié)點發(fā)送的路況信息可信、有效,則應(yīng)滿足==*倒計時,由于倒計時為固定值5,最大值為20,故發(fā)送路況信息的車輛節(jié)點至少為4(即至少有4輛車發(fā)送同一條路況信息,此條路況信息才真實有效)。
表1 路況信息鏈的消亡時間和路況信息塊的消亡總時間關(guān)系
Hyperledger Fabric聯(lián)盟鏈具有安全、隱私、可監(jiān)管等特性,適用于數(shù)據(jù)只希望在一部分區(qū)域內(nèi)共享的項目開發(fā)。車載自組織網(wǎng)絡(luò)中的路況信息只需要廣播給網(wǎng)絡(luò)內(nèi)部的車輛節(jié)點,從而維護(hù)車載自組織網(wǎng)絡(luò)中的交通,車載自組織網(wǎng)絡(luò)中的每條路況信息均可看成是一筆交易,因此,本文采用Hyperledger Fabric聯(lián)盟鏈技術(shù)平臺對車載自組織網(wǎng)絡(luò)中基于區(qū)塊鏈技術(shù)的路況報警方案進(jìn)行仿真實驗。圖6為Fabric聯(lián)盟鏈技術(shù)平臺架構(gòu),F(xiàn)abric聯(lián)盟鏈技術(shù)平臺包括:證書服務(wù)、客戶端、Peer節(jié)點以及共識網(wǎng)絡(luò)(由許多orderer節(jié)點組成)。圖7為Fabric聯(lián)盟鏈的交易過程。交易過程包括:客戶端提案、模擬交易、簽名、排序服務(wù)、驗證交易、將交易寫入賬本。
圖6 Fabric聯(lián)盟鏈技術(shù)平臺架構(gòu)
圖7 Fabric聯(lián)盟鏈的交易過程
假設(shè)存在FirstRoad、SecondRoad、ThirdRoad、FourthRoad路段,根據(jù)3.2節(jié)闡述的路況信息有效的條件可知,每條路段若發(fā)生擁堵或者交通事故時,此段路上至少有4輛車發(fā)送相同路況信息,現(xiàn)假設(shè)每條路段各有10輛車(允許10輛車中至多存在6輛故障車),此時,F(xiàn)irstRoad出現(xiàn)擁堵,在Fabric聯(lián)盟鏈上的仿真步驟如下。
1) 用Go語言編寫鏈碼chaincode002.go,鏈碼中的主要內(nèi)容如下。
第1步,采用Import方法引入依賴包“fmt”“shim”“peer”。
第2步,構(gòu)建FirstRoad Congestion結(jié)構(gòu)體。
第3步,采用Init方法進(jìn)行初始化。
第4步,構(gòu)建Invoke方法實現(xiàn)FirstRoad Congestion(第一條路擁堵)路況信息。
2) 將鏈碼部署到Fabric網(wǎng)絡(luò)中。打開3個終端,第1個終端用于啟動網(wǎng)絡(luò),第2個終端用于編譯啟動鏈碼,第3個終端用于操作鏈碼。
在Fabric聯(lián)盟鏈上的運(yùn)行結(jié)果如圖8所示。實驗結(jié)果第13行顯示FirstRoad Congestion(第一條路擁堵),與理論結(jié)果一致。
上述實驗表明,將區(qū)塊鏈應(yīng)用于車載自組織網(wǎng)絡(luò)中能夠?qū)σ粭l真實的路況信息達(dá)成共識,即實現(xiàn)車載自組織網(wǎng)絡(luò)中路況預(yù)警。在車載自組織網(wǎng)絡(luò)中,F(xiàn)abric網(wǎng)絡(luò)中的客戶端模擬用戶,當(dāng)用戶發(fā)現(xiàn)某條路發(fā)生擁堵或者交通事故時,及時按動車內(nèi)的報警按鈕;Fabric網(wǎng)絡(luò)中的Peer節(jié)點模擬車輛節(jié)點,當(dāng)某段路附近的車輛節(jié)點收到用戶發(fā)來的路況信息時,此段路區(qū)域內(nèi)的車輛節(jié)點開始挖礦并將路況信息打包成區(qū)塊;Fabric網(wǎng)絡(luò)中的證書服務(wù)模擬車輛管理中心,車輛想要加入車載自組織網(wǎng)絡(luò)必須到車輛管理中心進(jìn)行注冊且得到管理中心頒發(fā)的簽名和公私鑰;Fabric網(wǎng)絡(luò)中的共識網(wǎng)絡(luò)模擬固定單元組成的網(wǎng)絡(luò),維護(hù)路況信息鏈中區(qū)塊的有序生成區(qū)塊鏈。因此,在Fabric聯(lián)盟鏈上部署FirstRoad Congestion相當(dāng)于車載自組織網(wǎng)絡(luò)中車輛節(jié)點對于某條路況信息達(dá)成共識。
圖8 實驗結(jié)果
綜上所述,相對于其他方法的路況報警方案,車載自組織網(wǎng)絡(luò)中基于區(qū)塊鏈技術(shù)的路況預(yù)警方案的優(yōu)點如下。
1) 不需要可信任的第三方就可以使車載自組織網(wǎng)絡(luò)中車輛發(fā)送的路況信息達(dá)成共識并完成驗證。
2) 由于區(qū)塊鏈?zhǔn)且粋€分布式賬本,因此,車載自組織網(wǎng)絡(luò)中每個車輛節(jié)點都存有路況信息鏈這個賬本,路況信息具有防篡改和可追溯性。
未來區(qū)塊鏈技術(shù)在車載自組織網(wǎng)絡(luò)中的應(yīng)用,主要包含以下幾個方面。
1) 尋找好的激勵機(jī)制使車輛節(jié)點更加積極地發(fā)送路況信息。
2) 當(dāng)車輛節(jié)點受到攻擊時,如何保證路況信息的正確性。
3) 開發(fā)出基于區(qū)塊鏈技術(shù)的APP應(yīng)用于車載自組織網(wǎng)絡(luò)。
[1] QI S M. Research on urban road traffic congestion evaluation method and control strategy[D]. Kunming:Kunming University of Science and Technology, 2016.
[2] SINGH S, NEGI S, VERMA S K. VANET basedp-RSA scheduling algorithm using dynamic cloud storage[J]. Wireless Personal Communications, 2017(6):1-21.
[3] CIRNE P, ZúQUETE A, SARGENTO S. TROPHY: trust-worthy VANET routing with groupanthentica-tion keys[J]. Ad Hoc Networks, 2018, 71:45-67.
[4] ZHONG H, HUANG B, CUI J, et al. Conditional privacy-preserving authentication using registration list in vehicular ad hoc networks[J]. IEEE Access, 2017(99):1-5.
[5] WANG L M, LI T, CHEN L. Vehicle network structure and security based on vehicle identity[J]. Journal of Network and Information Security, 2016, 2(2):41-54.
[6] ZHANG R F. A survey of research on vehicle self-organizing network communication technology[J]. Journal of Automotive Engineering, 2014, 4(2):79-85.
[7] ZHANG S. Blockchain technology principles, applications and recommendations[J]. Software, 2016, 37(11):51-54.
[8] NOVO O. Blockchain meets IoT: an architecture for scalable access management in IoT[J]. IEEE Internet of Things Journal, 2018(3): 1184-1195.
[9] KUZMIN A. Blockchain-based structures for a secure and operate IoT[C]//IEEE Internet of Things Business Models, Users, and Networks. 2018.
[10] ZHI Q H, XIONG Y S,YAN X Z,et al. A decentralized solution for IoT data trusted exchange based-on Blockchain[J]. IEEE International Conference on Computer and Communications, 2017(3): 1180-1184.
[11] CHA S C, CHEN J F, SU C, et al. A Blockchain connected gateway for ble-based devices in the Internet of things[J]. IEEE Access, 2018(99):1-7.
[12] YONG Z, SONGYANG W, BO J, et al. A Blockchain-based process provenance for cloud forensics[J]. IEEE International Conference on Computer and Communications, 2017(3): 2470-2473.
[13] YANG C, CHEN X, XIANG Y. Blockchain-based publicly verifiable data deletion scheme for cloud storage[J]. Journal of Network & Computer Applications, 2018, 103-112.
[14] XIA Q, SIFAH E B, ASAMOAH K O, et al. MeDShare: trust-less medical data sharing among cloud service providers via Blockchain[J]. IEEE Access, 2017, 5(99):14757-14767.
[15] KHAQQI K N, SIKORSKI J J, HADINOTO K, et al. Incorporating seller/buyer reputation-based system in blockchain-enabled emission trading application[J]. Applied Energy, 2017, 209:8-19.
[16] POP C, CIOARA T, ANTAL M, et al. Blockchain based decentralized management of demand response programs in smart energy grids[J]. Sensors, 2018, 18(1):162-183.
[17] GUO W J. Research on message transmission problem for security applications in Internet of vehicles[D]. Hefei: University of Science and Technology of China, 2014.
[18] ZHU Y, GAN G H. Safety research in key technologies of Blockchain[J]. Information Security Research, 2016, 2:1090-1097.
[19] AN Q W. Research and application of key technology of decentralized transaction based on Blockchain[D]. Shanghai: Donghua University, 2017.
[20] HUANG X F, XU L,YANG X. A cloud computing electronic forensics model of Blockchain[J]. Journal of Beijing University of Posts and Telecommunications, 2017,40(6):1-6.
Blockchain-based taffic condition early-warning scheme for VANET
LI Chunyan1,2, ZHAO Jia1,2, LIUJiqiang1,2, ZHANG Qiang3, HAN Lei4
1. Beijing Key Laboratory of Security and Privacy in Intelligent Transportation, Beijing Jiaotong University, Beijing 100044, China 2. School of Computer and Information Technology, Beijing Jiaotong University, Beijing 100044,China 3. Beijing Municipal Public Security Bureau Network Security and Security Corps, Beijing 100029,China 4. Science and Technology on Information Assurance Laboratory, Beijing 100071, China
Road conditions early-warning scheme is effective solution to solve vehicle congestion and traffic accidents of VANET. The current traffic conditions in China as well as the development and application of VANET were analyzed. Combined with blockchain technology, a blockchain-based traffic conditions early-warning scheme for VANET was proposed. The Hyperledger Fabric alliance chain technology platform is used to simulate this scheme. The experimental results show that the scheme is reasonable and feasible.
VANET, chainblock, Hyperledger Fabric, road condition alarming
TP309.2
A
10.11959/j.issn.2096-109x.2018058
李春燕(1995-),女,天津人,北京交通大學(xué)碩士生,主要研究方向為車載自組織網(wǎng)絡(luò)、隱私保護(hù)、區(qū)塊鏈。
趙佳(1980-),女,內(nèi)蒙古呼和浩特人,博士,北京交通大學(xué)副教授,主要研究方向為網(wǎng)絡(luò)空間安全、可信計算、隱私保護(hù)。
劉吉強(qiáng)(1973-),男,山東海陽人,博士,北京交通大學(xué)教授、博士生導(dǎo)師,主要研究方向為密碼學(xué)、可信計算、隱私保護(hù)技術(shù)。
張強(qiáng)(1980-),男,河北石家莊人,主要研究研究方向為網(wǎng)絡(luò)空間安全、區(qū)塊鏈、態(tài)勢感知。
韓磊(1983-),男,內(nèi)蒙古呼倫貝爾人,博士,信息保障技術(shù)重點實驗室博士后,主要研究方向為分布式非對稱密鑰管理、區(qū)塊鏈、態(tài)勢感知。
2018-06-10;
2018-06-30
李春燕,17125202@bjtu.edu.cn
中央高?;究蒲袠I(yè)務(wù)費(fèi)基金資助項目(No.2018JBM016);國家自然科學(xué)基金青年科學(xué)基金資助項目(No.61502030);信息保障技術(shù)重點實驗室開放基金資助項目(No.KJ-17-107)
Fundamental Research Funds for the Central Universities (No.2018JBM016), The National Natural Science Foundation of China (No.61502030), Foundation of Science and Technology on Information Assurance Laboratory (No.KJ-17-107)