李明磊,章 陽(yáng),2,康嘉文,徐敏銳,Dusit Niyato
(1. 武漢理工大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,湖北 武漢 430000;2. 南京航空航天大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,江蘇 南京 210016;3. 廣東工業(yè)大學(xué) 自動(dòng)化學(xué)院,廣東 廣州 510006;4. 新加坡南洋理工大學(xué) 計(jì)算機(jī)科學(xué)與工程學(xué)院,新加坡 639798)
隨著無(wú)線通信與人工智能技術(shù)的快速發(fā)展,智能互聯(lián)汽車(chē)得到迅速推廣與普及。先進(jìn)的車(chē)載傳感系統(tǒng)與高級(jí)的車(chē)載娛樂(lè)服務(wù)使智能汽車(chē)產(chǎn)生越來(lái)越多有價(jià)值的數(shù)據(jù)(如交通信息、車(chē)載娛樂(lè)數(shù)據(jù))。這些數(shù)據(jù)常被收集并共享于其他智能汽車(chē)或智能交通設(shè)施,從而構(gòu)建更為先進(jìn)的智能交通系統(tǒng),為智慧城市的建設(shè)打下堅(jiān)實(shí)基礎(chǔ)[1-2]。然而,現(xiàn)有的數(shù)據(jù)共享中心化管理方式容易遭受單點(diǎn)失效、數(shù)據(jù)篡改等安全威脅,系統(tǒng)可靠性難以保障。盡管P2P(Peer-to-Peer)共享網(wǎng)絡(luò)一定程度上克服了單點(diǎn)失效的問(wèn)題,但由于安全防護(hù)和訪問(wèn)權(quán)限問(wèn)題,其在車(chē)聯(lián)網(wǎng)場(chǎng)景下并不實(shí)用。
近年來(lái),區(qū)塊鏈技術(shù)因其去中心化、不可篡改、安全可靠等優(yōu)點(diǎn)被廣泛應(yīng)用于構(gòu)建安全可靠的車(chē)聯(lián)網(wǎng)數(shù)據(jù)共享系統(tǒng)[3]。文獻(xiàn)[2]提出了基于PoW(Proof of Work)和PoS(Proof of Stake)共識(shí)的去中心化可信數(shù)據(jù)管理系統(tǒng),以實(shí)現(xiàn)對(duì)車(chē)輛數(shù)據(jù)可信度的評(píng)估與管理。在文獻(xiàn)[4]中,區(qū)塊鏈技術(shù)被用于解決數(shù)據(jù)交易中缺乏透明性、可追溯性和非授權(quán)數(shù)據(jù)修改等問(wèn)題,作者設(shè)計(jì)了一種基于區(qū)塊鏈的車(chē)聯(lián)網(wǎng)數(shù)據(jù)交易通用框架,該框架能實(shí)現(xiàn)車(chē)聯(lián)網(wǎng)數(shù)據(jù)安全交易。但上述方法因其共識(shí)計(jì)算量過(guò)大、系統(tǒng)搭建成本過(guò)高等問(wèn)題,并不適用于搭建安全高效的區(qū)塊鏈賦能的車(chē)聯(lián)網(wǎng)數(shù)據(jù)共享系統(tǒng)?,F(xiàn)有研究已經(jīng)把高效的DPoS(Delegated Proof of Stake)共識(shí)機(jī)制引入到車(chē)聯(lián)網(wǎng)中[5-6]。委托權(quán)益證明DPoS共識(shí)機(jī)制是PoS共識(shí)機(jī)制的一種衍生機(jī)制,其基本思路是先從持有股份的節(jié)點(diǎn)中選出部分代表性節(jié)點(diǎn)作為礦工,再由這些礦工依次充當(dāng)?shù)V工領(lǐng)導(dǎo)者對(duì)交易信息進(jìn)行打包,并由礦工領(lǐng)導(dǎo)者與驗(yàn)證者(即剩余的礦工)共同參與區(qū)塊驗(yàn)證,進(jìn)而產(chǎn)生新的區(qū)塊[7]。該機(jī)制不僅能有效解決PoW共識(shí)機(jī)制計(jì)算資源浪費(fèi)和PoS共識(shí)機(jī)制的股份集中化問(wèn)題,還可以快速地處理交易數(shù)據(jù),并具有較高的系統(tǒng)吞吐量,因此該機(jī)制能很好地匹配車(chē)聯(lián)網(wǎng)場(chǎng)景服務(wù)高并發(fā)的需求,具有廣泛的應(yīng)用前景。
然而,傳統(tǒng)的基于DPoS共識(shí)算法的區(qū)塊鏈賦能車(chē)聯(lián)網(wǎng)系統(tǒng)中區(qū)塊驗(yàn)證者數(shù)量有限(常為21個(gè)),容易出現(xiàn)驗(yàn)證者串通合謀、產(chǎn)生錯(cuò)誤區(qū)塊驗(yàn)證結(jié)果的情況,從而危害區(qū)塊鏈系統(tǒng)的安全性[8]。為了解決驗(yàn)證者串通合謀的威脅,保證區(qū)塊驗(yàn)證的安全性,當(dāng)前礦工領(lǐng)導(dǎo)者產(chǎn)生的區(qū)塊數(shù)據(jù)可由輕節(jié)點(diǎn)充當(dāng)驗(yàn)證者進(jìn)行共同驗(yàn)證和審查[9]。文獻(xiàn)[10]表明智能手機(jī)等邊緣設(shè)備可以充當(dāng)驗(yàn)證者參與區(qū)塊驗(yàn)證。雖然更多的隨機(jī)輕節(jié)點(diǎn)參與區(qū)塊驗(yàn)證能提升區(qū)塊驗(yàn)證的安全性,但因?yàn)閰^(qū)塊驗(yàn)證過(guò)程需要消耗算力、帶寬等資源,所以需要設(shè)計(jì)有效的激勵(lì)機(jī)制鼓勵(lì)輕節(jié)點(diǎn)參與到區(qū)塊鏈賦能車(chē)聯(lián)網(wǎng)的區(qū)塊驗(yàn)證中。文獻(xiàn)[9]利用契約理論激勵(lì)輕節(jié)點(diǎn)參與區(qū)塊驗(yàn)證以防止驗(yàn)證節(jié)點(diǎn)的內(nèi)部共謀,但該機(jī)制無(wú)法及時(shí)響應(yīng)輕節(jié)點(diǎn)的頻繁變更情況。文獻(xiàn)[11]提出斯坦伯格博弈來(lái)權(quán)衡區(qū)塊驗(yàn)證中的安全要求、驗(yàn)證時(shí)延和成本,但該博弈模型建立在所有礦工已知完備環(huán)境信息的假設(shè)上,并不適用于輕節(jié)點(diǎn)頻繁更換、環(huán)境信息未知的車(chē)聯(lián)網(wǎng)場(chǎng)景。
針對(duì)上述研究工作的問(wèn)題,本文在文獻(xiàn)[11]的基礎(chǔ)上,把智能汽車(chē)和DPoS共識(shí)算法的礦工間交互過(guò)程建模成斯坦伯格博弈模型,并由區(qū)塊鏈用戶(hù)(即智能汽車(chē))作為博弈主方提供交易費(fèi)以促進(jìn)礦工快速、安全地完成區(qū)塊的打包、驗(yàn)證。驗(yàn)證者作為博弈從方隨機(jī)招募一定數(shù)量的輕節(jié)點(diǎn)提供驗(yàn)證服務(wù)并賺取交易費(fèi)。此外,車(chē)輛的高移動(dòng)性會(huì)導(dǎo)致車(chē)聯(lián)網(wǎng)環(huán)境動(dòng)態(tài)多變[12],傳統(tǒng)的方案并不適用于此類(lèi)場(chǎng)景,存在效果差、可擴(kuò)展性弱等問(wèn)題[13],因此,本文提出基于多智能體強(qiáng)化學(xué)習(xí)的方案以有效地解決動(dòng)態(tài)多變環(huán)境中的區(qū)塊驗(yàn)證決策問(wèn)題。并可在環(huán)境信息不完備的情況下收斂到接近最優(yōu)策略,從而最大化區(qū)塊鏈用戶(hù)與驗(yàn)證者的收益,實(shí)現(xiàn)高效、安全、可靠的區(qū)塊驗(yàn)證。
本文的主要貢獻(xiàn)如下:(1) 將輕節(jié)點(diǎn)引入到基于DPoS共識(shí)算法的區(qū)塊鏈賦能車(chē)聯(lián)網(wǎng)的數(shù)據(jù)共享區(qū)塊驗(yàn)證過(guò)程中,保證了區(qū)塊驗(yàn)證的效率的同時(shí),也提升了區(qū)塊鏈用戶(hù)的滿(mǎn)意度。(2) 將智能汽車(chē)和驗(yàn)證者之間的交互過(guò)程建模成斯坦伯格博弈模型,并通過(guò)多智能體近端策略?xún)?yōu)化算法(Multi-Agent Proximal Policy Optimization ,MAPPO)求解上述博弈過(guò)程的納什均衡解。(3) 與傳統(tǒng)Deep Q Network (DQN)方案進(jìn)行性能對(duì)比,并對(duì)MAPPO的收斂性能進(jìn)行了模擬和評(píng)估。
如圖1所示,本文考慮的基于DPoS共識(shí)算法的區(qū)塊鏈網(wǎng)絡(luò)主要包含以下實(shí)體:(1) 區(qū)塊鏈用戶(hù)(智能汽車(chē));(2) 礦工;(3) 輕節(jié)點(diǎn)。其中礦工和輕節(jié)點(diǎn)在區(qū)塊驗(yàn)證階段均為驗(yàn)證者角色[14]。車(chē)輛間進(jìn)行數(shù)據(jù)共享交易,并定期將生成的交易記錄廣播到網(wǎng)絡(luò)中的礦工節(jié)點(diǎn)。在DPoS共識(shí)算法中,礦工輪流充當(dāng)區(qū)塊生產(chǎn)者,每個(gè)礦工在一個(gè)時(shí)間窗口內(nèi)只能充當(dāng)一次區(qū)塊生產(chǎn)者,其余礦工將充當(dāng)區(qū)塊驗(yàn)證者角色。具體而言,當(dāng)前的區(qū)塊生產(chǎn)者將時(shí)間窗口內(nèi)的合格交易記錄放入一個(gè)區(qū)塊中,并將該區(qū)塊廣播給其他礦工進(jìn)行驗(yàn)證。與PoW等傳統(tǒng)方案相比,DPoS中的礦工不需要相互競(jìng)爭(zhēng)來(lái)獲得挖礦獎(jiǎng)勵(lì),礦工群體在完成區(qū)塊打包和驗(yàn)證任務(wù)后,可分得一定獎(jiǎng)勵(lì)(用戶(hù)交易費(fèi)總和)。為了防止礦工之間驗(yàn)證合謀,礦工將新區(qū)塊隨機(jī)傳播給合作的輕節(jié)點(diǎn)進(jìn)行驗(yàn)證,從而保證區(qū)塊的安全性與可靠性[15]。
圖1 安全數(shù)據(jù)共享系統(tǒng)模型Fig.1 A system model of secure data sharing
與文獻(xiàn)[16-17]類(lèi)似,基于DPoS的區(qū)塊鏈中的每個(gè)礦工都根據(jù)自己的合作輕節(jié)點(diǎn)來(lái)分配特定的驗(yàn)證任務(wù)。因此,每個(gè)礦工都可以根據(jù)各自的驗(yàn)證貢獻(xiàn),即合作驗(yàn)證者(輕節(jié)點(diǎn))的數(shù)量,從區(qū)塊鏈用戶(hù)那里分享到交易費(fèi)用f,而礦工和驗(yàn)證者之間也會(huì)存在通信成本。輕節(jié)點(diǎn)完成區(qū)塊驗(yàn)證任務(wù)后會(huì)獲得服務(wù)獎(jiǎng)勵(lì),并將驗(yàn)證結(jié)果反饋給礦工。
通過(guò)多跳中繼與遠(yuǎn)處的驗(yàn)證者進(jìn)行通信,這也會(huì)導(dǎo)致更長(zhǎng)的區(qū)塊傳播時(shí)間[11]。因此,本文定義了一個(gè)安全延遲度量 μi來(lái)平衡網(wǎng)絡(luò)規(guī)模和礦工i的區(qū)塊傳播時(shí)間關(guān)系,μi的表達(dá)式為[11]
區(qū)塊鏈用戶(hù)和礦工之間的交互可以表述為一個(gè)斯坦伯格博弈,其中區(qū)塊鏈用戶(hù)是主方,礦工是從方[11,22]。在第1階段,區(qū)塊鏈用戶(hù)設(shè)定支付給礦工們的交易費(fèi),礦工們根據(jù)交易費(fèi)大小在第2階段中以最優(yōu)比例招募驗(yàn)證者。理性的礦工不會(huì)以負(fù)利潤(rùn)參與挖礦,因此假設(shè)區(qū)塊鏈用戶(hù)提供的交易費(fèi)大于最小值fmin。主、從雙方的目標(biāo)函數(shù)為[11]
在本節(jié)中,首先介紹多智能體近端策略?xún)?yōu)化算法,然后利用該算法來(lái)解決上述斯坦伯格博弈問(wèn)題。將多用戶(hù)參與的斯坦博格博弈轉(zhuǎn)化為局部可觀測(cè)的馬爾可夫決策過(guò)程,包括狀態(tài)空間、觀測(cè)空間、動(dòng)作空間、獎(jiǎng)勵(lì)空間和狀態(tài)轉(zhuǎn)移概率。然后讓多智能體在與環(huán)境的交互中進(jìn)行策略迭代與策略提升,找到該博弈的均衡。
多智能體系統(tǒng)是環(huán)境和環(huán)境中的多個(gè)智能體組成的集合,其目標(biāo)是將大而復(fù)雜的系統(tǒng)建設(shè)成小而彼此互相通信協(xié)調(diào)的易于管理的系統(tǒng)[23]。在智能體學(xué)習(xí)過(guò)程中,智能體首先會(huì)觀測(cè)當(dāng)前環(huán)境的狀態(tài),然后根據(jù)自身的觀察和策略做出動(dòng)作,并在環(huán)境中獲得獎(jiǎng)勵(lì),最后通過(guò)最大化累計(jì)獎(jiǎng)勵(lì)的方式來(lái)更新自身的策略。具體如圖2所示。
圖2 多智能體強(qiáng)化學(xué)習(xí)框架Fig.2 The architecture of multi-agent reinforcement learning
考慮到智能體需要同時(shí)與環(huán)境和環(huán)境中其他的智能體進(jìn)行交互,智能體在做決策時(shí),其他智能體也在采取動(dòng)作,因此很難得到一個(gè)穩(wěn)定的最優(yōu)的策略[24]。與此同時(shí),多智能體環(huán)境在非平穩(wěn)狀態(tài)下容易導(dǎo)致馬爾可夫性失效,因此直接在多智能體環(huán)境中應(yīng)用單智能體強(qiáng)化學(xué)習(xí)很難保證收斂性[25]。MAPPO是PPO(Proximal Policy Optimization)算法應(yīng)用于多智能體環(huán)境的變種,MAPPO同樣采用actor-critic架構(gòu),不同之處在于critic學(xué)習(xí)的是一個(gè)中心化值函數(shù)[26],可以保證更好的收斂性能和樣本復(fù)雜性。
本節(jié)采用仿真的方式評(píng)估多智能體強(qiáng)化學(xué)習(xí)算法在上述博弈模型中的相關(guān)性能。
本文仿真實(shí)驗(yàn)環(huán)境是基于gym構(gòu)建的,具體參數(shù)配置見(jiàn)表1。仿真實(shí)驗(yàn)運(yùn)行在配置Intel Xeon CPU@1.6 GHz×12、TITAN X GPU、64 G 內(nèi)存、Ubuntu 18.0.1系統(tǒng)、Pytorch 1.2、Python 3.6的臺(tái)式機(jī)上。
表1 仿真參數(shù)設(shè)定[11]Table 1 Parameter Setting in the Simulation
在實(shí)驗(yàn)過(guò)程中,對(duì)于所提MAPPO算法,本文采用Adam優(yōu)化器,學(xué)習(xí)率(α=β)設(shè)置為3×10?4。策略和值網(wǎng)絡(luò)均采用兩層全連接網(wǎng)絡(luò),其中每層有64個(gè)神經(jīng)元,采用ReLU激活函數(shù)。設(shè)置折扣因子γ為0.99,裁剪率?為0.2,GAE截?cái)嘞禂?shù)λ為0.95,過(guò)去經(jīng)驗(yàn)輪數(shù)L為4,批大小為32。本文采用傳統(tǒng)深度強(qiáng)化學(xué)習(xí)Deep Q Network (DQN)算法作為仿真實(shí)驗(yàn)的對(duì)比算法,所有智能體的策略網(wǎng)絡(luò)均采用兩層全連接網(wǎng)絡(luò),其中每層有64個(gè)神經(jīng)元,采用ReLU激活函數(shù),學(xué)習(xí)率(α=β)設(shè)置為3.5×10?4,折扣因子 γ為0.99,探索率為0.01。同時(shí)對(duì)上述2種算法進(jìn)行訓(xùn)練,訓(xùn)練輪數(shù)E為100,決策輪次長(zhǎng)度K為16。
首先分析所提算法的收斂性能,并進(jìn)一步研究不同礦工數(shù)量對(duì)區(qū)塊鏈用戶(hù)和礦工的策略的影響。
在仿真中,選取并觀察其中1個(gè)區(qū)塊鏈用戶(hù)和3個(gè)礦工的實(shí)驗(yàn)性能,分別通過(guò)MAPPO算法和DQN算法來(lái)學(xué)習(xí)區(qū)塊鏈用戶(hù)和礦工的安全驗(yàn)證策略。圖3為DQN算法和MAPPO算法的收斂性能對(duì)比,其中fbest為最優(yōu)交易費(fèi),n3,best為礦工3最優(yōu)驗(yàn)證者數(shù)量。MAPPO算法在迭代約1 200次后,算法已基本收斂,這是因?yàn)樵谥行幕岛瘮?shù)的指導(dǎo)下,智能體更容易學(xué)習(xí)到兼顧其他智能體的策略,能同時(shí)增加區(qū)塊鏈用戶(hù)的效用和礦工的個(gè)人利潤(rùn)。與MAPPO算法相比,DQN算法的性能表現(xiàn)較差,這是因?yàn)橹苯訉沃悄芩惴☉?yīng)用到多智能體環(huán)境中會(huì)導(dǎo)致其無(wú)法收斂。
圖3 DQN和MAPPO的收斂性能Fig.3 The convergence performance of both DQN and MAPPO
隨后,評(píng)估不同礦工數(shù)量I對(duì)平均招募驗(yàn)證者數(shù)量navg的影響,并將結(jié)果記錄在圖4中。如圖4所示,隨著礦工數(shù)量的增加,驗(yàn)證者的數(shù)量先增加后減少。這是因?yàn)榈V工的收益由其招募的驗(yàn)證者數(shù)量決定,隨著礦工數(shù)量的增加,礦工們?yōu)榱双@得更大的收益,傾向于招募更多的驗(yàn)證者來(lái)提供更大的貢獻(xiàn)。但隨著礦工數(shù)量的進(jìn)一步增加,通信和招募成本增加的速度大于收益增加的速度,礦工們的收益減少。圖4同時(shí)也顯示了用戶(hù)交易費(fèi)對(duì)平均招募驗(yàn)證者數(shù)量的影響。隨著用戶(hù)交易費(fèi)用的增加,礦工們傾向于招募更多的驗(yàn)證者,這是因?yàn)橛脩?hù)交易費(fèi)用的增加提高了礦工們的期望收益值。
圖4 礦工數(shù)量對(duì)平均招募驗(yàn)證者的影響Fig.4 Impact of the number of miners on average number of recruited verifiers
盡管平均招募驗(yàn)證者的個(gè)數(shù)隨著礦工數(shù)量的進(jìn)一步增加而下降,但總的驗(yàn)證者數(shù)量nsum卻是在逐漸增加(如圖5所示)。這是因?yàn)榈V工之間的競(jìng)爭(zhēng)在一定程度上影響了期望回報(bào)和招募驗(yàn)證者數(shù)量之間的關(guān)系,使礦工們依舊有獲得回報(bào)的動(dòng)機(jī),這也在一定程度上提高了區(qū)塊驗(yàn)證的安全性。
圖5 礦工數(shù)量對(duì)總驗(yàn)證者數(shù)量的影響Fig.5 Impact of the number of miners on total number of recruited verifiers
圖6顯示了總的驗(yàn)證者數(shù)量nsum和礦工收益Um之間的關(guān)系。由于驗(yàn)證者之間存在競(jìng)爭(zhēng),當(dāng)總的驗(yàn)證者數(shù)量增加時(shí),礦工的收益減少。此外,本文博弈模型中的礦工利潤(rùn)比每個(gè)礦工招募相同數(shù)量的輕節(jié)點(diǎn)驗(yàn)證者的方案中的礦工利潤(rùn)高,這是因?yàn)槊總€(gè)礦工都可以計(jì)算最佳招募驗(yàn)證者數(shù)量來(lái)獲得收益最大化。
圖6 驗(yàn)證者數(shù)量對(duì)礦工收益的影響Fig.6 Impact of the total number of recruited verifiers on the profit of a miner
本文針對(duì)基于DPoS共識(shí)算法的區(qū)塊鏈賦能車(chē)聯(lián)網(wǎng)數(shù)據(jù)共享的區(qū)塊驗(yàn)證過(guò)程中的共謀問(wèn)題,把輕節(jié)點(diǎn)引入?yún)^(qū)塊驗(yàn)證中,并且將智能汽車(chē)和礦工之間的交互建成斯坦伯格博弈模型。通過(guò)多智能體近端策略?xún)?yōu)化算法求解斯塔伯格博弈的納什均衡解。實(shí)驗(yàn)結(jié)果表明所提方案可以有效搜索到接近最優(yōu)的策略,從而保證區(qū)塊驗(yàn)證的安全性與可靠性。