亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        結(jié)合深度強化學習的區(qū)塊鏈分片系統(tǒng)性能優(yōu)化

        2022-10-18 01:52:16溫建偉姚冰冰萬劍雄李雷孝
        計算機工程與應(yīng)用 2022年19期
        關(guān)鍵詞:分片吞吐量區(qū)塊

        溫建偉,姚冰冰,萬劍雄,李雷孝

        1.內(nèi)蒙古自治區(qū)氣象信息中心,呼和浩特 010051

        2.內(nèi)蒙古自治區(qū)基于大數(shù)據(jù)的軟件服務(wù)工程技術(shù)研究中心,呼和浩特 010080

        近年來,隨著人工智能、互聯(lián)網(wǎng)、物聯(lián)網(wǎng)的快速發(fā)展,數(shù)據(jù)呈現(xiàn)爆炸式增長,為了保證數(shù)據(jù)的安全性,區(qū)塊鏈技術(shù)廣泛應(yīng)用于醫(yī)療、金融等各種領(lǐng)域。然而,當前區(qū)塊鏈有著低的吞吐量和可擴展性的限制,大大限制了區(qū)塊鏈的應(yīng)用。區(qū)塊鏈具有去中心化、安全、可擴展性三種特性,根據(jù)區(qū)塊鏈的三難困境[1],任何區(qū)塊鏈只能滿足三個特性中的兩個。所以,在提高區(qū)塊鏈吞吐量和可擴展性的同時需要保證區(qū)塊鏈的安全性。以上問題是當今社會的難題,是區(qū)塊鏈領(lǐng)域的挑戰(zhàn)。

        目前,對于提高區(qū)塊鏈吞吐量較為有效的方式是將分片技術(shù)應(yīng)用到區(qū)塊鏈中,并對區(qū)塊鏈體系結(jié)構(gòu)進行重新設(shè)計。因此,近年來學術(shù)界不斷探索在改進的體系結(jié)構(gòu)中利用分片技術(shù)的優(yōu)化控制方法提高區(qū)塊鏈吞吐量。目前對于提高區(qū)塊鏈吞吐量的主要方法分為靜態(tài)優(yōu)化方法與動態(tài)優(yōu)化方法。靜態(tài)優(yōu)化方法是指區(qū)塊鏈采用分片技術(shù)時,使用的分片策略一直固定不變。采用靜態(tài)優(yōu)化方法的研究有文獻[2-5]。以上研究對于區(qū)塊鏈的分片選擇均是靜態(tài)策略,這不符合動態(tài)的區(qū)塊鏈環(huán)境。因此,有研究提出動態(tài)優(yōu)化方法,將分片技術(shù)與深度強化學習(deep reinforcement learning,DRL)[6]結(jié)合。根據(jù)動態(tài)的區(qū)塊鏈系統(tǒng)環(huán)境采用動態(tài)的分片策略。將分片技術(shù)與深度強化學習結(jié)合的研究有文獻[7-8]。

        以上利用深度強化學習進行動態(tài)優(yōu)化方法研究,大多數(shù)采用deepQnetwork(DQN)[9]算法,解決了靜態(tài)的區(qū)塊鏈分片策略的缺點。但是當行為維度擴大后,行為組合將會引起行為空間爆炸,采用基本強化學習DQN算法,神經(jīng)網(wǎng)絡(luò)難以訓練,將會影響區(qū)塊鏈的性能。為解決上述問題,本文提出了一種結(jié)合深度強化學習的區(qū)塊鏈分片策略優(yōu)化的方法解決動態(tài)區(qū)塊鏈分片處理數(shù)據(jù)的問題。本文的主要貢獻為提出了深度強化學習branching duelingQ-network(BDQ)[10]算法與區(qū)塊鏈分片技術(shù)結(jié)合的方法,解決了區(qū)塊鏈吞吐量低的問題,并且對行為空間進行擴大,實現(xiàn)了區(qū)塊鏈分片系統(tǒng)的細粒度控制。本文將區(qū)塊鏈分片問題建立為馬爾科夫決策過程,提出了branching duelingQ-network shard-based blockchain(BDQSB)算法,解決了傳統(tǒng)動態(tài)優(yōu)化行為空間爆炸的問題。研究構(gòu)建了區(qū)塊鏈分片仿真系統(tǒng),相比于使用DQN 算法,仿真結(jié)果表明,本文提出的BDQSB算法將區(qū)塊鏈吞吐量提高了25%。

        1 研究現(xiàn)狀

        分片技術(shù)可以有效的提高區(qū)塊鏈吞吐量。分片技術(shù)可以分為靜態(tài)分片與動態(tài)分片兩類。典型的靜態(tài)分片技術(shù)如Elastico、OmniLedger。Luu等人[2]提出了Elastico,是最早面向公有鏈的分片技術(shù)。Elastico 將PoW(proof of work)[11]協(xié)議與PBFT(practical byzantine fault tolerance)[12]協(xié)議相結(jié)合,節(jié)點首先通過PoW建立身份證明,然后節(jié)點被隨機分到各個委員會中,由于每個委員會中的節(jié)點數(shù)量足夠小,所以委員會每步可以完全運行片PBFT 協(xié)議。各個委員會中的節(jié)點并行處理事務(wù),所以Elastico幾乎實現(xiàn)了對吞吐量的線性擴展。OmniLedger[3]的整體架構(gòu)是由一條身份鏈以及多條子鏈構(gòu)成的。OmniLedger使用RandHound[13]協(xié)議,將所有節(jié)點分成不同的組,并隨機將這些組分配到不同的分片子鏈。每個分片內(nèi)共識采用PBFT協(xié)議。過移除塊的全序要求,將塊組織成有向無環(huán)圖(directed acyclic graph,DAG)結(jié)構(gòu),增加了系統(tǒng)的吞吐量、降低了交易確認延遲。此外,OmniLedger 使用原子提交協(xié)議來處理跨分片交易,并使用賬本剪輯技術(shù),引入檢查點,將檢查點之前的歷史數(shù)據(jù)進行裁剪,降低節(jié)點的存儲壓力。OmniLedger 實現(xiàn)了區(qū)塊鏈吞吐量隨著分片的數(shù)量線性增加。

        在Elastico、OmniLedger 基礎(chǔ)上對區(qū)塊鏈系統(tǒng)架構(gòu)進行改進并采用分片技術(shù)的研究成果,如Zillqa、Rapid-Chain。Zillqa[4]團隊在Elastico 的基礎(chǔ)上進行了架構(gòu)和性能優(yōu)化。在設(shè)計架構(gòu)上,提出雙鏈架構(gòu),另一條是交易鏈,一條是目錄服務(wù)鏈。交易鏈上保存交易數(shù)據(jù),目錄服務(wù)鏈存放礦工元數(shù)據(jù)信息。在性能優(yōu)化上,共識階段Zillqa 借鑒了CoSi[14]多重簽名技術(shù),并用數(shù)字簽名代替MAC,極大提升了PBFT 的擴展性,使得PBFT 可以適用于幾百個節(jié)點,通過在PBFT中使用數(shù)字簽名來提高效率。RapidChain[5]在OmniLedger 的基礎(chǔ)上,加入了基于糾刪碼的信息分發(fā)技術(shù)來加快區(qū)塊的傳播速度,實現(xiàn)了覆蓋通信、計算與存儲的全分片技術(shù),為了降低狀態(tài)代價,RapidChain采用了Cuckoo協(xié)議,每次分片切換只需替換部分節(jié)點。Rapidchain 系統(tǒng)中主要包含三個重要階段,分別是bootstrapping phase(引導啟動階段)、consensus phase(共識階段)和reconfiguration phase(重構(gòu)階段)。Bootstrapping 階段只會在在Rapidchain 系統(tǒng)開始時運行一次,這個階段是為了創(chuàng)建一個初始隨機源,并隨機選出一個特殊的委員會,叫作參考委員會(reference committee),再由這個參考委員會的成員對節(jié)點進行隨機分配,構(gòu)成一個個分片委員會。

        近年來,出現(xiàn)了一些優(yōu)化區(qū)塊鏈吞吐量的動態(tài)分片技術(shù)。動態(tài)分片技術(shù)解決了靜態(tài)分片技術(shù)一直使用固定分片策略的問題。動態(tài)分片技術(shù)可以為動態(tài)的區(qū)塊鏈環(huán)境提供動態(tài)的分片策略,使區(qū)塊鏈吞吐量得到提升。DRL是一種典型的動態(tài)優(yōu)化方法,可以為復雜的區(qū)塊鏈系統(tǒng)決策問題提供行為策略。Yun等人[7]提出了一個基于分片的可擴展區(qū)塊鏈系統(tǒng),在保持高安全級別的同時優(yōu)化吞吐量,將分片技術(shù)與深度強化學習算法相結(jié)合,將區(qū)塊鏈分片選擇過程抽象為馬爾科夫決策過程(Markov decision process,MDP)[15],提出了基于分片的深度Q網(wǎng)絡(luò)區(qū)塊鏈所使用的分片協(xié)議(deepQnetwork shard-based blockchain,DQNSB)模型。分片技術(shù)不斷將挖掘任務(wù)委托給其他節(jié)點。通過調(diào)整分片數(shù)量,可以主動改變安全級別。采用深度強化學習的方法來優(yōu)化區(qū)塊鏈的性能,以滿足大規(guī)模和動態(tài)的物聯(lián)網(wǎng)操作。特別是,在DRL框架的基礎(chǔ)上,將信任的概念融入到共識過程中,通過監(jiān)控每個epoch的共識結(jié)果來估計網(wǎng)絡(luò)的惡意概率?;诰W(wǎng)絡(luò)信任,計算安全分片的數(shù)量,并采用自適應(yīng)控制保持最優(yōu)吞吐量條件。Zhang等人[8]提出了一種區(qū)塊鏈與強化學習結(jié)合的天空鏈。一種新型的基于動態(tài)分片的區(qū)塊鏈框架,在不影響動態(tài)環(huán)境下的可擴展性的前提下,實現(xiàn)了性能和安全性的良好平衡。首先,提出了一種自適應(yīng)分類賬協(xié)議,以保證基于動態(tài)分片策略的分類賬能夠有效的合并或分割。然后,為了優(yōu)化高維系統(tǒng)狀態(tài)的動態(tài)環(huán)境下的分片策略,提出了一種基于深度強化學習的分片方法。構(gòu)建了一個從性能和安全性方面評估區(qū)塊鏈分片系統(tǒng)的框架,通過調(diào)整分片間隔、分片數(shù)和塊大小,使系統(tǒng)的性能和安全達到長期的平衡。深度強化學習可以從以往的經(jīng)驗中學習區(qū)塊鏈分片系統(tǒng)的特點,并根據(jù)當前的網(wǎng)絡(luò)狀態(tài)采取合適的分片策略,獲得長期的回報。

        以上基于DRL 的動態(tài)分片技術(shù),普遍采用基本的深度強化學習算法DQN,采用DQN算法解決了狀態(tài)空間爆炸問題。但是,當行為維度增大導致行為空間爆炸時,使用DQN算法會使神經(jīng)網(wǎng)絡(luò)無法訓練。

        2 問題描述

        在區(qū)塊鏈網(wǎng)絡(luò)中,網(wǎng)絡(luò)中的客戶端將事務(wù)請求發(fā)送給區(qū)塊鏈網(wǎng)絡(luò)中的所有節(jié)點,區(qū)塊鏈網(wǎng)絡(luò)中的節(jié)點進行分片來對事務(wù)進行并行的處理。首先,根據(jù)區(qū)塊鏈中節(jié)點解決一個工作量難題(PoW)的速度快慢,在區(qū)塊鏈網(wǎng)絡(luò)節(jié)點中選擇出解決PoW快的一定數(shù)量的節(jié)點組成目錄委員會,目錄委員會中的節(jié)點是對最后所有片內(nèi)產(chǎn)生的區(qū)塊進行最終的打包處理。選擇完目錄委員會中的節(jié)點后,區(qū)塊鏈中其余節(jié)點進行分片,根據(jù)節(jié)點的ID將區(qū)塊鏈中的節(jié)點分成K片,對事務(wù)進行并行處理,片內(nèi)節(jié)點將事務(wù)打包成區(qū)塊,驗證完成后,發(fā)送給目錄委員會,目錄委員會進行最終打包,打包成最終塊,驗證通過后上傳到區(qū)塊鏈上,同時將打包的最終塊信息返回給所有片內(nèi)節(jié)點,片內(nèi)節(jié)點進行信息更新。

        區(qū)塊鏈網(wǎng)絡(luò)中的節(jié)點進行分片時,靜態(tài)的分片策略不能有效的處理動態(tài)的區(qū)塊鏈環(huán)境。針對當前的問題,可以通過將深度強化學習算法加入到區(qū)塊鏈系統(tǒng)中,將區(qū)塊鏈中分片問題建立成馬爾科夫決策過程,為區(qū)塊鏈系統(tǒng)每次進行分片提供合適的分片策略,達到處理事務(wù)的最大吞吐量。

        3 區(qū)塊鏈分片問題的馬爾科夫決策過程

        區(qū)塊鏈網(wǎng)絡(luò)中節(jié)點分片的選擇是序貫決策過程,本文將分片的選擇問題建模成馬爾科夫決策過程。其中包括狀態(tài)空間、行為空間和獎勵函數(shù)。

        行為空間:通過對區(qū)塊大小、出塊時間和區(qū)塊鏈分片數(shù)量的選擇來實現(xiàn)對區(qū)塊鏈網(wǎng)絡(luò)中節(jié)點進行分片,并行處理事務(wù)。本文將區(qū)塊大小、出塊時間和區(qū)塊鏈分片數(shù)量定義為離散的行為空間,在t時刻區(qū)塊鏈網(wǎng)絡(luò)中的區(qū)塊大小為B、出塊時間為TI、區(qū)塊鏈分片數(shù)量為K,行為空間定義為A={B,TI,K}。

        獎勵函數(shù):獎勵表示在當前狀態(tài)下采取行為所獲得的收益。本文的優(yōu)化目標是提高區(qū)塊鏈每秒處理事務(wù)的數(shù)量。因此定義獎勵函數(shù)為:

        其中,α表示學習率,為常數(shù)。Q-learning 方法將所有狀態(tài)和其對應(yīng)行為存儲在Q表中。當狀態(tài)空間和行為空間維數(shù)很大的時候,此方法對于處理高維度問題難以實現(xiàn),主要原因是計算機內(nèi)存無法存儲Q表,而且每次在Q表中搜索十分消耗時間。

        4 基于深度強化學習的區(qū)塊鏈分片算法

        4.1 算法設(shè)計

        基于深度強化學習算法的區(qū)塊鏈分片選擇邏輯如圖1 所示。強化學習智能體通過神經(jīng)網(wǎng)絡(luò)輸出對應(yīng)行為的Q值來選擇相應(yīng)的區(qū)塊鏈分片行為at;將分片行為執(zhí)行到區(qū)塊鏈系統(tǒng)環(huán)境中,環(huán)境產(chǎn)生下一個狀態(tài)st+1,獲得產(chǎn)生的獎勵R。將智能體與區(qū)塊鏈系統(tǒng)環(huán)境交互產(chǎn)生的經(jīng)驗(st,at,st+1,Rt+1)存儲到經(jīng)驗池D中,對神經(jīng)網(wǎng)絡(luò)進行訓練。

        圖1 算法的邏輯結(jié)構(gòu)Fig.1 Logical structure of algorithm

        本文將深度強化學習branching duelingQ-network(BDQ)算法運用到區(qū)塊鏈分片系統(tǒng),提出了基于分片的分支決斗Q網(wǎng)絡(luò)(BDQSB)算法。BDQSB 算法相較于DQN算法的優(yōu)勢是解決了行為空間爆炸以及行為空間爆炸導致神經(jīng)網(wǎng)絡(luò)難以訓練的問題。本文提出的BDQSB算法在每一個決策時刻t將系統(tǒng)的狀態(tài)st=(R,C,H,P)作為輸入,輸出行為at=(B,TI,K)。

        求解問題公式(1)使用深度強化學習算法的步驟如下。

        算法1的第1步為初始化經(jīng)驗回放池D,用于存放agent 與區(qū)塊鏈環(huán)境進行交互產(chǎn)生的經(jīng)驗樣本,用來訓練神經(jīng)網(wǎng)絡(luò)。算法的第2 步初始化兩個結(jié)構(gòu)相同的神經(jīng)網(wǎng)絡(luò)以及兩個網(wǎng)絡(luò)的權(quán)重參數(shù),將當前區(qū)塊鏈系統(tǒng)環(huán)境的狀態(tài)輸入到神經(jīng)網(wǎng)絡(luò)中可以得到預測的區(qū)塊鏈分片行為。算法的第4~7步中第4步是得到當前時刻區(qū)塊鏈系統(tǒng)環(huán)境的狀態(tài)st=(R,C,H,P),用于輸入到神經(jīng)網(wǎng)絡(luò)中得到分片行為。第5步神經(jīng)網(wǎng)絡(luò)輸出3個子行為的優(yōu)勢函數(shù)和狀態(tài)值函數(shù),將子行為的優(yōu)勢函數(shù)與狀態(tài)值函數(shù)相加得到行為分支的Q值。

        在權(quán)衡開發(fā)與探索二者之間,根據(jù)ε-greedy 策略(ε-greedy 策略是一種常用的策略。其表示在智能體做決策時,有一很小的正數(shù)ε(<1)的概率隨機選擇未知的一個動作,剩下1-ε的概率選擇已有的動作中動作價值最大的動作),選擇每個行為分支中對應(yīng)Q值最大的子行為組成最終環(huán)境所執(zhí)行的分片行為at=(B,TI,K)。根據(jù)概率ε在行為空間中隨機產(chǎn)生行為。在算法進行探索行為初始階段ε的值較大。隨著算法的不斷迭代,ε逐漸遞減,算法傾向于選擇神經(jīng)網(wǎng)絡(luò)生成的行為。第6 步將得到的行為at=(B,TI,K)輸入到區(qū)塊鏈系統(tǒng)環(huán)境中,根據(jù)第三個子行為K,區(qū)塊鏈節(jié)點進行分片,根據(jù)第一個子行為B和第二個子行為TI,節(jié)點并行處理事務(wù),產(chǎn)生區(qū)塊。目錄委員會將最終塊上傳帶區(qū)塊鏈中,區(qū)塊鏈系統(tǒng)環(huán)境進行狀態(tài)轉(zhuǎn)化,得到下一個狀態(tài)st+1=(R,C,H,P)。第7 步環(huán)境執(zhí)行行為前的狀態(tài)轉(zhuǎn)變成執(zhí)行行為后的狀態(tài),得到環(huán)境的下一個狀態(tài)和環(huán)境對于執(zhí)行行為的獎勵r,即處理事務(wù)的吞吐量。第8步將agent與區(qū)塊鏈系統(tǒng)環(huán)境進行交互產(chǎn)生的樣本存儲到經(jīng)驗池中,用于對神經(jīng)網(wǎng)絡(luò)的更新。

        在時間復雜性方面,BDQSB 算法在選擇神經(jīng)網(wǎng)絡(luò)輸出的行為時(算法第9 行)只需要對Q網(wǎng)絡(luò)進行前向傳播,其復雜度為O(1)。在訓練Q網(wǎng)絡(luò)時,時間復雜度與梯度下降的次數(shù)相關(guān)。在神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的復雜度方面,神經(jīng)網(wǎng)絡(luò)輸出層共有 |B|+|TI|+|K|個輸出。在5.3節(jié)中,將進一步從實驗角度比較不同方法的時間成本。

        4.2 Q 函數(shù)近似

        DQN 方法解決了狀態(tài)空間爆炸的問題,但是當行為空間爆炸時,DQN方法存在神經(jīng)網(wǎng)絡(luò)輸出復雜、難以訓練的缺點,因此文獻[4]對DQN 進行改進,提出了branching duelingQ-network(BDQ)。如圖2為BDQ的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。相較于傳統(tǒng)的DQN 算法,BDQ 算法提出了一種新的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),行為空間有幾個子行為就對應(yīng)幾個網(wǎng)絡(luò)分支,并且具有一個共享的決策模塊。BDQ算法為每個單獨的動作維度提供一定程度的獨立性,可擴展性較好。BDQ算法將區(qū)塊鏈狀態(tài)st=(R,C,H,P)輸入到神經(jīng)網(wǎng)絡(luò)中,狀態(tài)經(jīng)過共享模塊(即神經(jīng)網(wǎng)絡(luò)的隱藏層)進行抽象,輸出分為兩個分支,分別為狀態(tài)分支和行為分支。行為分支輸出每個子行為的優(yōu)勢函數(shù)A1(st,a1),A2(st,a2),A3(st,a3),狀態(tài)分支輸出狀態(tài)值函數(shù)V(st),將子行為的優(yōu)勢函數(shù)與狀態(tài)值函數(shù)合并得到子行為的Q函數(shù),區(qū)塊鏈分片系統(tǒng)決策時,根據(jù)輸出的每個子行為Q值來選擇相應(yīng)的行為。

        圖2 BDQ的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)Fig.2 Neural network structure of BDQ

        將BDQ 算法引入4.1 節(jié)算法1 中,其中第9 步的更新過程是在經(jīng)驗池中隨機抽取minibatch 大小的經(jīng)驗,使用梯度下降的方式更新神經(jīng)網(wǎng)絡(luò)參數(shù)。BDQ對lossfunction的更新公式為:

        BDQ算法中有兩個結(jié)構(gòu)相同的神經(jīng)網(wǎng)絡(luò),其中online network 網(wǎng)絡(luò)實時更新,targetnetwork 每隔C步更新一次,將online network參數(shù)值賦給targetnetwork。

        5 仿真實驗

        5.1 仿真系統(tǒng)

        本文所構(gòu)建的區(qū)塊鏈仿真系統(tǒng)中包括200 個區(qū)塊鏈的節(jié)點。

        圖3 區(qū)塊鏈分片仿真系統(tǒng)結(jié)構(gòu)Fig.3 Simulation system structure of blockchain sharding

        5.2 實驗參數(shù)

        算法中的神經(jīng)網(wǎng)絡(luò)設(shè)計為四層全連接網(wǎng)絡(luò),其中3個隱藏層神經(jīng)元個數(shù)分別為256、128、64。激活層函數(shù)使用的是ReLU。優(yōu)化器使用RMSprop,學習率為0.05。在實驗中,將前1 000步設(shè)置成算法的探索步數(shù),1 000步以后,探索率ε以每步0.01的方式增加,一直增加到0.9。

        其他參數(shù)應(yīng)用自文獻[13]的實驗,實驗參數(shù)如表1所示。

        表1 算法的主要參數(shù)Table 1 Main parameters of algorithm

        5.3 算法性能評價

        如圖4對比9組策略的平均獎勵,9組策略分為6類。

        圖4 平均獎勵Fig.4 Average reward

        (1)動態(tài)DQNSB 策略,包括DQNSB_8*16*8 和DQNSB_15*31*16。DQNSB_8*16*8策略中3個子行為B、TI、K的可選范圍分別為[1,8]、[1,16]、[1,8]中的整數(shù)離散值,3個子行為的取值間隔都為1,行為空間大小為1 024。DQNSB_15*31*16是擴大行為空間后的策略,3個子行為B、TI、K的可選范圍分別為[1,8]、[1,16]、[1,16],子行為B,TI的取值間隔為0.5,子行為K的取值間隔為1,行為空間大小為7 440。

        (2)半動態(tài)DQNSB 策略,分別為DQNSB_8*16*8,B=4、DQNSB_8*16*8,TI=4 和DQNSB_8*16*8,K=4,是將動態(tài)策略DQNSB_8*16*8 的3 個子行為的值分別固定。

        (3)本文提出的動態(tài)策略BDQSB_15*31*16。BDQSB_15*31*16策略空間大小、行為的取值范圍和取值間隔與DQNSB_15*31*16策略相同。

        (5)Random network sharding strategy[17]是完全隨機選取行為的策略。

        (6)DRLB[18]策略,是一個基于DRL(深度強化學習)的算法,動態(tài)選擇區(qū)塊鏈中區(qū)塊生產(chǎn)者、共識算法、區(qū)塊大小和出塊時間來提高區(qū)塊鏈系統(tǒng)的性能。

        從圖4 可以看出,使用半動態(tài)策略進行的3 個實驗所得到的平均獎勵曲線明顯低于相同行為空間使用動態(tài)策略DQNSB_8*16*8 得到的平均獎勵曲線。說明使用深度強化學習算法對區(qū)塊鏈節(jié)點進行分片,可以對吞吐量進行一定的提升。圖4 中DQNSB_15*31*16 曲線與DQNSB_8*16*8 曲線比較顯示將行為空間擴大約7倍后,采用DQNSB算法得到的平均獎勵曲線,比沒有擴大行為空間前的獎勵大約提升了2 倍。說明細分行為后擴大行為空間能夠提升區(qū)塊鏈處理事務(wù)的吞吐量。從圖4 中DQNSB_8*16*8 曲線、DQNSB_15*31*16 曲線和BDQSB_15*31*16 曲線可以看出,使用BDQSB 算法得到的平均獎勵比行為空間為1 024 的DQNSB 算法提升了大約2.5 倍,比擴大后行為空間為7 440 的DQNSB算法提高了約1.25 倍,說明BDQSB 算法能使神經(jīng)網(wǎng)絡(luò)得到更好的訓練,區(qū)塊鏈系統(tǒng)能夠得到更好的行為。其余3 組 實 驗greedy modularity-based stratgy、random network sharding strategy 和DRLB 策略,仿真結(jié)果表明,與以上3組實驗相比,使用BDQSB算法將區(qū)塊鏈吞吐量分別提升了大約1.6 倍、24 倍和1.7 倍。說明本文提出的BDQSB 對于區(qū)塊鏈分片吞吐量提升是更好的策略。

        本文比較了BDQSB算法與DQNSB算法[13],DQNSB算法解決了狀態(tài)空間爆炸的問題,算法中利用神經(jīng)網(wǎng)絡(luò)對Q函數(shù)進行近似。若行為每個維度可選離散值較少,則可縮小Q網(wǎng)絡(luò)的輸出數(shù)量,但是可能會導致算法的性能不佳,反之亦然。

        表2 中有3 組行為策略,其中DQNSB_8*16*8 策略和DQNSB_15*31*16 策略采用的都是DQN 算法,其區(qū)別是第二個策略比第一個策略在行為空間上對行為粒度劃分的更細。使用DQNSB_8*16*8策略時,神經(jīng)網(wǎng)絡(luò)輸出數(shù)量為|B|×|TI|×|K|=1 024。與第一個策略相比,第二個策略對子行為B,TI的取值劃分更加細?;?。子行為K的取值范圍相較于第一個策略擴大了1 倍。行為空間擴大后,使用DQNSB_15*31*16 策略時,神經(jīng)網(wǎng)絡(luò)輸出數(shù)量為 |B|×|TI|×|K|=7 440。BDQSB_15*31*16 策略行為空間劃分與DQNSB_15*31*16 策略相同。因為BDQSB_15*31*16 策略使用的是BDQ 算法,神經(jīng)網(wǎng)絡(luò)輸出的數(shù)量為 |B|+|TI|+|K|=62。

        表2 不同算法采用的行為空間Table 2 Behavior spaces used by different algorithms

        圖5~7 顯示在數(shù)量為7 440 的行為空間中,使用DQNSB 算法和BDQSB 算法訓練20 000 步后,3 個子行為在不同算法中的平均值。從圖5 子行為B的平均值可以看出,BDQSB 算法在算法運行期間子行為B的平均值比DQNSB 算法行為B的平均值大約高8%,子行為B表示區(qū)塊的大小,說明使用BDQSB算法處理的事務(wù)更多。從圖6 子行為TI的平均值可以看出,BDQSB算法的子行為TI比DQNSB 算法所獲得的子行為TI少7%,子行為TI為區(qū)塊產(chǎn)生時間,說明使用BDQSB算法處理數(shù)據(jù)所用時間更短,處理數(shù)據(jù)更快。從圖7子行為K的平均值可以看出,BDQSB算法行為中的K也高于DQNSB 中的行為K值,說明使用BDQSB 算法區(qū)塊鏈網(wǎng)絡(luò)分片更多,處理事務(wù)更多。綜上所述,BDQSB算法比DQNSB 算法能使區(qū)塊鏈的吞吐量得到更大的提升。

        圖5 子行為B的平均值Fig.5 Average value of sub-beha vior B

        圖6 子行為TI的平均值Fig.6 Average value of sub-behavior TI

        圖7 子行為K的平均值Fig.7 Average value of sub-behavior K

        表3 是不同算法的神經(jīng)網(wǎng)絡(luò)訓練的時間成本。從表3 可以看出,random network sharding strategy 是完全隨機選取行為的策略,不需要訓練神經(jīng)網(wǎng)絡(luò),因此沒有訓練神經(jīng)網(wǎng)絡(luò)的時間成本。greedy modularity-based stratgy是只關(guān)注當前獎勵不考慮未來的策略,該策略時間成本比使用BDQSB_15*31*16策略的時間成本短,但是提高區(qū)塊鏈性能的效果不如BDQSB_15*31*16 策略好。雖然在行為空間較小時使用半動態(tài)策略DQNSB_8*16*8,B=4、DQNSB_8*16*8,K=4、DQNSB_8*16*8,TI=4 和動態(tài)策略DQNSB_8*16*8 的時間成本比使用BDQSB_15*31*16策略的時間成本短,但是與BDQSB_15*31*16 策略相比沒有更好地提高區(qū)塊鏈的性能。在使用DQNSB_15*31*16 策略和DRLB 策略時的時間成本比使用BDQSB_15*31*16策略的時間成本多,而且在提高區(qū)塊鏈性能方面也不如BDQSB_15*31*16 策略。在BDQSB 與所有策略相比后,說明BDQSB 策略不僅能使神經(jīng)網(wǎng)絡(luò)訓練的時間成本減少,同時還提高了區(qū)塊鏈的性能。

        表3 不同策略的時間成本Table 3 Time cost of different strategies

        6 結(jié)束語

        本文研究了區(qū)塊鏈通過進行分片并行處理事務(wù)來提高區(qū)塊鏈吞吐量的問題,將區(qū)塊鏈分片問題抽象為馬爾科夫過程決策過程,并設(shè)計了一種基于BDQSB 的區(qū)塊鏈分片選擇算法。通過實驗將BDQSB 算法與DQNSB 算法在不同的行為空間上進行了對比,結(jié)果表明基于BDQSB算法的區(qū)塊鏈處理事務(wù)的性能明顯優(yōu)于使用DQNSB 算法。實驗結(jié)果顯示,使用BDQSB 算法區(qū)塊鏈能夠處理更多事務(wù)的同時提高處理事務(wù)的速度。本文研究的內(nèi)容為區(qū)塊鏈提升吞吐量性能提供了參考,提出的方法對將區(qū)塊鏈應(yīng)用到更多的領(lǐng)域,具有重要的實際意義。

        猜你喜歡
        分片吞吐量區(qū)塊
        上下分片與詞的時空佈局
        詞學(2022年1期)2022-10-27 08:06:12
        區(qū)塊鏈:一個改變未來的幽靈
        科學(2020年5期)2020-11-26 08:19:12
        分片光滑邊值問題的再生核方法
        CDN存量MP4視頻播放優(yōu)化方法
        區(qū)塊鏈:主要角色和衍生應(yīng)用
        科學(2020年6期)2020-02-06 08:59:56
        基于模糊二分查找的幀分片算法設(shè)計與實現(xiàn)
        區(qū)塊鏈+媒體業(yè)的N種可能
        傳媒評論(2018年4期)2018-06-27 08:20:12
        讀懂區(qū)塊鏈
        2016年10月長三角地區(qū)主要港口吞吐量
        集裝箱化(2016年11期)2017-03-29 16:15:48
        2016年11月長三角地區(qū)主要港口吞吐量
        集裝箱化(2016年12期)2017-03-20 08:32:27
        337p日本欧洲亚洲大胆色噜噜| 无码精品人妻一区二区三区98| 精品少妇一区二区三区四区| 精品人妻av区乱码色片| 蜜桃久久精品成人无码av| 有码精品一二区在线| 日本一区二区在线播放观看| 国产精品综合一区久久| 日本真人做人试看60分钟| 久久AV老司机精品网站导航| 日韩精品人妻中文字幕有码| 中文字幕一区在线直播| 日本亚洲欧美色视频在线播放| 熟女性饥渴一区二区三区| 亚洲av有码精品天堂| 森中文字幕一区二区三区免费| 人妻少妇精品视频无码专区| 91精品啪在线观看国产18| 麻豆国产成人av高清在线| 久久亚洲精品国产亚洲老地址| 韩国19禁无遮挡啪啪无码网站| 免费无码又爽又刺激又高潮的视频| 久久婷婷综合色一区二区| 中国无码人妻丰满熟妇啪啪软件| 欧美午夜精品久久久久久浪潮| 午夜人妻中文字幕福利| 中文字幕乱码在线人妻| 欧美黑人性暴力猛交喷水黑人巨大| 婷婷亚洲国产成人精品性色 | 蜜臀aⅴ国产精品久久久国产老师| 亚洲精品国产不卡在线观看| 美腿丝袜在线观看视频| 亚洲熟妇无码一区二区三区导航| 欧美深夜福利网站在线观看| 国产一区二区三区再现| 乱子轮熟睡1区| 少妇极品熟妇人妻无码| 国产一区二区三区白浆在线观看| 午夜福利一区在线观看中文字幕| 日韩精品一区二区三区免费视频| 日本岛国精品中文字幕|