王春東,姜鑫
基于可驗證延遲函數(shù)的改進實用拜占庭容錯算法
王春東*,姜鑫
(天津理工大學 計算機科學與工程學院,天津 300384)( ? 通信作者電子郵箱michael3769@163.com)
針對實用拜占庭容錯(PBFT)共識機制的主節(jié)點選擇不合理和高交易延遲問題,提出一種基于可驗證延遲函數(shù)(VDF)的改進實用拜占庭容錯共識機制VPBFT。首先,針對原有的PBFT算法引入投票機制進行節(jié)點選取,并根據(jù)隨機投票結(jié)果將節(jié)點劃分為普通節(jié)點、投票節(jié)點、備份節(jié)點和共識節(jié)點;其次,改進PBFT算法主節(jié)點選舉機制,即使用VDF進行主節(jié)點選舉,并利用上一區(qū)塊哈希值和用戶私鑰生成隨機數(shù),增加主節(jié)點的不可預測性,保證共識安全;最后,優(yōu)化PBFT算法的共識過程,將共識過程簡化為三個階段,從而降低算法復雜度,減少通信開銷。實驗結(jié)果表明,所提出的VPBFT在安全性和共識性能方面優(yōu)于原有PBFT算法。
區(qū)塊鏈;實用拜占庭容錯;可驗證延遲函數(shù);投票機制;哈希函數(shù);交易延遲
區(qū)塊鏈技術(shù)是結(jié)合密碼學、點對點網(wǎng)絡(luò)、分布式存儲、共識機制和激勵機制的分布式網(wǎng)絡(luò)數(shù)據(jù)存儲技術(shù),具有分布式對等結(jié)構(gòu)、去中心化信任、數(shù)據(jù)公開透明和防篡改特點[1],近年來已經(jīng)被應用于醫(yī)療數(shù)據(jù)共享[2]、輔助醫(yī)療決策和解決重大公共衛(wèi)生等領(lǐng)域。
區(qū)塊鏈沒有中央權(quán)威節(jié)點,所有節(jié)點都可平等地參與共識過程。因此,共識機制[3]是確保數(shù)據(jù)一致性,維護系統(tǒng)安全的核心要素。區(qū)塊鏈主要共識算法有工作量證明(Proof of Work, PoW)、權(quán)益證明(Proof of Stake, PoS)、委托權(quán)益證明(Delegated Proof of Stake, DPoS)和實用拜占庭容錯(Practical Byzantine Fault Tolerance, PBFT)等[4]。其中,PoW算法主要應用于公有鏈中,以比特幣為代表的區(qū)塊鏈節(jié)點通過算力競爭主節(jié)點地位,主導共識過程;PoS算法根據(jù)節(jié)點擁有的幣齡決定挖礦難度,擁有最高權(quán)益的節(jié)點更容易獲得新區(qū)塊的記賬權(quán)和區(qū)塊獎勵;DPoS算法[5]通過擁有權(quán)益的節(jié)點使用代幣投票選出共識節(jié)點,需要代幣激勵。所以,以上基于證明的共識機制不適用于醫(yī)療數(shù)據(jù)共享領(lǐng)域。
聯(lián)盟鏈中的PBFT共識算法不僅考慮系統(tǒng)中的故障節(jié)點,而且通過大多數(shù)誠實節(jié)點一致共識忽略惡意節(jié)點作惡行為。與公有鏈相比,PBFT節(jié)點更加穩(wěn)定,共識效率更高,更符合醫(yī)療數(shù)據(jù)共享聯(lián)盟鏈需求。
針對現(xiàn)有研究和PBFT算法的不足,本文提出一種基于可驗證延遲函數(shù)(Verifiable Delay Function, VDF)的實用拜占庭改進算法VPBFT。首先,在原有PBFT算法中引入投票機制進行節(jié)點選舉,并成立共識節(jié)點委員會,根據(jù)隨機投票結(jié)果將節(jié)點分為普通節(jié)點、候選節(jié)點、投票節(jié)點和共識節(jié)點;其次,提出一種基于VDF的主節(jié)點選擇機制,參與節(jié)點分布式運行VDF并相互驗證結(jié)果,實現(xiàn)當前視圖下主節(jié)點的分布式選舉;最后,將PBFT算法的共識過程修改為請求、響應和承諾三階段,降低通信開銷,提高共識效率。
1.1.1PBFT共識過程
PBFT共識過程如圖1所示。具體共識流程[16]如下:
圖1 PBFT共識過程
1.1.2垃圾回收機制
垃圾回收機制[17]是指PBFT算法定期生成系統(tǒng)日志文件,當共識發(fā)生錯誤時進行恢復,以確保系統(tǒng)中大多數(shù)節(jié)點都可保存狀態(tài)機中最新數(shù)據(jù)。主要協(xié)議如下:
1.1.3視圖更換協(xié)議
主節(jié)點選舉:共識節(jié)點網(wǎng)絡(luò)根據(jù)如下計算公式生成新視圖下主共識節(jié)點。
VDF[19]是有固定運算順序并且可以快速驗證的大規(guī)模并行算法,由初始化算法Setup、計算算法Eval和驗證算法Verify組成,算法流程如圖2所示。
圖2 VDF算法流程
PBFT作為強一致性共識機制,當網(wǎng)絡(luò)中共識節(jié)點數(shù)目過多時很難快速達成共識,同時區(qū)塊生成率較低。為了使PBFT算法更符合醫(yī)療數(shù)據(jù)共享場景,本文提出一種基于VDF的改進算法VPBFT。該算法使用投票機制進行節(jié)點選取,并改進主節(jié)點選舉策略,利用VDF延遲可驗證特性分布式選舉主節(jié)點。最后,優(yōu)化PBFT算法共識過程,提高通信效率。VPBFT算法設(shè)計流程如圖3所示。具體改進措施如下:
在PBFT算法中引入投票機制進行節(jié)點選舉,根據(jù)投票結(jié)果將節(jié)點劃分為普通節(jié)點、投票節(jié)點、備份節(jié)點和共識節(jié)點,由可信度較高的投票節(jié)點隨機選舉產(chǎn)生備份節(jié)點和共識節(jié)點主導共識過程,減少通信開銷。
提出基于VDF的主節(jié)點分布式選舉,在節(jié)點選取階段生成主節(jié)點后,各主節(jié)點獨立運行VDF的初始化函數(shù),通過將上一區(qū)塊哈希值和自身私鑰作為函數(shù)輸入保證VDF輸出唯一性。同時,設(shè)置延遲參數(shù)檢測惡意挖礦競爭,抵抗曠工硬件優(yōu)勢帶來的并行加速優(yōu)勢,保證共識安全。
為減少通信開銷,本文方案將共識過程簡化為請求、響應、承諾三個階段。投票式節(jié)點選取和分布式主節(jié)點選舉策略保證了系統(tǒng)節(jié)點的可靠性,因此刪除PBFT算法中客戶端和系統(tǒng)節(jié)點之間的交互操作,由主節(jié)點完成與客戶端的交互。
圖3 VPBFT算法流程
2.2.1系統(tǒng)節(jié)點選取
為了增加參與節(jié)點的可信度,保證共識安全,本方案使用投票機制進行節(jié)點選取,通過隨機節(jié)點廣播投票,其余節(jié)點相互驗證方式選舉系統(tǒng)節(jié)點。設(shè)置節(jié)點委員會實現(xiàn)不同節(jié)點間相互制約,同時根據(jù)網(wǎng)絡(luò)規(guī)模設(shè)定節(jié)點數(shù)量,保證系統(tǒng)穩(wěn)定運行。
委員會節(jié)點由普通節(jié)點、投票節(jié)點、備份節(jié)點和共識節(jié)點組成,其中,投票節(jié)點負責對備份節(jié)點和共識節(jié)點進行推薦和投票,并驗證和轉(zhuǎn)發(fā)主節(jié)點廣播交易。作為系統(tǒng)選舉初始化節(jié)點,投票節(jié)點由普通節(jié)點實名認證生成;共識節(jié)點發(fā)起新區(qū)提案并對交易進行驗證,主導當前視圖的共識過程;備份節(jié)點不可發(fā)起新區(qū)塊共識,但可以驗證和接收新區(qū)塊,并擁有全網(wǎng)數(shù)據(jù)副本,當共識節(jié)點有違規(guī)和退出行為時,由備份節(jié)點遞補;普通節(jié)點可以發(fā)布交易,不可參與共識,可以隨機加入和退出。VPBFT節(jié)點模型如圖4所示。
VPBFT網(wǎng)絡(luò)中系統(tǒng)節(jié)點數(shù)量可動態(tài)調(diào)整。從共識節(jié)點中選擇主節(jié)點,同時隔離惡意節(jié)點,在視圖更換時伴隨系統(tǒng)節(jié)點重新選舉,根據(jù)節(jié)點可靠性對普通節(jié)點、投票節(jié)點、備份節(jié)點和共識節(jié)點角色動態(tài)調(diào)整,以適應動態(tài)網(wǎng)絡(luò),優(yōu)化共識性能。
圖4 VPBFT節(jié)點模型
VPBFT節(jié)點選擇投票過程如下:
2)投票節(jié)點匯總本地投票信息表,得到當前網(wǎng)絡(luò)規(guī)模下各共識節(jié)點、備份節(jié)點和普通節(jié)點數(shù)目,生成委員會節(jié)點列表并相互廣播確認。
3)各投票節(jié)點收集委員會各投票節(jié)點廣播信息,當有效廣播信息超過/2時,完成本視圖下節(jié)點選取過程。
2.2.2主節(jié)點選舉策略
VPBFT分布式主節(jié)點選舉過程如下:
1)初始化階段:各共識節(jié)點獨立計算私鑰哈希值初始化隨機安全參數(shù),通過私鑰保密性保證分布式隨機生成,確保VDF去中心化運行。根據(jù)節(jié)點規(guī)模設(shè)置延遲時間,保證共識速度和出塊效率,參數(shù)的設(shè)置使得惡意節(jié)點使用硬件優(yōu)勢并行加速不可行。最后各共識節(jié)點運行Setup函數(shù)生成計算參數(shù)和用于驗證參數(shù),Setup函數(shù)計算公式如下:
2)競爭階段:各共識節(jié)點完成參數(shù)初始化后,以最新區(qū)塊高度的哈希值作為輸入,運行VDF計算函數(shù)Eval,競爭主節(jié)點地位,廣播計算結(jié)果、證明和證明參數(shù),便于其余節(jié)點驗證。Eval函數(shù)計算公式如下:
共識節(jié)點和備份節(jié)點收到驗證廣播后,運行VDF驗證函數(shù)Verify,校驗通過后保存結(jié)果值哈希值到本地索引表并轉(zhuǎn)播廣播內(nèi)容,驗證失敗將消息丟棄。Verify函數(shù)計算公式如下:
在時間段中,參與競爭共識節(jié)點不斷接收計算哈希值廣播,并與當前存儲哈希值進行比較,小于當前哈希值則進行替換操作,否則丟棄此哈希值。最終每個共識節(jié)點保留一份時間段內(nèi)生成最小哈希值記錄,廣播此記錄。
圖5 VPBFT主節(jié)點選舉流程
2.2.3VPBFT共識過程
本方案提出的VPBFT算法使用分布式網(wǎng)絡(luò)拓撲結(jié)構(gòu),事務(wù)的發(fā)起方從原始客戶端變?yōu)橹鞴?jié)點。假設(shè)共識網(wǎng)絡(luò)中參與節(jié)點原始狀態(tài)一致,那么每個節(jié)點的配置信息、存儲備份和區(qū)塊高度等也相同,保證了節(jié)點參與競爭主節(jié)點的公平性。
PBFT是一個經(jīng)典的分布式共識算法,它的三階段請求方法也基于分布式進行設(shè)計,主要目的是在以狀態(tài)機副本為主的分布式系統(tǒng)中正確執(zhí)行指令順序,由于在區(qū)塊鏈上達成共識需要在整個網(wǎng)絡(luò)中進行多次信息廣播和驗證,因此可以合并原始客戶端發(fā)送階段,由當前主節(jié)點完成與客戶端的交互行為,減少共識過程中信息的傳遞,提高共識效率。
VPBFT共識過程具體步驟如下:
1)發(fā)起共識。主節(jié)點根據(jù)共識策略從內(nèi)存池中選舉事務(wù)并將它們打包到一個請求消息中進行廣播,以啟動新一輪共識。如果共識節(jié)點和普通節(jié)點在超時之前接收到廣播消息,將對消息進行驗證;否則主節(jié)點違規(guī)超時,其余共識節(jié)點廣播視圖更換消息,請求更換視圖。
2)廣播響應消息。共識節(jié)點和備份節(jié)點如果在超時之前接收所有的請求消息,對消息進行驗證,驗證通過進行廣播回復,否則嘗試更換視圖。
3)收集響應消息并廣播承諾消息。主節(jié)點和其余節(jié)點在超時前收集足夠的回復消息并進行驗證,如果驗證通過將進行廣播驗證,否則將更改視圖。
4)收集承諾消息并生成新區(qū)塊。參與共識的每個節(jié)點如果在超時前收集到足夠多有效承諾消息,則在驗證通過后將生成新區(qū)塊并相互廣播,實現(xiàn)區(qū)塊同步,完成共識。
VPBFT的安全性主要體現(xiàn)在高可靠性和高容錯性兩方面,具體分析如下。
3.1.1可靠性分析
VPBFT安全性主要受兩個方面影響:投票式節(jié)點選取保證只有隨機投票數(shù)較高的節(jié)點才能參與系統(tǒng),維持系統(tǒng)節(jié)點安全性;主節(jié)點選舉策略實現(xiàn)當前視圖下主節(jié)點的分布式隨機選舉,避免惡意節(jié)點控制共識過程,危害系統(tǒng)安全。
在節(jié)點選取階段,普通節(jié)點經(jīng)過實名認證獲得投票權(quán)利,保證了投票節(jié)點的可信度與安全性。備份節(jié)點和共識節(jié)點都由投票節(jié)點隨機投票選取獲得,同時備份節(jié)點監(jiān)督共識節(jié)點行為,當共識節(jié)點產(chǎn)生違規(guī)行為時,投票節(jié)點和備份節(jié)點都可啟動視圖更換協(xié)議,完成主節(jié)點更換,保證共識過程安全。
主節(jié)點選舉過程中根據(jù)系統(tǒng)規(guī)模設(shè)置延遲參數(shù)抵抗惡意用戶通過硬件優(yōu)勢競爭主節(jié)點地位,避免算力浪費。同時,用戶分布式獨立生成安全參數(shù)保證系統(tǒng)去中心化特性,并使用區(qū)塊哈希值和用戶私鑰組合方式增加主節(jié)點選舉的不可預測性,通過一系列節(jié)點廣播和累計有效廣播保證當選節(jié)點有效主導共識,增加系統(tǒng)可靠性。
隨著系統(tǒng)運行,節(jié)點選取策略和主節(jié)點安全選舉保證了VPBFT共識的可靠性,降低惡意節(jié)點當選主節(jié)點概率,使主節(jié)點錯誤率降低,提高了VPBFT的效率,即單位時間內(nèi)的工作量(Transaction Per Second, TPS),共識結(jié)果更加可靠,實驗結(jié)果如圖6所示,VPBFT算法比PBFT算法可靠性更高。
圖6 VPBFT和PBFT的可靠性比較
3.1.2容錯性分析
本文實現(xiàn)了一個基于Python語言的區(qū)塊鏈原型系統(tǒng),并分別運行PBFT和VPBFT算法,通過測試和比較驗證了VPBFT算法的整體效果。測試環(huán)境為Windows操作系統(tǒng),CPU為Intel Core i5-6200U 2.30 GHz,內(nèi)存為8 GB,固態(tài)硬盤為512 GB。
3.2.1交易延遲測試
交易延遲指由節(jié)點發(fā)起的一筆交易從廣播到添加到區(qū)塊所消耗的時間。在P2P網(wǎng)絡(luò)上進行測試,設(shè)定事務(wù)數(shù)為200,分別對5、10、15、20、25和30個節(jié)點進行測試,結(jié)果如圖7所示??梢钥闯觯琕PBFT算法交易延遲明顯比PBFT算法短,而且隨節(jié)點數(shù)的增加,PBFT算法的交易延遲增加得更快,而VPBFT算法交易延遲相對穩(wěn)定,增長較慢。因此,在節(jié)點數(shù)較多的情況下,VPBFT算法優(yōu)勢更明顯。
圖7 VPBFT和PBFT的交易延遲比較
3.2.2出塊效率比較
出塊效率為單位時間內(nèi)生成區(qū)塊數(shù),是區(qū)塊鏈系統(tǒng)穩(wěn)定性的重要標志。如圖8所示,通過區(qū)塊鏈原型測試,在15個共識節(jié)點參與共識場景下,分別對100、200、300、400和500個事務(wù)量進行比較,PBFT算法平均出塊效率為2.17,VPBFT算法的平均出塊效率為3.94,是PBFT的1.8倍。因此,與PBFT算法相比,VPBFT算法的出塊效率有較大的提高,在穩(wěn)定性方面具有優(yōu)勢。
圖8 不同事務(wù)量下VPBFT和PBFT的出塊效率比較
為了進一步比較大規(guī)模節(jié)點下VPBFT與PBFT的出塊效率,分別設(shè)置了100到500節(jié)點模擬驗證區(qū)塊出塊效率,實驗結(jié)果如圖9所示。
圖9 不同節(jié)點規(guī)模下VPBFT和PBFT的區(qū)塊生成率比較
由圖9可以看出,在VPBFT與PBFT運行期間出塊效率是穩(wěn)定的,由于VPBFT進行了惡意節(jié)點識別與主節(jié)點隨機選舉,改進后的VPBFT共識機制更高效,在大規(guī)模網(wǎng)絡(luò)節(jié)點下出塊效率更高。
為了提高PBFT算法主節(jié)點選擇安全性和共識效率,本文提出了VPBFT,并通過投票處理將節(jié)點分為普通節(jié)點、投票節(jié)點、備份節(jié)點和共識節(jié)點。同時使用可驗證延遲函數(shù)改進PBFT主節(jié)點選舉方式,增加主節(jié)點選舉的不可預測性,保證共識安全。最后,共識節(jié)點參與共識過程,并將共識過程簡化為三個階段,減少帶寬資源消耗。實驗結(jié)果表明,VPBFT算法在可靠性、容錯性、交易延遲和區(qū)塊生成率方面比PBFT算法具有優(yōu)勢,更適合于實際應用。
[1] 張亮,劉百祥,張如意,等. 區(qū)塊鏈技術(shù)綜述[J]. 計算機工程, 2019, 45(5):1-12.(ZHANG L, LIU B X, ZHANG R Y, et al. Overview of blockchain technology[J]. Computer Engineering, 2019, 45(5): 1-12.)
[2] 羅文俊,聞勝蓮,程雨. 基于區(qū)塊鏈的電子醫(yī)療病歷共享方案[J]. 計算機應用, 2020, 40(1):157-161. (LUO W J, WEN S L, CHENG Y. Blockchain-based electronic medical record sharing scheme[J]. Journal of Computer Applications, 2020, 40(1): 157-161.)
[3] 郭上銅,王瑞錦,張鳳荔. 區(qū)塊鏈技術(shù)原理與應用綜述[J]. 計算機科學, 2021, 48(2):271-281.(GUO S T, WANG R J, ZHANG F L. Summary of principle and application of blockchain[J]. Computer Science, 2021, 48(2): 271-281.)
[4] WANG W, HONG D T, HU P, et al. A survey on consensus mechanisms and mining strategy management in blockchain networks[J]. IEEE Access, 2019, 7: 22328-22370.
[5] 方維維,王子岳,宋慧麗,等. 一種面向區(qū)塊鏈的優(yōu)化PBFT共識算法[J].北京交通大學學報, 2019, 43(5):58-64. (FANG W W, WANG Z Y, SONG H L, et al. An optimized PBFT consensus algorithm for blockchain[J]. Journal of Beijing Jiaotong University, 2019, 43(5): 58-64.)
[6] LI Y, WANG Z, FAN J, et al. An extensible consensus algorithm based on PBFT[C]// Proceedings of the 2019 International Conference on Cyber-Enabled Distributed Computing and Knowledge Discovery. Piscataway: IEEE, 2019: 17-23.
[7] GAB B, WU Q, LI X, et al. Classification of blockchain consensus mechanisms based on PBFT algorithm[C]// Proceedings of the 2021 International Conference on Computer Engineering and Application. Piscataway: IEEE, 2021: 26-29.
[8] 任秀麗,張雷. 基于實用拜占庭容錯的改進的多主節(jié)點共識機制[J]. 計算機應用, 2022, 42(5):1500-1507. (RENG X L, ZHANG L. Improved multi-primary node consensus mechanism based on practical Byzantine fault tolerance[J]. Journal of Computer Applications, 2022, 42(5): 1500-1507.)
[9] 甘俊,李強,陳子豪,等. 區(qū)塊鏈實用拜占庭容錯共識算法的改進[J]. 計算機應用, 2019, 39(7):2148-2155.(GAN J, LI Q, CHEN Z H, et al. Improvement of blockchain practical Byzantine fault tolerance consensus algorithm[J]. Journal of Computer Applications, 2019, 39(7): 2148-2155.
[10] GUAN G, FENG L, NING J, et al. Improvement of practical Byzantine fault tolerant consensus algorithm for blockchain[C]// Proceedings of the IEEE 3rd International Conference on Frontiers Technology of Information and Computer. Piscataway: IEEE, 2021: 182-187.
[11] JIANG W, CHEN L, WANG Y, et al. An efficient Byzantine fault-tolerant consensus mechanism based on threshold signature[C]// Proceedings of the 2020 International Conference on Internet of Things and Intelligent Applications. Piscataway: IEEE, 2020: 1-5.
[12] CHEN R, WANG L, ZHU R, et al. An improved practical Byzantine fault tolerance algorithm based on vague sets and random numbers[C]// Proceedings of the 7th International Conference on Intelligent Computing and Signal Processing. Piscataway: IEEE, 2022: 151-155.
[13] ZHANG Z, ZHU D, FAN W. QPBFT: practical Byzantine fault tolerance consensus algorithm based on quantified-role[C]// Proceedings of the IEEE 19th International Conference on Trust, Security and Privacy in Computing and Communications. Piscataway: IEEE, 2020: 991-997.
[14] YU G, WU B, NIU X. Improved blockchain consensus mechanism based on PBFT algorithm[C]// Proceedings of the 2nd International Conference on Advances in Computer Technology, Information Science and Communications. Piscataway: IEEE, 2020: 14-21.
[15] 劉懿中,劉建偉,張宗洋,等. 區(qū)塊鏈共識機制研究綜述[J]. 密碼學報, 2019, 6(4):395-432.(LIU Y Z, LIU J W, ZHANG Z Y, et al. Overview on blockchain consensus mechanisms[J]. Journal of Cryptologic Research, 2019, 6(4): 395-432.)
[16] 李騰. PBFT共識算法的改進及其應用研究[D]. 邯鄲:河北工程大學, 2021: 2.(LI T. Improvement and application of practical Byzantine fault tolerance consensus algorithm[D]. Handan: Hebei University of Engineering, 2021: 2.)
[17] 顏丙輝. 基于拜占庭容錯的區(qū)塊鏈共識方法研究[D]. 哈爾濱:哈爾濱工程大學, 2020: 2.(YAN B H. Research on block chain consensus methods based on Byzantine fault tolerance[D]. Harbin: Harbin Engineering University, 2020: 2.)
[18] 孫耀景. 基于實用拜占庭容錯算法的區(qū)塊鏈共識算法研究[D]. 湘潭:湘潭大學, 2020: 2.(SUN Y J. Research on the blockchain consensus algorithm based on practical Byzantine fault tolerant algorithm[D]. Xiangtan: Xiangtan University, 2020: 2.)
[19] BONEH D, BONNEAU J, BüNZ B, et al. Verifiable delay functions[C]// Proceedings of the 2018 Annual International Cryptology Conference, LNCS 10991. Cham: Springer, 2018: 757-788.
[20] ZHOU M, LIN X, LIU A, et al. An improved blockchain consensus protocol with distributed verifiable delay function[C]// Proceedings of the 2021 IEEE International Conference on Electronic Technology, Communication and Information. Piscataway: IEEE, 2021: 330-337.
Improved practical Byzantine fault tolerance algorithm based on verifiable delay function
WANG Chundong*, JIANG Xin
(,,300384,)
To solve the problems of unreasonable primary node selection and high transaction delay in Practical Byzantine Fault Tolerance (PBFT) consensus mechanism, an improved PBFT consensus mechanism based on Verifiable Delay Function (VDF) was proposed, called VPBFT. Firstly, a voting mechanism was introduced into original PBFT algorithm to select nodes, which were divided into ordinary nodes, voting nodes, backup nodes and consensus nodes according to random voting results. Secondly, the primary node selection mechanism of PBFT algorithm was improved by using VDF for primary node selection, and random numbers were generated by the hash value of the previous block and the user’s private key to increase the unpredictability of the primary node and ensure the consensus security. Finally, the consensus process of PBFT algorithm was optimized by simplifying consensus process into three stages, thereby reducing the algorithm complexity and communication overhead. Experimental results show that the proposed VPBFT outperforms the original PBFT algorithm in terms of security and consensus performance.
blockchain; Practical Byzantine Fault Tolerance (PBFT); Verifiable Delay Function (VDF); voting mechanism; hash function; transaction delay
1001-9081(2023)11-3484-06
10.11772/j.issn.1001-9081.2022111708
2022?11?18;
2023?02?24;
“科技助力經(jīng)濟2020”重點專項(SQ2020YFF0413781);天津市科委重大專項(15ZXDSGX00030); 國家自然科學基金面上—聯(lián)合基金資助項目(U1536122)。
王春東(1969-),男,天津人,教授,博士,CCF會員,主要研究方向:網(wǎng)絡(luò)信息安全、普適計算、移動計算、智能信息處理; 姜鑫(1997-),男,山東菏澤人,碩士研究生,主要研究方向:區(qū)塊鏈、數(shù)據(jù)共享。
TP301
A
2023?02?25。
This work is partially supported by “National High Science and Technology for Economy 2020” Key Project (SQ2020YFF0413781), Major Project of Tianjin Science and Technology Commission (15ZXDSGX00030), National Natural Science Foundation of China (General Joint Fund) (U1536122).
WANG Chundong, born in 1969, Ph. D., professor. His research interests include network information security, ubiquitous computing, mobile computing, intelligent information processing.
JIANG Xin, born in 1997, M. S. candidate. His research interests include blockchain, data sharing.