蔡梓越,譚北海,余榮,黃旭民,王思明
(1.廣東工業(yè)大學自動化學院,廣東廣州 510006;2.廣東工業(yè)大學集成電路學院,廣東 廣州 510006)
近年來,物聯(lián)網(wǎng)的部署規(guī)模不斷擴大,5G 移動通信網(wǎng)絡技術(shù)已經(jīng)無法滿足其不斷增長的服務需求??尚拧⒖煽?、智能的6G 移動通信網(wǎng)絡技術(shù)有望提供全新的服務質(zhì)量,開啟海、陸、空全方位連接、萬物互聯(lián)的物聯(lián)網(wǎng)時代[1]。物聯(lián)網(wǎng)的全面部署會導致接入的智能設(shè)備數(shù)量急劇增長,進而引發(fā)網(wǎng)絡數(shù)據(jù)量的爆炸性增長。這些數(shù)據(jù)一旦被泄露,就會給個人、企業(yè)帶來巨大的損失。傳統(tǒng)的物聯(lián)網(wǎng)系統(tǒng)采用集中式的云服務器對這些數(shù)據(jù)進行統(tǒng)一的控制管理,其數(shù)據(jù)安全隱私問題是一大痛點[2-3]。如何在保證安全的前提下有效實現(xiàn)物聯(lián)網(wǎng)設(shè)備高效協(xié)同,已經(jīng)成為了一個值得深究的問題。
區(qū)塊鏈作為6G 技術(shù)的關(guān)鍵一環(huán),本質(zhì)上是一個分布式共享數(shù)據(jù)庫,具有去中心化、不可篡改、安全的特點,能有效解決傳統(tǒng)物聯(lián)網(wǎng)實施方案的痛點[4-5]。然而,大量增加接入節(jié)點必然會導致整個區(qū)塊鏈網(wǎng)絡變得臃腫,可擴展性變差,整個系統(tǒng)的吞吐量也會受到限制。針對上述問題,當前的主流解決方案是采用分片技術(shù)?,F(xiàn)有的成熟分片技術(shù)解決方案均是采用均勻或者隨機分片策略,包括Elastico[6]、OmniLedger[7]和RapidChain[8]。這些分片方案忽略了節(jié)點之間存在的性能差異與協(xié)同事務,雖然提高了區(qū)塊鏈網(wǎng)絡性能,但會出現(xiàn)分片不安全、單點過熱的問題,更不適用于動態(tài)變化的復雜環(huán)境。
因此,又有學者研究如何在復雜環(huán)境中利用深度強化學習技術(shù)周期性地重置分片,以提高區(qū)塊鏈系統(tǒng)的穩(wěn)定性,改善其網(wǎng)絡性能。文獻[9]介紹了利用深度強化學習對區(qū)塊鏈系統(tǒng)進行動態(tài)分片的方案,并且提供了區(qū)塊鏈共識時延與系統(tǒng)安全性的分析方程,有效保證了動態(tài)環(huán)境下的系統(tǒng)性能和安全性的均衡。文獻[10]介紹了一種自適應賬本協(xié)議,保證了動態(tài)環(huán)境下的分片可以合理地進行被拆分與合并,并基于深度強化學習方法調(diào)整多個性能指標以保持系統(tǒng)性能和安全性的動態(tài)均衡。文獻[11]介紹了移動邊緣計算場景中將吞吐量和安全性建模為馬爾可夫決策過程的區(qū)塊鏈框架,并采用多種深度強化學習方法進行實驗對比,驗證其有效性。文獻[12]介紹了區(qū)塊鏈分片的最優(yōu)選擇策略。該策略克服了傳統(tǒng)深度強化學習算法空間維度高且神經(jīng)網(wǎng)絡難以訓練的缺點,有效提高了系統(tǒng)的可擴展性。文獻[13]介紹了如何將使用深度強化學習技術(shù)的區(qū)塊鏈框架應用于車聯(lián)網(wǎng)中,優(yōu)化區(qū)塊生產(chǎn)者、共識算法以及區(qū)塊間隔,提高系統(tǒng)吞吐量,并保證去中心化、時延與安全性的均衡。以上解決方案雖然在一定程度上解決了復雜環(huán)境下的分片問題,能有效分割臃腫的區(qū)塊鏈網(wǎng)絡提高其擴展性,但共識過程普遍采用實用拜占庭容錯(PBFT)算法。當片內(nèi)節(jié)點數(shù)量增多,且單節(jié)點處理消息的性能被限制時,整個系統(tǒng)的共識效率隨之變低,其性能會受到限制。
為了解決上述問題,本文提出面向6G 物聯(lián)網(wǎng)設(shè)備協(xié)同的區(qū)塊鏈動態(tài)分片優(yōu)化方案。該方案采用兩階段分片優(yōu)化策略。在第一階段,利用委托拜占庭容錯(DBFT)算法代替PBFT 算法,對所有參與節(jié)點進行信譽篩選,通過投票選出小部分且能滿足正常共識過程的節(jié)點作為驗證節(jié)點參與接下來的共識過程,以提高整個系統(tǒng)的共識效率。在第二階段,利用深度強化學習算法降低系統(tǒng)的跨片協(xié)同事務比例,在保證安全性與正常時延的前提下,合理決策區(qū)塊鏈網(wǎng)絡的分片數(shù)量。最后,在一個多節(jié)點的物聯(lián)網(wǎng)設(shè)備協(xié)同場景下的區(qū)塊鏈動態(tài)分片系統(tǒng)上,對所提方案進行有效性驗證。
當前,發(fā)達城市都在向數(shù)字化智慧城市轉(zhuǎn)型。智慧城市作為一個萬事萬物有機結(jié)合的大系統(tǒng),應該涵蓋更透切的感知、更全面的互聯(lián)以及更深入的智能。如圖1 所示,在智慧城市中,各個領(lǐng)域的大量物聯(lián)網(wǎng)設(shè)備存在著許多協(xié)同任務,如智能機器人與智能工廠之間存在著工業(yè)制造業(yè)務數(shù)據(jù)的互通共享,智能工廠和智能樓宇都需要與智能電網(wǎng)協(xié)同處理用戶用電業(yè)務數(shù)據(jù),智能汽車在智能樓宇停放的時候也需要接入物聯(lián)網(wǎng)處理相關(guān)的交通出行數(shù)據(jù)等。為保證智慧城市系統(tǒng)的正常運作,避免使用集中式服務器容易出現(xiàn)單點故障以及被惡意攻擊的情況,本文設(shè)計應用兩階段優(yōu)化策略的物聯(lián)網(wǎng)設(shè)備協(xié)同的區(qū)塊鏈動態(tài)分片系統(tǒng)。
圖1 區(qū)塊鏈分片系統(tǒng)整體架構(gòu)Fig.1 The overall architecture of blockchain sharding system
首先,各種物聯(lián)網(wǎng)設(shè)備的數(shù)據(jù)被傳輸?shù)絽^(qū)塊鏈網(wǎng)絡中。為了提高整個區(qū)塊鏈網(wǎng)絡的吞吐量,采用主鏈和子鏈組成的雙層鏈框架。子鏈即分片網(wǎng)絡,每個分片的形成都會經(jīng)過兩個階段。在第一個階段,參與共識的物聯(lián)網(wǎng)設(shè)備以區(qū)塊鏈節(jié)點的形式存在于節(jié)點池中。每個節(jié)點都會存在一個初始信譽值,且會隨著共識過程的推進而變化。在每一輪中,利用信譽值作為信譽篩選的標準,投票選出一定數(shù)量的驗證節(jié)點以參與區(qū)塊鏈的共識過程。在第二個階段,系統(tǒng)會利用深度強化學習的決策智能體衡量各分片網(wǎng)絡的跨片協(xié)同事務,通過進行大量的訓練,決策出最佳的分片方案。分片完畢,每個分片網(wǎng)絡都會生成區(qū)塊并驗證存儲于塊內(nèi)的數(shù)據(jù),然后傳輸?shù)街骶W(wǎng)絡中。主網(wǎng)絡接收各分片網(wǎng)絡的區(qū)塊,同時負責數(shù)據(jù)的最終驗證存儲,最后將各個區(qū)塊排序上鏈,完成整個過程。
1.2.1 DBFT 共識過程
區(qū)塊鏈網(wǎng)絡的時延主要體現(xiàn)在共識階段。時延模型是在區(qū)塊鏈網(wǎng)絡所使用的共識協(xié)議的基礎(chǔ)上建立的。在聯(lián)盟鏈中,PBFT 共識協(xié)議只需要超過2/3的節(jié)點達成共識就可以判定每筆交易的正確與否,被廣泛采用[14]。然而,PBFT 協(xié)議仍然存在著缺陷,其共識過程包括請求、預準備、準備、提交以及應答5 個階段,涉及大量消息的驗證與傳播。區(qū)塊鏈驗證節(jié)點因其設(shè)備的不同,處理消息的效率也不同。隨著參與節(jié)點的規(guī)模越來越大,每個節(jié)點需要處理的消息也越來越多,進而增加了整個系統(tǒng)的時延。為了解決上述問題,本文使用了DBFT 協(xié)議[15]。該協(xié)議通過投票方式,選取小部分信譽值良好的節(jié)點作為驗證節(jié)點,從而減少驗證節(jié)點的數(shù)量,降低系統(tǒng)的時延(具體過程參考2.3 節(jié))。
結(jié)合本文建立的系統(tǒng)模型,使用DBFT 協(xié)議的共識過程如圖2 所示。所有經(jīng)過投票篩選出的驗證節(jié)點都會被分配到分片網(wǎng)絡和主網(wǎng)絡內(nèi)(每個網(wǎng)絡內(nèi)都會獨立執(zhí)行類似于PBFT 的共識過程)。整個共識過程可以分為片內(nèi)共識過程與最終共識過程。在片內(nèi)共識過程中,每個分片網(wǎng)絡會在內(nèi)部驗證并傳播區(qū)塊事務,并將需要其他分片網(wǎng)絡的節(jié)點協(xié)同驗證的事務,即跨片事務,傳播到對應分片網(wǎng)絡中處理。在最終共識過程中,每個分片網(wǎng)絡會將處理完的區(qū)塊傳輸?shù)街骶W(wǎng)絡進行最終驗證和排序上鏈。
圖2 DBFT 共識過程Fig.2 The consensus process of DBFT
1.2.2 時延模型建立
在DBFT共識過程中,系統(tǒng)的總時延Tlatency可表示為:
其中:Tcon表示共識時延;TI表示區(qū)塊生成間隔,即生成兩個區(qū)塊之間的時間間隔。
共識時延Tcon可表示為:
其中:Tin_con表示片內(nèi)共識時延;Tf_con表示最終共識時延。
片內(nèi)共識時延Tin_con可表示為:
其中:Tin_val表示片內(nèi)事務驗證時延;Tin_prop表示片內(nèi)事務傳播時延;Tcross表示跨片協(xié)同事務傳播時延。
設(shè)系統(tǒng)當前有N個驗證節(jié)點、k個分片,則平均每個分片內(nèi)有n個驗證節(jié)點(n=N/k),片內(nèi)事務驗證時延Tin_val可表示為:
其中:SB為區(qū)塊大小;ν表示驗證每個區(qū)塊需要的計算資源;c表示節(jié)點的計算資源,其下標表示節(jié)點的索引。
片內(nèi)事務傳播時延Tin_prop由每個網(wǎng)絡內(nèi)的共識過程所對應5 個階段的事務傳播時延組成,可表示為:其中:u表示客戶端;p表示每個分片的主節(jié)點;R表示片內(nèi)兩個不同節(jié)點之間的信息傳輸速率,其下標表示節(jié)點索引。
跨片協(xié)同事務傳播時延Tcross可表示為:
其中:Savg表示平均事務規(guī)模;R表示兩個不同分片的主節(jié)點之間的信息傳輸速率。
同上所述,在主網(wǎng)絡中,最終共識時延Tf_con和最終事務驗證時延Tf_val可表示為:
其中:m表示主網(wǎng)絡。
最終事務傳播時延Tf_prop可表示為:
其中:p表示主網(wǎng)絡的主節(jié)點。
為了防止驗證節(jié)點作惡破壞系統(tǒng)的正常運作,需要對區(qū)塊鏈網(wǎng)絡的安全性進行評估。本文使用DBFT 共識協(xié)議,需要滿足每個分片網(wǎng)絡有2/3 以上的誠實節(jié)點的條件[15]。驗證節(jié)點存在惡意與誠實兩種行為,那么可以設(shè)離散變量X為誠實節(jié)點,X符合二項分布,則第k個分片網(wǎng)絡的惡意分片概率Pk,err可表示為:
其中:Pk表示第k個分片的平均交易成功率;Pkj表示第k個分片的第j個節(jié)點的交易成功率。在該安全性模型中,Pk,err隨著分片內(nèi)驗證節(jié)點數(shù)量n的增加呈指數(shù)遞減趨勢。
區(qū)塊鏈網(wǎng)絡的每秒可處理交易量(TPS),即吞吐量,可作為衡量整個區(qū)塊鏈網(wǎng)絡性能的指標[16]。系統(tǒng)的吞吐量可表示為:
其中:Pcro表示當前輪次的全局跨片協(xié)同事務比例,如式(13)所示;Pk,cro表示第k個分片的跨片協(xié)同事務比例,如式(14)所示;Pkj,cro表示第k個分片的第j個節(jié)點的跨片協(xié)同事務比例;P表示所有驗證節(jié)點的平均交易成功率。
需要注意的是,對于式(12),跨片協(xié)同事務涉及兩個不同分片的節(jié)點,在全部區(qū)塊包含的事務中,有一半的跨片協(xié)同事務是冗余的。因此,在計算吞吐量時,需要去掉這部分冗余事務[17]。
由式(12)可知,增加分片數(shù)量、增加區(qū)塊大小、縮短區(qū)塊生成間隔以及降低跨片協(xié)同事務比例,均能提高平均交易成功率,有效提高整個系統(tǒng)的吞吐量。
本文設(shè)計了采用兩階段分片優(yōu)化策略的物聯(lián)網(wǎng)設(shè)備協(xié)同的區(qū)塊鏈動態(tài)分片系統(tǒng)。該系統(tǒng)能夠在保證時延在正常范圍內(nèi)和片內(nèi)安全性的同時降低跨片協(xié)同事務比例,從而提升整個系統(tǒng)的吞吐量。因此,本文以系統(tǒng)的吞吐量作為優(yōu)化目標,得出了以下優(yōu)化問題:
式(16)表示系統(tǒng)每一輪共識的時間不能過長,需要限制在若干個區(qū)塊生成間隔內(nèi),其中,μ表示時間系數(shù)[14]。式(17)表示惡意分片概率應該限制在一定范圍內(nèi),其中,λ表示安全系數(shù)。
針對上述優(yōu)化問題,本文提出了采用兩階段分片優(yōu)化策略(在2.3、2.4 節(jié)具體闡述)的優(yōu)化系統(tǒng)。本文方案的流程圖如圖3 所示,各種物聯(lián)網(wǎng)設(shè)備需要接入?yún)^(qū)塊鏈網(wǎng)絡存儲和共享數(shù)據(jù),其中有意愿參與區(qū)塊鏈網(wǎng)絡共識過程的設(shè)備將作為候選節(jié)點進入候選節(jié)點池。在第一階段,根據(jù)信譽值篩選出一部分優(yōu)良和普通節(jié)點,并將兩者混合分配到每個分片中,生成分片數(shù)量不同的多個方案。這里混合優(yōu)良節(jié)點和普通節(jié)點的目的是給予新加入的節(jié)點共識機會,防止信譽值高的節(jié)點壟斷共識過程。在第二階段,訓練深度強化學習網(wǎng)絡,降低跨片協(xié)同事務比例,輸出最終分片方案。至此,該輪的區(qū)塊鏈網(wǎng)絡已經(jīng)確定。網(wǎng)絡中的驗證節(jié)點按照DBFT 協(xié)議進行共識,即可將通過驗證的物聯(lián)網(wǎng)設(shè)備數(shù)據(jù)上鏈。同時,根據(jù)該輪共識結(jié)果,按照本文的信譽值更新規(guī)則(參考2.3 節(jié))即可更新所有節(jié)點的信譽值。整個系統(tǒng)運作按照本文方案流程循環(huán)往復即可。
圖3 本文方案流程圖Fig.3 Flowchart of the proposed scheme
第一個階段采用信譽分級分片策略。在共識過程開始前建立節(jié)點信譽模型,挑選適合的節(jié)點作為驗證節(jié)點參與共識,可以在保證系統(tǒng)安全的同時,降低共識過程的通信復雜度以及系統(tǒng)的集中化趨勢,能有效提高共識效率[18]。信譽分級分片示意圖如圖4 所示。
圖4 信譽分級分片示意圖Fig.4 Schematic diagram of reputation-based grading and sharding
首先,節(jié)點池的節(jié)點會進行一輪投票選出一定數(shù)量不同級別的驗證節(jié)點。然后,每個驗證節(jié)點都會進入適合的分片中參與共識過程。最后,根據(jù)共識結(jié)果,評估每個節(jié)點的行為,并更新第j個節(jié)點的信譽值Rj,rep作為下一輪共識挑選驗證節(jié)點的依據(jù)。
在信譽分級分片過程中,需要對每個節(jié)點的信譽值進行評估。節(jié)點的信譽值越高,參與共識的概率越大[19]。首先,信譽值的評估應與時間有關(guān)??梢哉{(diào)整當前與過往信譽值的比重,體現(xiàn)側(cè)重節(jié)點是當前行為還是過往行為。其次,信譽值的變化速度應該合理設(shè)置,即調(diào)整信譽獎勵系數(shù)與信譽懲罰系數(shù),一般來說,信譽值下降速度應該比增長速度快,促使節(jié)點做出誠實行為。最后,作惡行為多的節(jié)點信譽值下降速度要比較快,以便快速篩除惡意節(jié)點。
因此,基于主觀邏輯模型[20-21]的考量,在T個分片周期內(nèi),節(jié)點i對節(jié)點j在分片周期t的信譽評估可表示為:
其中:用于信譽評估的函數(shù)原型為Sigmoid 函數(shù),該函數(shù)可以將節(jié)點的信譽值映射在0 到1 之間,便于劃分節(jié)點信譽等級[22](這里可以將0.5 作為臨界值把節(jié)點劃分為優(yōu)良節(jié)點與普通節(jié)點,即將信譽閾值設(shè)置為0.5,則在每一輪參與驗證的節(jié)點中,信譽值在0.5 以上的為優(yōu)良節(jié)點,其他為普通節(jié)點,節(jié)點剛參與共識過程時,可以假定其為臨界狀態(tài),即設(shè)置初始信譽值為0.5);φt表示共識標記,若該節(jié)點參與了當前輪次的共識過程,則φt=1,反之,φt=0;表示節(jié)點i對節(jié)點j的評價的影響因子;γ是信譽衰減系數(shù),表示當前節(jié)點若沒有參與共識,其信譽值會隨著時間推進而衰減;τ表示信譽偏重系數(shù)(0<τ<1),如果設(shè)置較大表示側(cè)重節(jié)點過往行為,反之,則表示側(cè)重節(jié)點的當前行為;ξ表示信譽獎勵系數(shù);ζ表示信譽懲罰系數(shù),均用于調(diào)節(jié)節(jié)點的信譽值變化速度表示節(jié)點當前的誠實行為次數(shù);?tj表示節(jié)點的惡意行為次數(shù)(行為閾值設(shè)置為Pσ,節(jié)點當前周期的交易成功率高于該閾值表示其誠實,反之則作惡);δt表示行為標記,若當前輪次該節(jié)點誠實,則δt=1,反之,δt=0。
節(jié)點i對節(jié)點j的信譽評估為不同分片周期的信譽評估的累和,可表示為:
最后,可以得到節(jié)點j當前的信譽值為:
2.4.1 深度強化學習算法分析
第二個階段采用深度強化學習動態(tài)分片策略決策分片,即利用深度強化學習算法將篩選出的協(xié)同事務較多的節(jié)點放進同一個分片中,均衡優(yōu)化信譽值和跨片協(xié)同事務比例。深度強化學習算法可用于解決動態(tài)決策問題[23]。本文選用經(jīng)典的深度Q 網(wǎng)絡(DQN)算法的改良算法,即競爭Q 網(wǎng)絡(Dueling DQN)算法[24]進行系統(tǒng)的最終分片方案決策。這是由于本文設(shè)置的狀態(tài)變化依賴于狀態(tài)轉(zhuǎn)移矩陣,不依賴于智能體的動作。在這種情況下,計算動作的狀態(tài)函數(shù)比計算動作的價值函數(shù)意義更大,采用Dueling DQN 比DQN 效果更好。
Dueling DQN 與經(jīng)典DQN 的區(qū)別在于,前者將Q 網(wǎng)絡分成了價值網(wǎng)絡以及優(yōu)勢網(wǎng)絡,即:
其中:S表示狀態(tài);a表示動作;θ表示公共網(wǎng)絡參數(shù);α表示價值網(wǎng)絡參數(shù);β表示優(yōu)勢網(wǎng)絡參數(shù)。Dueling DQN 的結(jié)構(gòu)如圖5 所示。
圖5 Dueling DQN 結(jié)構(gòu)Fig.5 Structure of Dueling DQN
2.4.2 最終分片方案決策
本文利用Dueling DQN 進行最終分片方案決策,處理具有動態(tài)和多維度特征的物聯(lián)網(wǎng)設(shè)備協(xié)同場景[25]。
首先,需要定義好狀態(tài)空間,可以在離散時間t時刻,定義離散的狀態(tài)空間S(t):
其中:R(t)表示驗證節(jié)點之間的信息傳輸速率矩陣;C(t)表示驗證節(jié)點的計算能力矩陣;P(t)表示評估驗證節(jié)點共識成功的概率矩陣;M(t)表示驗證節(jié)點之間的跨片協(xié)同事務比例矩陣;R(t)、C(t)、P(t)以及M(t)皆可建模為有限馬爾可夫模型,狀態(tài)的轉(zhuǎn)移規(guī)則遵從相關(guān)轉(zhuǎn)移概率矩陣[14]。
其次,可以在離散時間t時刻,定義離散的動作空間a(t):
其中:k(t) 表示每輪共識過程的分片數(shù)量,k(t)?{2,3,…,};SB(t)表示每輪共識過程的區(qū)塊大小,SB(t)?{1,2,…,};TI(t)表示每輪共識過程的區(qū)塊生成間隔,TI(t)?{1,2,…,}。
最后,需要定義最大化長期回報來訓練深度強化學習的智能體,以實現(xiàn)式(15)所示的優(yōu)化目標。設(shè)獎勵函數(shù)為r(t),則Q 網(wǎng)絡Q(S,a)表示為:
其中:ηt表示獎勵衰減系數(shù),用于權(quán)衡當前獎勵與未來獎勵;r(t)表示即時獎勵,可以表示為式(26)。
其中:O(t)表示在離散時間t時刻系統(tǒng)的吞吐量。
2.4.3 Dueling DQN 工作流程
本文使用Dueling DQN 算法制定動態(tài)分片策略,算法流程如算法1 所示[26]。
算法1結(jié)合Dueling DQN 的最終分片方案決策算法
本文采用計算機軟件搭建實驗平臺,為了證明本文方案的有效性,本文實驗參考聯(lián)盟鏈平臺的Hyperledger Fabric、FISCO BCOS 以及公鏈平臺的以太坊等,利用TensorFlow 以及Python 3.7,搭建一個多節(jié)點的物聯(lián)網(wǎng)設(shè)備協(xié)同場景下的區(qū)塊鏈動態(tài)分片系統(tǒng)。實驗流程按照前述分片方案流程靈活調(diào)整。
對于本文方案,設(shè)置3 種對比方案。這3 種對比方案在利用深度強化學習技術(shù)進行動態(tài)分片的基礎(chǔ)上,分別應用3 種不同的分片策略:
1)信譽分級分片策略:只考慮篩選出信譽值高的節(jié)點參與共識,不考慮降低跨片協(xié)同事務比例。
2)均勻分片策略:將所有節(jié)點平均分到每個分片中參與共識。
3)隨機分片策略:將所有節(jié)點隨機分到某個分片中參與共識。
本文的區(qū)塊鏈網(wǎng)絡的驗證節(jié)點數(shù)量設(shè)置為120 個,若方案包含信譽投票篩選環(huán)節(jié),則驗證節(jié)點數(shù)量可以縮減到60 個,區(qū)塊的事務平均規(guī)模為200 Byte,其他的實驗參數(shù)[14]如表1 所示。
表1 實驗參數(shù)Table 1 Experimental parameters
由于狀態(tài)空間的元素即R(t)、C(t)、P(t)以及M(t)皆可建模為有限馬爾可夫模型,狀態(tài)的轉(zhuǎn)移規(guī)則遵從對應的轉(zhuǎn)移概率矩陣[14],因此在實驗開始前,還需要設(shè)置R(t)、C(t)、P(t)以及M(t)對應的狀態(tài)轉(zhuǎn)移概率矩陣。將R(t)、C(t)、P(t)以及M(t)分別設(shè)置成若干個不同的狀態(tài),每個狀態(tài)按照狀態(tài)轉(zhuǎn)移概率轉(zhuǎn)移到下一個狀態(tài)即可[17]。
3.2.1 多方案對比分析
圖6 給出了使用不同分片策略的方案的系統(tǒng)性能對比圖。其中,橫軸表示智能體的訓練輪數(shù),縱軸表示每輪訓練累計的吞吐量。為了更直觀地顯示效果,對所有曲線均做了平滑處理??梢钥闯觯掏铝壳€隨著訓練輪數(shù)的增多,整體上是往最大值震蕩收斂的。實驗結(jié)果表明,算法收斂后,本文方案的系統(tǒng)性能優(yōu)于基于單一的信譽分級分片策略、均勻分片策略或者隨機分片策略的方案。這是由于本文方案在保證安全性與正常時延的同時,均衡了節(jié)點的跨片協(xié)同事務比例,能更好地提升系統(tǒng)性能。而信譽分級分片策略雖然保證了安全性,但是當跨片協(xié)同事務較多的兩個節(jié)點分到不同分片時,會導致全局跨片事務比例過高。均勻分片策略沒有對節(jié)點進行篩選,只是將節(jié)點均勻地分到各個分片中,會導致分片不安全。隨機分片策略將加入的節(jié)點隨機分到某個分片中,會出現(xiàn)兩種情況:若某個分片存在過多節(jié)點,會導致單點過熱,進而增加系統(tǒng)時延;若某個分片存在過少節(jié)點,會導致惡意節(jié)點過于集中,進而降低系統(tǒng)的安全性。
圖6 不同分片策略下的系統(tǒng)性能對比Fig.6 System performance comparison with different sharding strategies
3.2.2 參數(shù)變化分析
圖7 給出了隨著影響因素變化的系統(tǒng)性能對比。其中,橫軸表示智能體的訓練輪數(shù),縱軸表示系統(tǒng)在智能體的每輪訓練中累計的吞吐量。式(12)說明系統(tǒng)的吞吐量與區(qū)塊大小SB、區(qū)塊生成間隔TI以及分片數(shù)量k有關(guān)。在本文方案中,這3 個因素均是可變的。為了觀察本文方案這樣設(shè)計的效果,可以分別固定3 個因素中的一個因素,即觀察本文方案與固定區(qū)塊大小、固定區(qū)塊生成間隔以及固定分片數(shù)量的方案的區(qū)別。實驗結(jié)果表明,本文方案在算法收斂后表現(xiàn)的系統(tǒng)性能最好。這是由于在限制范圍內(nèi),增加區(qū)塊大小、縮短區(qū)塊生成間隔以及增加分片數(shù)量都會提升系統(tǒng)的吞吐量,本文方案可以均衡優(yōu)化這3 種影響因素,更加靈活。
圖7 影響因素變化的系統(tǒng)性能對比Fig.7 System performance comparison with changed influencing factors
圖8 給出了共識過程中的隨機追蹤的幾個節(jié)點的信譽值變化圖。其中,橫軸表示截取的共識輪次,縱軸表示節(jié)點的信譽值。實驗結(jié)果表明:在截取的共識輪次中,節(jié)點1 的信譽值變化曲線一直在信譽閾值邊緣波動,說明節(jié)點1 參與截取的共識過程的次數(shù)較多,但其性能較差;節(jié)點2 的信譽值變化曲線一直在穩(wěn)定線性衰減,說明節(jié)點2 并沒有參與截取的共識過程;節(jié)點3 的信譽值曲線表明其在3 個節(jié)點中的性能最佳,參與截取的共識過程的次數(shù)適中。
圖8 隨機追蹤節(jié)點信譽值變化Fig.8 Change of reputation value for randomly tracked nodes
圖9 給出了使用不同分片策略的方案的跨片協(xié)同事務比例變化圖。其中,橫軸表示智能體的訓練輪數(shù),縱軸表示系統(tǒng)在當前的訓練輪次累計的跨片協(xié)同事務比例。實驗結(jié)果表明,本文方案相較于基于單一的信譽分級分片策略、均勻分片策略或者隨機分片策略的方案,隨著訓練輪數(shù)的增加,跨片協(xié)同事務的比例增加得最慢,系統(tǒng)性能表現(xiàn)最好。這是由于信譽分級分片策略以及均勻分片策略都沒有考慮到要均衡每個分片中的跨片協(xié)同事務,讓協(xié)同事務較多的節(jié)點在同一個分片中,降低全局跨片協(xié)同事務的比例。而隨機分片策略由于環(huán)境中的分片可能存在較多的節(jié)點在同一個分片中的情況,全局跨片協(xié)同事務比例相較于信譽分級分片策略、隨機分片策略反而有所降低。
圖9 不同分片策略下的跨片協(xié)同事務比例變化Fig.9 Change of the proportion of cross-shard collaborative transactions with different sharding strategies
圖10 給出了不同多協(xié)同事務節(jié)點比例(多協(xié)同事務節(jié)點數(shù)/總節(jié)點數(shù))下的全局跨片協(xié)同事務比例變化圖。其中,橫軸表示多協(xié)同事務節(jié)點的比例,縱軸表示全局跨片協(xié)同事務比例。多協(xié)同事務節(jié)點表示節(jié)點的跨片協(xié)同事務占其總事務比例較高,反之則為少協(xié)同事務節(jié)點(可以自行設(shè)置閾值,劃分出少協(xié)同事務節(jié)點與多協(xié)同事務節(jié)點)。實驗結(jié)果表明,所有方案的比例曲線整體都呈上升趨勢,而本文方案的性能優(yōu)化效果要優(yōu)于基于單一的信譽分級分片策略、均勻分片策略或者隨機分片策略的方案。當多協(xié)同事務節(jié)點比例是0.5 左右時,本文方案極具優(yōu)勢。這是由于當所有的驗證節(jié)點的跨片協(xié)同事務都比較少時,本文方案對跨片協(xié)同事務比例的優(yōu)化就沒有那么明顯。當所有的驗證節(jié)點的跨片系統(tǒng)事務都比較多時,本文方案在考慮安全性的情況下,對跨片協(xié)同事務比例的優(yōu)化空間較小。當系統(tǒng)中多協(xié)同事務節(jié)點與少協(xié)同事務節(jié)點的數(shù)量較為均勻時,本文方案就能夠在充分均衡安全性與跨片協(xié)同事務比例的情況下對系統(tǒng)性能進行優(yōu)化。
圖10 不同多協(xié)同事務節(jié)點比例下的跨片協(xié)同事務比例變化Fig.10 Change of the proportion of cross-shard collaborative transactions with different proportions of multi-cooperative transaction node
圖11 給出了全局惡意節(jié)點比例變化的系統(tǒng)性能對比圖。其中,橫軸表示全局惡意節(jié)點比例,縱軸表示系統(tǒng)吞吐量。實驗結(jié)果表明,隨著全局惡意節(jié)點比例增加,本文方案整體上優(yōu)于基于單一的信譽分級分片策略、均勻分片策略或者隨機分片策略的方案。如圖11 所示,全局惡意節(jié)點比例越高,系統(tǒng)安全性越低,系統(tǒng)性能越差。根據(jù)PBFT 協(xié)議,在全局惡意節(jié)點比例達到1/3 以上時,均勻分片策略、隨機分片策略均因不滿足共識條件而失效,而本文方案與信譽分級分片策略仍然能夠利用DBFT 協(xié)議投票選出滿足條件的足夠數(shù)量的節(jié)點進行共識。當全局惡意節(jié)點比例達到2/3 時,本文方案和信譽分級策略方案的系統(tǒng)性能持平,這是由于系統(tǒng)滿足共識條件所需的節(jié)點數(shù)量已經(jīng)不支持本文方案優(yōu)化跨片協(xié)同事務比例。當全局惡意節(jié)點比例超過2/3 時,所有分片方案都失效。因此,本文方案能夠比傳統(tǒng)基于均勻分片策略、隨機分片策略的方案對高比例惡意節(jié)點系統(tǒng)容錯性更高,同時比基于信譽分級分片策略的方案性能更好。但要注意,在全局惡意節(jié)點比例過高的情況下,本文方案也會失效。
圖11 不同全局惡意節(jié)點比例下的系統(tǒng)性能對比Fig.11 System performance comparison with different proportions of global malicious node
本文主要研究面向6G 物聯(lián)網(wǎng)設(shè)備協(xié)同的區(qū)塊鏈動態(tài)分片優(yōu)化方案?;诒疚乃岱桨?,建立了物聯(lián)網(wǎng)設(shè)備協(xié)同場景下的區(qū)塊鏈動態(tài)分片系統(tǒng)。為了高效解決多維度與大規(guī)模數(shù)據(jù)安全問題,本文方案采用兩階段分片優(yōu)化策略應用于分片系統(tǒng)。在第一階段,利用信譽值對加入節(jié)點池的物聯(lián)網(wǎng)設(shè)備進行篩選,使用DBFT 協(xié)議,投票選出可參與共識過程的驗證節(jié)點。在第二階段,利用Dueling DQN 算法調(diào)整分片,降低系統(tǒng)的全局跨片協(xié)同事務比例,進行分片數(shù)量決策。最終分片方案確定以后即可搭建區(qū)塊鏈網(wǎng)絡平臺進行物聯(lián)網(wǎng)數(shù)據(jù)安全存儲上鏈的業(yè)務。實驗結(jié)果表明,本文方案要優(yōu)于傳統(tǒng)的基于單一的信譽分級分片策略、均勻分片策略或者隨機分片策略的方案。下一步研究將引入聯(lián)邦強化學習加快智能體的收斂速度,進一步提高數(shù)據(jù)處理效率。