鄭紅娟,季振亞,竇真蘭,陳良亮
(1.南瑞集團(tuán)(國網(wǎng)電力科學(xué)研究院)有限公司,江蘇 南京 211106)(2.國電南瑞南京控制系統(tǒng)有限公司,江蘇 南京 211106)(3.南京師范大學(xué)南瑞電氣與自動(dòng)化學(xué)院,江蘇 南京 210046)(4.國網(wǎng)上海市電力公司,上海 200122)(5.國電南瑞科技股份有限公司,江蘇 南京 211106)
隨著電動(dòng)汽車的滲透與國家“新基建”戰(zhàn)略的實(shí)施,充電網(wǎng)絡(luò)日趨智能化、網(wǎng)聯(lián)化、共享化[1-2]。大量分散或集中的充電樁分布于無人值守的充電站點(diǎn),存在接口自燃或人為損壞、軟硬件故障或被入侵、充電車位占用等安全管理難題。若僅依靠定期被動(dòng)檢查的傳統(tǒng)方式,管理成本大、檢測設(shè)備投入高、數(shù)據(jù)更新效率低,各項(xiàng)安全隱患難以及時(shí)發(fā)現(xiàn),既影響設(shè)施運(yùn)營,也為用戶帶來隱患。
近年來,隨著區(qū)塊鏈技術(shù)的快速發(fā)展,去中心化形式下的信息可信機(jī)制在各領(lǐng)域獲得廣泛研究[3]。文獻(xiàn)[4]提出了充電數(shù)據(jù)的認(rèn)證加密算法,文獻(xiàn)[5]設(shè)計(jì)了基于閃電網(wǎng)絡(luò)的充電調(diào)度加密模式。盡管上述研究側(cè)重于充電交易數(shù)據(jù),尚未引入安全風(fēng)險(xiǎn)的相關(guān)數(shù)據(jù),但表明電動(dòng)汽車與充電樁能夠組成點(diǎn)對(duì)點(diǎn)(P2P)網(wǎng)絡(luò)并進(jìn)行可信廣播。
引入去中心化架構(gòu)解決電動(dòng)汽車充電安全的相關(guān)問題時(shí),日益增多的節(jié)點(diǎn)數(shù)量將不可避免地造成龐大的通信開銷,復(fù)雜通信和低速共識(shí)帶來的時(shí)延將影響風(fēng)險(xiǎn)識(shí)別的即時(shí)性。針對(duì)這類問題,文獻(xiàn)[6]提出了利用樹形拓?fù)渚W(wǎng)絡(luò)將全網(wǎng)范圍共識(shí)改進(jìn)為子網(wǎng)范圍共識(shí),文獻(xiàn)[7]比較了自下而上的共識(shí)結(jié)構(gòu)對(duì)效率的有益影響,并分別設(shè)計(jì)了符合場景的信用值模型。但相關(guān)研究未給出面向減少通信復(fù)雜度的層數(shù)定量方案,且當(dāng)用于充電網(wǎng)絡(luò)時(shí),電動(dòng)汽車在各輪共識(shí)達(dá)成之后還會(huì)繼續(xù)流動(dòng)接入不同的充電樁,固定拓?fù)涿媾R數(shù)量和拓?fù)涞母?,有效性較差。
針對(duì)上述問題,本文提出了基于分界樹形拓?fù)湫庞霉沧R(shí)的充電設(shè)施安全風(fēng)險(xiǎn)主動(dòng)識(shí)別方法,利用P2P網(wǎng)絡(luò)由電動(dòng)汽車用戶主動(dòng)識(shí)別并廣播充電設(shè)施的安全風(fēng)險(xiǎn)狀態(tài),通過信用共識(shí)機(jī)制保障信息可靠性,并針對(duì)傳統(tǒng)共識(shí)機(jī)制效率的挑戰(zhàn),設(shè)計(jì)分界樹型網(wǎng)絡(luò)拓?fù)渲巫韵露虾喕墓沧R(shí)協(xié)議,不同節(jié)點(diǎn)規(guī)模的仿真驗(yàn)證了所提方法能夠降低通信復(fù)雜度,有效控制了共識(shí)所需的時(shí)延。
充電網(wǎng)絡(luò)中,電動(dòng)汽車、充電樁和充電網(wǎng)絡(luò)邊緣管理中心自下向上連接,層次關(guān)系及其組成的P2P網(wǎng)絡(luò)基本結(jié)構(gòu)如圖1所示。不同于常見的樹形拓?fù)?,充電網(wǎng)絡(luò)分為電動(dòng)汽車層和充電樁層,且各層節(jié)點(diǎn)功能不同,因此電動(dòng)汽車層的節(jié)點(diǎn)與充電樁層的節(jié)點(diǎn)應(yīng)明確固定的分界并分開建立各自的樹形結(jié)構(gòu)。此外,在固有交通屬性下,電動(dòng)汽車往往在多臺(tái)充電樁中流動(dòng)。令E和M分別表示電動(dòng)汽車的數(shù)量和充電樁的數(shù)量,則一個(gè)電動(dòng)汽車節(jié)點(diǎn)e(e∈E)能夠共享多個(gè)充電樁節(jié)點(diǎn)m(m∈M)的安全風(fēng)險(xiǎn)狀態(tài)信息,這一點(diǎn)也不同于常見的樹形拓?fù)洹?/p>
圖1 充電網(wǎng)絡(luò)節(jié)點(diǎn)的分界樹形拓?fù)潢P(guān)系示意
當(dāng)各節(jié)點(diǎn)組成P2P網(wǎng)絡(luò)時(shí),共識(shí)機(jī)制能保障各節(jié)點(diǎn)達(dá)成一致,如實(shí)用拜占庭容錯(cuò)(PBFT)、工作量證明(PoW)等,但各有性能瓶頸,需合理選擇和改進(jìn)。對(duì)于充電安全風(fēng)險(xiǎn)主動(dòng)識(shí)別這一應(yīng)用場景,因電動(dòng)汽車用戶發(fā)起請(qǐng)求的時(shí)刻往往不同步,且各節(jié)點(diǎn)的計(jì)算能力有限,對(duì)設(shè)備處理要求能力較高的PoW類機(jī)制不夠適用。而廣泛用于物聯(lián)網(wǎng)的PBFT類機(jī)制作為輕量級(jí)共識(shí)協(xié)議,具有計(jì)算復(fù)雜度低、能耗小等優(yōu)勢(shì),更適用于本場景。
評(píng)估共識(shí)協(xié)議性能的重要指標(biāo)之一為通信復(fù)雜度,其直接影響能耗和時(shí)延。對(duì)一個(gè)邊緣管理中心所轄的M臺(tái)充電設(shè)施和E輛電動(dòng)汽車,節(jié)點(diǎn)總數(shù)為Z=E+M+1。若采用傳統(tǒng)單層PBFT協(xié)議,所有節(jié)點(diǎn)之間均執(zhí)行請(qǐng)求、預(yù)準(zhǔn)備、準(zhǔn)備、確認(rèn)和回復(fù)等階段的信息推送,如圖2所示,共形成2Z2條信息,即通信復(fù)雜度為O[(E+M+1)2]。如文獻(xiàn)[8]所述,受通信復(fù)雜度制約,基于PBFT的區(qū)塊鏈直接用于百個(gè)節(jié)點(diǎn)的規(guī)模時(shí)效果較差。
具體到充電網(wǎng)絡(luò),一個(gè)邊緣管理中心下轄節(jié)點(diǎn)實(shí)際已遠(yuǎn)超百個(gè),在全網(wǎng)節(jié)點(diǎn)范圍內(nèi),難以運(yùn)行圖2中完整的經(jīng)典PBFT協(xié)議。此時(shí),通過將全網(wǎng)絡(luò)的共識(shí)任務(wù)分解到若干個(gè)分支網(wǎng)絡(luò),再通過一定規(guī)則確定圖1結(jié)構(gòu)中的分支層數(shù)和分支網(wǎng)絡(luò)內(nèi)的節(jié)點(diǎn)數(shù)量,有助于減少PBFT類協(xié)議的通信復(fù)雜度。
圖2 經(jīng)典PBFT協(xié)議的通信過程
各分支網(wǎng)絡(luò)節(jié)點(diǎn)組成滿k叉樹結(jié)構(gòu)時(shí)最緊湊[9],其中,k為除底層節(jié)點(diǎn)外各節(jié)點(diǎn)具有的子節(jié)點(diǎn)數(shù)量。對(duì)充電樁節(jié)點(diǎn)m,在第t輪共識(shí)中能共享其安全風(fēng)險(xiǎn)狀態(tài)的電動(dòng)汽車節(jié)點(diǎn)數(shù)量已知且一定,記為E(m,t),則其所轄所有的電動(dòng)汽車節(jié)點(diǎn)可被分為X(m,t)層:
X(m,t)=?logk-1[2E(m,t)+1]」-1
(1)
類似地,對(duì)充電樁層,充電樁總數(shù)量M保持不變,其分支網(wǎng)絡(luò)的層數(shù)Y為
Y=?logk-1(2M+1)」-1
(2)
根據(jù)PBFT協(xié)議要求,樹形拓?fù)涞母鞣种ЬW(wǎng)絡(luò)均需要選舉領(lǐng)導(dǎo)節(jié)點(diǎn)。當(dāng)就充電樁安全風(fēng)險(xiǎn)狀態(tài)發(fā)起共識(shí)時(shí),不僅面臨是否有用戶參與和響應(yīng)該輪共識(shí)的挑戰(zhàn),還面臨用戶共享的信息是否正確可信的問題。用戶可能因?yàn)殡妱?dòng)汽車自身充電失敗的客觀故障,或是錯(cuò)誤觀察、主觀故意等原因,在網(wǎng)絡(luò)中散布關(guān)于某充電樁狀態(tài)的不正確信息。針對(duì)可能的不可信行為,設(shè)計(jì)一種用于量化節(jié)點(diǎn)信用的獎(jiǎng)懲模型,使各分支網(wǎng)絡(luò)可以在信用值較高的節(jié)點(diǎn)中選舉領(lǐng)導(dǎo)節(jié)點(diǎn)。
首先,針對(duì)節(jié)點(diǎn)e是否響應(yīng)充電樁m安全風(fēng)險(xiǎn)狀態(tài)的請(qǐng)求,記活躍度A(e,m,t)為
A(e,m,t)=N(e,m,t)/∑e∈EN(e,m,t)
(3)
式中:N(e,m,t)為第t輪共識(shí)中節(jié)點(diǎn)e是否提供充電設(shè)施m安全風(fēng)險(xiǎn)狀態(tài)信息的二元變量,N(e,m,t)=1時(shí)表示提供,N(e,m,t)=0時(shí)未提供。
其次,建立節(jié)點(diǎn)e關(guān)于充電樁m安全風(fēng)險(xiǎn)信息的可信度R(e,m,t)。若第(t-1)輪中節(jié)點(diǎn)e關(guān)于充電樁m安全風(fēng)險(xiǎn)信息可信,其可信度由以下函數(shù)更新[6]
R(e,m,t)=R(e,m,t-1)+a|log2R(e,m,t-1)|
(4)
式中:a為信用獎(jiǎng)勵(lì)參數(shù)。
反之,若第(t-1)輪中節(jié)點(diǎn)e不可信,其可信度更新為
R(e,m,t)=bR(e,m,t-1)
(5)
式中:b為信用懲罰參數(shù)。
式(4)和(5)分別以對(duì)數(shù)公式和線性公式控制可信度的增長或下降速率,且隨著共識(shí)輪數(shù)的不斷增加,歷史信用的累積影響逐漸降低。
再次,P2P網(wǎng)絡(luò)的信息傳播受傳輸、數(shù)據(jù)確認(rèn)等影響,節(jié)點(diǎn)e在充電樁m相關(guān)P2P網(wǎng)絡(luò)中的信息傳播率η(e,m,t)可擬合為[10]
η(e,m,t)=e-[τ/c∑e∈EN(e,m,t)+dτ]
(6)
式中:τ為安全風(fēng)險(xiǎn)狀態(tài)信息的數(shù)據(jù)吞吐量;c,d分別為傳輸和確認(rèn)屬性的經(jīng)驗(yàn)參數(shù)。
以表示服務(wù)質(zhì)量滿意度的S型函數(shù)[11]表征第t輪共識(shí)中用戶節(jié)點(diǎn)e關(guān)于充電設(shè)施m的綜合信用C(e,m,t)為
(7)
式中:δ1,δ2,δ3分別為活躍度、可信度和傳播率的折算系數(shù)。
當(dāng)節(jié)點(diǎn)e能夠提供更活躍、更高質(zhì)量、更穩(wěn)定傳播的充電樁m安全風(fēng)險(xiǎn)狀態(tài)信息時(shí),其C(e,m,t)越高,越有可能成為共識(shí)過程中的領(lǐng)導(dǎo)節(jié)點(diǎn)。
以PBFT類協(xié)議為基礎(chǔ),結(jié)合圖1的分界樹形拓?fù)?,根?jù)樹形拓?fù)淇梢詢H在底層分支網(wǎng)絡(luò)運(yùn)行完整PBFT協(xié)議的優(yōu)勢(shì),以第t輪共識(shí)為例,部署過程如下,如圖3所示。
圖3 面向分界樹形拓?fù)涞母倪M(jìn)PBFT協(xié)議過程
步驟1:全局廣播。充電網(wǎng)絡(luò)邊緣管理中心向全網(wǎng)節(jié)點(diǎn)發(fā)送信息,請(qǐng)求各節(jié)點(diǎn)執(zhí)行充電樁安全風(fēng)險(xiǎn)狀態(tài)的主動(dòng)評(píng)估。
步驟2:劃分電動(dòng)汽車層分支網(wǎng)絡(luò)。根據(jù)式(2)確定X(m,t),各充電樁節(jié)點(diǎn)m所轄的電動(dòng)汽車節(jié)點(diǎn)形成分支網(wǎng)絡(luò)G(x,m,t),其中x∈X(m,t)。
步驟3:選舉電動(dòng)汽車層分支網(wǎng)絡(luò)的領(lǐng)導(dǎo)節(jié)點(diǎn)。PBFT類協(xié)議一般根據(jù)一定指標(biāo)選擇領(lǐng)導(dǎo)節(jié)點(diǎn),這里選取各G(x,m,t)中綜合信用較高C(e,m,t)的一組節(jié)點(diǎn)作為候選節(jié)點(diǎn)集,并從中隨機(jī)選舉出領(lǐng)導(dǎo)節(jié)點(diǎn)L(x,m,t)。
步驟4:電動(dòng)汽車層分支網(wǎng)絡(luò)并行獲得局部共識(shí)。各G(x,m,t)完整運(yùn)行圖2的經(jīng)典PBFT協(xié)議,且其中將第x層的共識(shí)插入第(x-1)層的預(yù)準(zhǔn)備和回復(fù)階段,各L(x,m,t)確認(rèn)充電樁m的安全風(fēng)險(xiǎn)狀態(tài)后,信息待用。
步驟5:劃分充電樁層分支網(wǎng)絡(luò)。根據(jù)式(3)確定Y,在第t輪中各G(x,m,t)內(nèi)電動(dòng)汽車節(jié)點(diǎn)e重合度更高的各充電樁節(jié)點(diǎn)m形成分支網(wǎng)絡(luò)G(y,t),其中y∈Y。
步驟6:選舉充電樁層分支網(wǎng)絡(luò)的領(lǐng)導(dǎo)節(jié)點(diǎn)。各G(y,t)以電動(dòng)汽車節(jié)點(diǎn)e提供信息最多,即N(e,m,t)最大的充電樁m作為該分支網(wǎng)絡(luò)的領(lǐng)導(dǎo)節(jié)點(diǎn)L(y,t)。
步驟7:充電樁層分支網(wǎng)絡(luò)獲得局部共識(shí)。各G(y,t)接收來自下層L(x,m,t)的信息,并執(zhí)行類似步驟4的PBFT協(xié)議。
步驟8:第t輪共識(shí)結(jié)束,充電設(shè)施網(wǎng)絡(luò)的邊緣管理中心作為最高層,接收最終共識(shí)確認(rèn)的各充電樁安全風(fēng)險(xiǎn)狀態(tài),且在全網(wǎng)中廣播更新第t輪后各節(jié)點(diǎn)e的綜合信用。
上述步驟中,該分界樹形拓?fù)湟宰韵孪蛏系捻樞蛞来伍_展局部共識(shí)。該過程不僅充分結(jié)合了傳統(tǒng)樹形拓?fù)涞膬?yōu)勢(shì)和充電設(shè)施網(wǎng)絡(luò)自然分界的特點(diǎn),還發(fā)掘了同一電動(dòng)汽車節(jié)點(diǎn)能夠并行參與多個(gè)共識(shí)過程的能力,從而能夠顯著降低通信復(fù)雜度。所提方法所需通信復(fù)雜度的理論測算如下。
對(duì)在同一分界內(nèi)的樹形拓?fù)洌讓幼泳W(wǎng)絡(luò)具有k個(gè)節(jié)點(diǎn)且執(zhí)行完整的PBFT協(xié)議時(shí),類似圖1,形成2k2條信息;其他較高節(jié)點(diǎn)層執(zhí)行簡化PBFT協(xié)議時(shí),可省去(k-1)2條準(zhǔn)備階段信息,如圖3所示。因此,樹型拓?fù)涞男畔l數(shù)降低至2k2-(k-1)2=k2+2k-1??紤]到充電網(wǎng)絡(luò)中具有兩層分界的樹形拓?fù)?,總通信?fù)雜度主要由步驟4電動(dòng)汽車層和步驟7充電樁層共同決定。
(8)
(9)
nmax(t)=(kXmax(m,t)-1)/(k-1)
(10)
式中Xmax(m,t)由式(1)決定。
在充電樁層,總消息條數(shù)NM為
NM=i0·2k2+(i-i0)(k2+2k-1)
(11)
式中:i0為充電樁層中最底層分支網(wǎng)絡(luò)數(shù)量;i為充電樁層總分支網(wǎng)絡(luò)的數(shù)量。i0,i和由式(2)決定的Y之間滿足
i0=kY-1
(12)
i=(kY-1)/(k-1)
(13)
綜上可得,直接影響共識(shí)效率的總消息條數(shù)為Nmax(t)+NM。相比充電網(wǎng)絡(luò)全部節(jié)點(diǎn)直接執(zhí)行PBFT協(xié)議的通信復(fù)雜度O[(E+M+1)2],所提方法通信復(fù)雜度近似降至O[k(E+M+1)]的數(shù)量級(jí),理論上能夠極大提高效率。
按我國車樁比約3∶1現(xiàn)狀,初始設(shè)置節(jié)點(diǎn)數(shù)量E=300,M=100,并等比例遞增。式(6)中數(shù)據(jù)吞吐量τ的初值設(shè)置為1 000 byt/s。
針對(duì)電動(dòng)汽車的流動(dòng)性,假定E個(gè)電動(dòng)汽車節(jié)點(diǎn)中,能參與關(guān)于第m個(gè)充電樁安全風(fēng)險(xiǎn)狀態(tài)共識(shí)的數(shù)量N(15,22)的規(guī)律分布。因PBFT類協(xié)議必須包含至少3個(gè)節(jié)點(diǎn),所以k取4,超出k整數(shù)倍的節(jié)點(diǎn)隨機(jī)并入某分支網(wǎng)絡(luò),且設(shè)置各充電樁m的安全風(fēng)險(xiǎn)狀態(tài)均至少有3個(gè)電動(dòng)汽車節(jié)點(diǎn)響應(yīng)。
設(shè)置各節(jié)點(diǎn)的初始?xì)v史信用值相等,每輪共識(shí)中各節(jié)點(diǎn)以N(0.1,0.052)正態(tài)分布規(guī)律隨機(jī)出現(xiàn)不可信行為。式(4)~式(7)中,a,b,c,d,δ1,δ2,δ3分別取0.050,0.500,0.005,0.001,1.000,10.000,0.100。信用值排序在各組前10%的可成為步驟3中領(lǐng)導(dǎo)節(jié)點(diǎn)的候選節(jié)點(diǎn)集。
本文利用Anaconda平臺(tái)進(jìn)行仿真分析,硬件環(huán)境為Intel i7 1.10 GHz、RAM 16 GB。
比較所提協(xié)議與經(jīng)典PBFT的時(shí)延,取t=10輪觀察,如圖4所示。充電網(wǎng)絡(luò)中總節(jié)點(diǎn)數(shù)量較少時(shí),兩種協(xié)議達(dá)成共識(shí)的時(shí)延接近,但隨著節(jié)點(diǎn)規(guī)模的增長,經(jīng)典PBFT的時(shí)延增長極快,而所提分界樹形拓?fù)湎拢瑫r(shí)延的增長速度相對(duì)較慢。與此同時(shí),當(dāng)吞吐量從1 000 byt/s逐步增加,經(jīng)典PBFT協(xié)議下的時(shí)延也出現(xiàn)了顯著增長,所提方法對(duì)應(yīng)的時(shí)延增長也更緩慢。這表明受益于共識(shí)過程的分層和并行,達(dá)成一輪共識(shí)所需的通信開銷顯著減小,能夠在保障PBFT類協(xié)議所需的核心步驟下,提高在節(jié)點(diǎn)數(shù)量和事務(wù)吞吐量方面的可擴(kuò)展性。
圖4 不同節(jié)點(diǎn)規(guī)模和數(shù)據(jù)吞吐量下的時(shí)延對(duì)比
圖5進(jìn)一步展示了時(shí)延在不同共識(shí)輪數(shù)下的變化情況,取E=900、M=300的節(jié)點(diǎn)規(guī)模和3 000 byt/s的吞吐量觀察。經(jīng)典PBFT的時(shí)延效果一直較為穩(wěn)定,但總體上,獲得共識(shí)所需的時(shí)延較長。與之相比,所提協(xié)議能夠隨著輪數(shù)的增加,時(shí)延逐漸減少并趨于穩(wěn)定。從時(shí)序角度來看,這是由于綜合信用獎(jiǎng)懲模型的作用,約束了不可信行為較多的節(jié)點(diǎn)在共識(shí)中的參與程度。
圖5 不同輪數(shù)中獲得共識(shí)的時(shí)延變化
由圖可知,盡管共識(shí)輪數(shù)、吞吐量和總節(jié)點(diǎn)數(shù)不斷變化,所提協(xié)議和經(jīng)典PBFT均能夠取得共識(shí),即協(xié)議的安全性能效果一致,所提方法并未影響不同規(guī)模安全風(fēng)險(xiǎn)數(shù)據(jù)下主動(dòng)共識(shí)的達(dá)成。
為提高充電網(wǎng)絡(luò)安全風(fēng)險(xiǎn)識(shí)別的主動(dòng)性,引入去中心化P2P網(wǎng)絡(luò)結(jié)構(gòu),提出了由電動(dòng)汽車用戶識(shí)別并共享充電樁安全風(fēng)險(xiǎn)狀態(tài)的新機(jī)制,針對(duì)傳統(tǒng)PBFT協(xié)議面臨高通信復(fù)雜度和確定領(lǐng)導(dǎo)節(jié)點(diǎn)的挑戰(zhàn),提出利用分界樹形拓?fù)淞炕种ЬW(wǎng)絡(luò)層數(shù),并設(shè)計(jì)綜合信用共識(shí)模型選舉分支網(wǎng)絡(luò)領(lǐng)導(dǎo)節(jié)點(diǎn),再以自下而上的共識(shí)順序簡化協(xié)議過程。仿真分析結(jié)果表明,所提方法能夠在電動(dòng)汽車和充電樁數(shù)量、安全風(fēng)險(xiǎn)狀態(tài)信息吞吐量不斷擴(kuò)展的場景下,保持良好的時(shí)延性能。