999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

主節點隨機選取的改進PBFT共識算法

2022-11-07 10:49:32李志淮賈志鵬
計算機應用與軟件 2022年10期
關鍵詞:系統

王 森 李志淮 賈志鵬

(大連海事大學信息科學技術學院 遼寧 大連 116002)

0 引 言

2008年中本聰(Satoshi Nakamoto)發表了比特幣的基礎論文[1],闡述了基于P2P網絡技術[2]、加密技術、時間戳技術、共識算法等的電子現金系統的構架理念,這標志著比特幣的誕生。同時也是區塊鏈這個詞的首次提出,它本質上是一個分布式系統[3],該系統具有去中心化、分布式和數據不可篡改等特點,可以解決現有的中心化信用機構的效率低、成本高和數據所有權被壟斷的問題。區塊鏈技術被認為是移動互聯網之后新的信息技術發展方向[4],將促進信用社會的建立,促使目前的信息互聯網向價值互聯網轉變。隨著區塊鏈技術的發展,共識算法方面的研究也越來越多,共識算法用于在分布式系統中實現可用性和一致性,是區塊鏈的關鍵技術[5]。

共識算法的研究在區塊鏈技術提出之前就開始了,Pease和Lamport在1980年提出的拜占庭容錯(BFT)算法[6-7],分析了如何在有惡意節點或者網絡堵塞問題的點對點網絡中,實現數據完整性和一致性。

PBFT(Practical Byzantine Fault Tolerance)共識算法[8-9]是Castro等基于BFT算法改進的,用于解決當前聯盟區塊鏈環境中分布式系統的共識問題,PBFT算法不僅繼承了BFT算法可以容忍拜占庭節點的優點,并且把BFT算法中通信復雜度從O(n3)降低到了O(n2)。但是PBFT共識算法在某些方面還存在著不足。首先,PBFT算法中主節點的選取方式是按照編號輪流擔當主節點,這種主節點的選取方式容易受到P2P網絡中的DDoS攻擊和女巫攻擊,具有安全隱患,雖然在當拜占庭節點沒有達到總節點數目的2/3時會被其他從節點識破,并通過視圖切換更換主節點,但是頻繁的視圖切換會增加系統開銷,影響系統的性能;其次,在PBFT共識算法的三階段廣播過程,需要進行兩次通信開銷極大的全網轉發,嚴重影響PBFT算法共識過程中的性能;最后,PBFT共識算法節點不能隨意加入、退出,影響系統可用性。

本文針對現有PBFT算法中主節點選取方式隨意、三階段協議通信復雜度較高、節點不能動態加入、退出等問題,提出了一種主節點隨機選取的改進拜占庭容錯算法(RPBFT)。該算法提出了一種隨機數生成方案,生成一個隨機數來進行主節點的選取,并且引入聚合簽名算法[10-11]對PBFT中的三階段協議進行改進,成功地把通信復雜度從多項式級別降低到了線性級別,減少網絡壓力和延遲,提高系統吞吐量,同時節點可以動態加入與退出系統,增強系統的可用性。

1 相關研究與技術分析

1.1 聚合簽名

聚合簽名(Aggregate Signature)[10-11]的概念是在2003年由Boneh提出的,聚合簽名就是一種用來將多個簽名聚合成一個簽名的方案,假設系統中有n個用戶ui(1≤i≤n)分別對n個不同的消息進行簽名,生成n個不同的簽名,這n個簽名可以被聚合者聚合成一個簽名,而驗證者只需要對生成的聚合簽名進行檢驗就可以確認上述n個簽名的正確性。聚合簽名方案可以將n個簽名聚合成一個簽名,縮短了簽名的長度;同時,可以將n次的驗證過程簡化為一次驗證就可完成,降低了系統的帶寬,減少了驗證時間,提升了系統的計算效率。

1.2 PBFT算法思想與流程

1.2.1PBFT算法思想

PBFT共識算法旨在解決當整個網絡中存在惡意節點時,仍然可以保證最終一致性和正確性的問題。算法中的大多數誠實節點都會忽略惡意節點發送的錯誤信息,能容忍失效節點和惡意節點的數量不超過(|R|-1)/3(|R|為節點個數),并且達成最終一致性。PBFT共識算法中,節點被分成客戶端節點和副本節點,副本節點又包括主節點和從節點。

副本節點組成的集合用R表示,系統中可以容忍的失效節點和惡意節點最多為f,另外還需要2f+1個誠實節點,所以系統的副本節點總數為|R|=3f+1,用0到|R|-1對節點進行編號。PBFT算法共識過程是在視圖中進行,所以主節點的選取是通過視圖編號和副本節點集合來確定的,主節點選取公式如下:

p=vmod |R|

(1)

式中:v是視圖編號;|R|為節點個數;p為選取的主節點編號。當主節點網絡延遲失效或者被從節點發現為拜占庭節點時,就會啟動視圖更換協議,并且根據式(1)選取新的主節點。

1.2.2PBFT算法流程

PBFT共識算法要求系統共同維護一個狀態,所有節點采取的行動一致。為此,需要運行一些基本協議,主要包括一致性協議和視圖更換協議。其中一致性協議包含5個階段:請求(request)、預準備(pre-prepare)、準備(prepare)、確認(commit)和響應(reply)。具體流程如圖1所示。

主節點在接收到客戶端節點發送的請求提案后,廣播該提案消息到全網的從節點,從節點接收到主節點的消息并執行,再通過prepare和commit階段,將執行結果發送給客戶端節點,客戶端節點等待至少f+1個相同的結果,表示該系統在這個請求上達成最終一致性。若沒有得到f+1個相同的結果,對提案進行舍棄,客戶端節點自行判斷是否需要重新提交。

1.2.3視圖更換協議

視圖更換協議可以在主節點失效的時候保證系統的活性,視圖更換協議一般由超時機制觸發,以防止客戶端或從節點一直等待請求的執行。從節點在接收到有效請求時,會啟動計時器并且會等待請求執行的結果,當請求被執行時就停止計時器。計時器超時,從節點向其他節點廣播視圖更換消息,根據式(1)選取下一視圖的主節點,當主節點接收到2f個有效的視圖更換確認的消息后,進入下一視圖。

1.3 PBFT算法問題分析

根據上一節對PBFT算法流程進行詳細的分析,可以看出現有PBFT算法具有以下幾點問題:

1) 由PBFT算法思想中的主節點選取公式可知,當發生視圖更換時,新的主節點編號為當前失效主節點的編號+1,這種主節點的選取策略存在一定的問題,拜占庭節點可以對在自己編號之前的副本節點進行拒絕服務攻擊,使在自己編號之前的副本節點失效,達到當選主節點的目的,具體示意圖如圖2所示。

其中黑色節點為拜占庭節點,白色節點為誠實節點,當主節點編號與拜占庭節點接近時,拜占庭節點就可以對主節點以及自身編號之前的節點進行拒絕服務攻擊,例如圖2的4號節點分別對編號為1、2、3號的節點進行攻擊,就可以造成連續的視圖更換,使4號節點當選主節點,達到作惡的目的。但是,由于拒絕服務攻擊是需要成本的,所以作惡節點不會在與主節點編號差距過大時發動攻擊。由于在攻擊過程中進行了多次的視圖更換,造成了大量的通信開銷,嚴重影響了系統的可用性。

2) 在PBFT算法的三階段廣播協議中,有兩次消息的全網轉發,嚴重占用系統帶寬,造成系統堵塞,當節點數目增多時,消息傳遞次數急劇增加,影響系統性能。

3) 系統中節點不能靈活地加入和退出,不適合開放的區塊鏈網絡,同時頻繁的加入、退出操作會嚴重影響系統的可用性。

1.4 相關研究

隨著區塊鏈技術的發展,拜占庭容錯算法的研究越來越多,特別是由于PBFT算法在點對點網絡中的安全性和高效性,使得針對PBFT共識算法的研究越來越多。

在文獻[12-13]中提出的Paxos算法和Raft算法是PBFT算法針對沒有拜占庭節點存在的分布式環境中的改進,但是這種改進方案主要用于數據庫或者日志的存儲系統,并不能解決區塊鏈網絡中的拜占庭節點問題。在文獻[14]引入了一種淡化主節點模式的EPBFT共識算法,并且把PBFT中三階段流程刪去了COMMIT階段,使PBFT的通信開銷降低了一半,但是系統的復雜度還是O(n2),還可以進一步進行簡化。文獻[15]引入了一種基于信用投票選取主節點的方案IPBFT,但是在區塊鏈去中心化的模式下,引入信任機制是與區塊鏈去信任模式原則相違背的。文獻[16]提出了一種POS共識機制與PBFT共識機制結合的快速拜占庭容錯算法AlgoRand,該共識協議利用密碼抽簽技術對共識的驗證者和領導者進行隨機選取,同時還提出了BA*二階段共識協議來對完成系統的一致性,但是領導者的隨機選取過程需要等待POS和VRF過程,給系統帶來一定的延遲。文獻[18]提出了POW與PBFT結合的共識算法,可以提高共識節點的可信度,但是會加大系統的中心化程度,這與區塊鏈去中心化去信任的模式相違背。可以看出,雖然針對PBFT算法的研究有很多,但是每種算法都有各自的優勢和不足,PBFT共識算法在性能和可用性上面仍然還有改進空間。

2 RPBFT共識算法

2.1 算法思想

通過對PBFT共識算法的流程和一系列改進的PBFT算法進行分析,并結合聚合簽名和隨機數方案提出了一種改進的拜占庭容錯算法(RPBFT),方案主要有以下幾點改進:

1) 在視圖切換協議過程中提出主節點隨機選取方案,根據隨機數進行主節點的選取,在主節點當選之前,其他節點都無法預知主節點的身份,拜占庭節點只能對當前主節點發起攻擊,但無法預知自己是否能夠當選主節點,也就無法達到通過對誠實節點進行拒絕服務攻擊使自己當選主節點的目的。同時由于成本問題,作惡節點在不知道能否當選主節點的情況下不會發起攻擊,故可以增強系統安全性,減少視圖更換的頻率,提高系統可用性,降低系統延遲。

2) 增加節點同步過程,給新加入系統的節點設置一個待同步狀態,當節點同步到共識過程的最低水位時,就可以轉化為從節點,并進入共識過程,從而使系統中的節點可以動態加入、退出,增強系統可用性。

3) 對PBFT共識算法的三階段流程進行簡化,結合聚合簽名技術對其進行優化改進,去掉三段式流程中的兩次消息的全網廣播,改為消息聚合轉發,降低算法共識過程中的通信復雜度,增強系統的可擴展性。

2.2 算法設計

2.2.1RPBFT算法流程

RPBFT算法流程還是分為5個階段:請求(request)、預準備(pre-prepare)、準備(prepare)、確認(commit)和響應(reply)。具體流程如圖3所示。

1) 請求階段。客戶端c向主節點p發送請求。o表示請求的具體操作,t表示請求時客戶端追加的時間戳,c表示客戶端標識。REQUEST:包含消息內容m,以及消息摘要d(m),最后客戶端對請求進行簽名。

2) 預準備階段。主節點檢驗客戶端請求簽名是否正確,簽名非法就丟棄,簽名正確就分配一個編號vi,編號vi主要用于對客戶端的請求進行排序。然后廣播一條<,σp,m>消息給其他副本節點。其中,v是視圖編號,m是消息內容,σp是主節點對要廣播的消息進行的簽名。

3) 準備階段。從節點i檢驗來自主節點簽名后的消息,檢驗簽名和視圖序號是否正確,若檢驗通過,則進入準備階段。從節點i發送一條<,m,i>σi消息到主節點。其中i是從節點編號,σi是從節點i對PREPARE消息的簽名。記錄PRE-PREPARE和PREPARE消息到本地log日志中,用于在視圖切換時完成本輪共識中未完成的請求操作。系統中一共存在f個拜占庭節點,當主節點接收到2f個PREPARE消息時,就會對接收到的消息進行聚合,主節點會把所有接收到的從節點的簽名σi、PREPARE消息和從節點的公鑰PKi進行聚合,可以將所有簽名聚合成一個短簽名σ,然后將聚合后的消息σ發送給其他從節點進行驗證。

4) 確認階段。從節點接收到主節點發送的消息,并且驗證生成聚合簽名消息的節點個數是否大于2f+1個,若驗證通過,則進入COMMIT階段,并發送一條<,m,i>σi消息給主節點,σi是從節點對COMMIT消息的簽名。主節點收到2f個COMMIT消息后,會再次進行聚合并且發送聚合后的消息給從節點進行驗證,并且把COMMIT消息保存到本地的log日志。

5) 響應階段。從節點i對確認階段發送的聚合簽名進行檢驗,如果驗證聚合簽名正確,則執行客戶端發起的請求操作,并發送一個消息給客戶端節點,r為節點執行請求的結果。若客戶端接收到f+1個響應消息就達成了一致性。

2.2.2聚合簽名方案設計

上述流程中用到的聚合簽名過程主要分為6個部分,分別是系統建立、密鑰生成、從節點簽名生成、單個簽名驗證、聚合簽名生成、聚合簽名驗證等,具體流程如下:

1) 系統建立。定義群G1為大素數q階加法群,G2為q階循環乘法群,P為G1的生成元,e為G1×G1→G2的雙線性映射,選取兩個哈希函數:H1:{0,1}*→G1,H2:{0,1}2×G1×{0,1}*→Zm。結合當前視圖編號v計算:Pv=vP,公開系統參數params={G1,G2,e,P,Pv,H1,H2}。

2) 密鑰生成。節點i選擇隨機數xi作為用戶秘密值,并根據節點身份IDi,其中0

3) 節點簽名的生成。根據節點的身份IDi、私鑰Di、消息mi,隨機選取ri∈Zm,計算Ui=riP,hi=H2(mi,Ui,IDi),Vi=hiDi+riPv,輸出節點i對消息mi的簽名σi=(Vi,Ui),并將簽名發送給主節點聚合。

4) 單個簽名的驗證。對于簽名σi,主節點計算hi=H2(mi,Ui,IDi),若等式e(P,Vi)=e(Ui+hiDi,Pv)成立,則說明σi有效。

2.2.3視圖更換

視圖切換協議可以有效保證PBFT共識算法的活性,基于PBFT共識算法改進的RPBFT共識算法在原有協議的基礎上增加了隨機選取主節點的步驟。視圖切換的觸發條件主要有主節點超時失效、主節點作惡等幾種。視圖切換的流程如圖4所示。

(1) 系統滿足上述視圖切換的觸發條件之一。

(2) 發現主節點有上述的問題的從節點向其他節點廣播視圖切換消息,并對消息進行簽名,其中v是當前視圖編號,vi是當前視圖共識的序號,i是發現主節點問題的從節點編號,m是主節點存在的問題消息。

(3) 其他從節點接收到節點i發送的VIEW-CHANGE消息,首先檢查消息中的視圖編號v是否正確,其次檢查主節點是否存在問題,若編號v錯誤或者消息m錯誤,則忽略此消息;若檢驗通過,則發送一條消息到提案節點,其中v、vi、i、m等參數與VIEWCHANGE中意義相同,si為從節點i選擇的一個數字。

(4) 節點i對接收到的VIEWCHANGE-ADOPT消息進行聚合,將聚合后的消息VIEW-COMMIT,v,v+1,vi,i,m>θi發送給其他節點進行確認。其他從節點接收到消息后進行確認,確認通過后向全網廣播VIEW-COMMIT消息,當任意一個節點接收到2f個確認消息后,就會進行視圖更換并選取主節點K,主節點K的具體選取過程在下一節中進行介紹。

(5) 主節點選取完成之后,為了保證數據的準確性,需要進行數據校驗和確認,確保在新的視圖中繼續完成上個視圖中未完成的共識。如果上個視圖有提案到達了準備階段,并且記錄到日志中,新的主節點會發起數據同步,繼續完成未完成的一致性協議。

2.2.4隨機數K的選擇

不同視圖中的主節點都是由隨機數K進行選擇,若區塊所在視圖為初始視圖時,則K=0;若區塊不在初始視圖,隨機數K由視圖更換階段的隨機數種子和上一個區塊交易的哈希確定,確定方法如圖5所示。

假設視圖切換階段收到N個數si,其中0≤si≤|R|-1,0≤i≤N,上一個區塊哈希為BlockHash,則初始隨機數Random可以由式(1)和式(2)確定:

Hi=Hash(si)

(2)

(3)

然后對得到的隨機數Random通過SHA256計算得到的一個長度為256位的16進制字符,取隨機字符Random最后的8位,轉化為10進制然后;用式(3)得到隨機數K:

K=(TratoInt10(End8(Random))) mod (|R|-1)

(4)

式中的函數TratoInt10意義是16進制轉化為10進制,函數End8的含義是取字符串的最后8位,mod是進行取模運算,最后在從節點中選擇編號為K的節點當選為主節點。

2.2.5垃圾回收與節點動態調節

在RPBFT算法流程中,為了確保視圖更換后能恢復正在執行的請求,每個節點都記錄了一些消息在本地log中,為了保證算法可以正常運行的同時減少本地存儲,可以每執行完k條請求執行一次狀態同步,刪除最低水位線下的本地log記錄。

給系統中的節點新加入了一個待同步狀態,新加入的節點或者沒有達到當前視圖的最低水位的節點都屬于待同步狀態。待同步狀態的節點達到系統所需要的最低水位線后,節點狀態變為同步狀態,同時主節點會給其分配一個編號i,此時該節點就正式加入共識過程,就可以等待主節點發送信息。

3 實驗分析

3.1 通信開銷分析

RPBFT的改進方案可以在不影響系統容錯性的情況下降低共識流程中的通信開銷,提升共識算法的效率。通信開銷主要從兩個方面進行分析:一是在共識過程中的三個主要階段,包括預準備階段、準備階段和確認階段;二是在系統出現故障時發生的視圖切換。

3.1.1三階段過程中的通信開銷

假定系統中共識節點數目為a(a>4),可以根據PBFT和RPBFT的共識流程分別進行對比分析。其中PBFT共識算法和RPBFT共識算法的三階段總通信次數分別為:

C1=(a-1)+2a(a-1)

(5)

C2=6(a-1)

(6)

根據式(5)、式(6)可以做出兩種算法在通信開銷的對比圖,如圖6所示。

根據圖6可以看出,在三階段流程中PBFT算法的總通信開銷是多項式級別的,隨著總節點數的增多,通信開銷急劇增長,當節點增多到一定數量時,系統會占用過多帶寬,造成系統堵塞;而改進的RPBFT共識算法將通信開銷降低到了線性,隨著節點的增多,總通信次數不會出現太大的波動。RPBFT算法可以有效地降低通信開銷,提升共識效率,增強了系統的可用性。

3.1.2視圖更換中總通信開銷

系統在共識過程中出現故障時,從節點會發起視圖更換協議。在視圖更換協議中從節點發起視圖更換提案過程的總通信次數為(a-1),其他節點接收到提案以后進行全網廣播過程的總通信次數為(a-1)2,同時共識過程中視圖更換的概率為P,則兩種算法在發起視圖更換時的總通信次數為:

T1=C1+2Pa(a-1)

(7)

T2=C2+2Pa(a-1)

(8)

在PBFT和RPBFT共識算法中的拜占庭節點個數都是小于1/3的,所以系統中發起視圖更換的概率P<1/3,令P=0.33,則兩種算法的總通信開銷對比圖如圖7所示。

根據圖7中PBFT和RPBFT算法在發生視圖更換時的總通信次數對比,在發生視圖更換的概率為1/3時,RPBFT算法可以極大地降低系統的通信開銷,可以達到降低PBFT算法的通信復雜度的目的。根據圖6和圖7綜合來看,在一次完整的共識流程中,總節點的數目越多,兩種算法的通信開銷差距越大,因此,RPBFT算法可以在不影響系統可靠性的前提下有效減少通信總開銷,提升系統的可用性。

3.2 實驗設置與性能測試

為驗證本文方法確實能夠提升系統性能,且不降低系統的容錯性和安全性,實驗以文獻[16]提出的AlgoRand共識算法和Fabric中的PBFT算法作為對比算法,對比三種算法在吞吐量、時延、穩定性、安全性等方面的表現。本實驗選用Windows系統為實驗環境,選用simblock區塊鏈模擬器模擬區塊鏈網絡,以Gradle- 6.3工具進行構建,實驗數據用MATLAB進行繪制。在本文的實驗中需要對某些參數進行設置,同時需要一些假設條件:

(1) 為了降低區塊大小對實驗數據的影響,在本文實驗中將一個區塊包含的交易固定在100個。

(2) 在系統穩定性測試中,定義攻擊規則為當作惡節點編號與主節點編號差距小于等于2時,發動拒絕服務攻擊。同時還要保證由于攻擊掉線的節點,可以恢復并加入到系統中。

3.2.1吞吐量測試

吞吐量代表一個系統在單位時間內處理事務的能力,通常用TPS(Transaction Per Second,每秒交易數)來表示:

TPS=SumTransactionΔt/Δt

(9)

式中:Δt為交易發送后到寫入區塊的時間間隔;SumTransactionΔt為該時間間隔中寫入區塊的交易總數。為了驗證在不同規模下RPBFT算法的吞吐量,設置在不同節點個數的區塊鏈網絡下,統計三種算法分別完成20 000筆交易的平均時間,并根據式(9)計算平均TPS,如圖8所示。

可以看出隨著系統內節點總數的增多,三種算法的TPS都有不同程度的下降,但RPBFT共識算法的TPS明顯更高,并且隨著節點的增多這種差距會越來越大。本改進方案在系統運行過程中,可能會由于主節點問題發起視圖更換,視圖切換時會伴有隨機數的生成,在這一段時間中會略微影響系統性能,但算法總體性能還是高于其他兩種算法,達到了提升系統吞吐量的目的。

3.2.2時延測試

時延是指一筆交易從開始提交到交易確認之間消耗的時間,在區塊鏈網絡中時延是衡量系統的共識算法和網絡性能的標準,較低的時延會更加快速地確認交易,出現分叉的概率也會大大降低。在本文中用式(10)來對時延進行計算。

DelayTimetx=Tc-Tp

(10)

式中:DelayTimetx表示交易的時延;Tc表示交易在區塊中確認的時間;Tp表示發起提案的時間。為了驗證不同規模下RPBFT算法的延遲,設置在不同節點個數的區塊鏈網絡下,統計三種算法分別完成20 000筆交易的平均延遲,并統計結果如圖9所示。

如圖9所示,隨著系統內共識節點的增多,三種算法的時延都有不同程度的增長,相比較看AlgoRand算法中的時延是最長的,是由于AlgoRand算法在共識中加入了領導者和驗證者隨機選取,影響了系統性能。RPBFT共識算法雖然在視圖切換協議中加入了隨機數生成和主節點隨機選取過程,但避免了連續視圖切換問題,并且改進了PBFT算法的三階段通信協議,使得RPBFT算法在保證安全性和可靠性的基礎上降低了PBFT算法的交易時延,縮短了確認時間,提高了系統的可用性。

3.2.3穩定性測試

視圖切換的觸發的條件主要有主節點網絡問題超時、主節點作惡、主節點被攻擊等幾種情況。故可以用平均視圖切換次數來表示系統的穩定性。穩定性測試主要為驗證在大規模的區塊鏈網絡中,RPBFT算法可以更穩定地運行。設置在有120個節點的區塊鏈網絡中,統計不同拜占庭節點比率下的視圖切換次數如圖10所示。

根據圖10可以看出在拜占庭節點占比較低的情況下兩種算法的視圖切換次數都很少,隨著拜占庭節點的增多,視圖切換次數都有不同程度的增長,但同時RPBFT算法的視圖切換次數一直小于PBFT算法。這是由于RPBFT共識算法可以規避作惡節點根據主節點選取順序發起的攻擊,減少了部分由于惡意攻擊導致的視圖切換,增強了系統的安全性與穩定性,使系統可在大規模網絡中穩定安全運行。

3.3 安全性分析

RPBFT算法在主節點的選擇上與AlgoRand算法的密碼抽簽技術不同,采用了生成隨機數來進行主節點選取的方案,但同時選擇概率性算法需要考慮公平性、可驗證性和不可預測性。

本文中的主節點概率選擇算法的公平性是根據節點編號平均分配,保證每個節點當選主節點的概率是均勻的,視圖切換中生成的原始隨機數Random足夠大,遠遠大于節點數目,所以根據式(4)得到的主節點編號K是符合公平性原則的;RPBFT算法在視圖更換階段中產生隨機數的種子都是可追溯的,保證了最終隨機數符合概率選擇中的可驗證性;當發生視圖更換時,絕大多數誠實節點會發送自己選擇數字并且進行簽名加密,節點并不會獲得其他節點的種子,根據式(3)、式(4)的計算,會得到一個隨機數K,由于產生隨機數的過程有大量的節點參與,隨機種子足夠多,所以本算法的主節點選擇方案符合不可預測的原則。總體來看RPBFT算法在保證容錯性不變的基礎上,提高了共識效率和安全性,增強了系統的可用性。

4 結 語

本文根據區塊鏈中的實用拜占庭容錯(PBFT)共識算法中存在的一些問題,提出了一種主節點隨機選取的改進拜占庭容錯(RPBFT)共識算法。并且對PBFT算法、RPBFT共識算法、AlgoRand共識算法進行模擬對比實驗,通過對通信開銷、吞吐量、時延、視圖切換次數等實驗數據的對比分析,驗證了本文所提出的算法方案確實可以在不降低系統容錯性的前提下提高系統的性能和安全性。

未來可以進一步對RPBFT算法的視圖更換階段進行改進,提出通信量更小的視圖更換方案,提升系統性能。同時,也可以將RPBFT算法應用到有向無環圖(DAG)新型區塊鏈技術上進一步提升系統的性能。

猜你喜歡
系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統
基于UG的發射箱自動化虛擬裝配系統開發
半沸制皂系統(下)
FAO系統特有功能分析及互聯互通探討
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
一德系統 德行天下
PLC在多段調速系統中的應用
主站蜘蛛池模板: 亚洲无线国产观看| 人妻夜夜爽天天爽| 毛片一级在线| 毛片免费在线| 2021无码专区人妻系列日韩| 麻豆国产在线观看一区二区 | 亚洲浓毛av| 无码视频国产精品一区二区| 色九九视频| 午夜国产不卡在线观看视频| 国产美女丝袜高潮| 国产视频大全| 久久性妇女精品免费| 野花国产精品入口| 国产福利影院在线观看| 午夜老司机永久免费看片| 亚洲91精品视频| 中文无码精品A∨在线观看不卡 | 女人天堂av免费| 国产精品jizz在线观看软件| 国产91九色在线播放| 欧美劲爆第一页| 欧美成人午夜视频| 狠狠久久综合伊人不卡| 亚洲AV无码一区二区三区牲色| 无码专区在线观看| 日本在线免费网站| 国产精品精品视频| 91啦中文字幕| 国产精品一区二区无码免费看片| 婷婷色一区二区三区| 国产精品久久精品| 久久精品国产精品国产一区| 激情六月丁香婷婷| 性欧美久久| 狠狠色丁婷婷综合久久| 欧美成人精品一级在线观看| 国产精品理论片| 亚洲无码电影| 国产精品永久在线| 91无码国产视频| 91网址在线播放| 92精品国产自产在线观看| 国产精品尤物在线| 92精品国产自产在线观看 | 国产农村妇女精品一二区| 亚洲无码不卡网| 国产精品欧美在线观看| 久久综合干| 国产精品分类视频分类一区| 波多野结衣无码AV在线| 六月婷婷综合| 欧美成人看片一区二区三区| 国产主播在线观看| 中文字幕有乳无码| 色播五月婷婷| 91久久偷偷做嫩草影院| 日韩a级片视频| 久久特级毛片| 熟妇无码人妻| 成·人免费午夜无码视频在线观看 | 欧美日本激情| 亚洲熟妇AV日韩熟妇在线| 国产午夜人做人免费视频| 99re视频在线| 国产精品久久久久久久久kt| 国产av一码二码三码无码| 国产欧美日韩资源在线观看| 久久福利网| 国产精品手机在线播放| 日韩一区精品视频一区二区| 欧美福利在线| 亚洲最新地址| 亚洲人成网站色7777| 精品国产成人av免费| 国产又粗又爽视频| 午夜福利在线观看成人| 久久人妻xunleige无码| 国产又粗又爽视频| 欧美国产成人在线| 精品福利视频导航| 精品国产Av电影无码久久久|