摘 要:針對拜占庭容錯算法存在通信開銷大、節(jié)點選取簡單、對惡意節(jié)點缺乏懲罰機制的問題,提出了一種基于推薦信任模型的改進拜占庭容錯共識算法。引入P2P網(wǎng)絡下的推薦信任模型,根據(jù)節(jié)點在共識階段的行為,計算各節(jié)點的全局信任值,使用節(jié)點選取機制,解決節(jié)點選取簡單的問題。全局信任值高的節(jié)點進入共識組,惡意節(jié)點被踢出共識組不再參與共識,解決惡意節(jié)點缺乏懲罰機制的問題。實驗表明,R-PBFT較PBFT具有更低的網(wǎng)絡開銷和更高的容錯性。
關鍵詞:區(qū)塊鏈; 拜占庭容錯算法; 推薦信任模型
中圖分類號:TP391 文獻標志碼:A
文章編號:1001-3695(2023)03-004-0667-04
doi:10.19734/j.issn.1001-3695.2022.09.0491
Improved Byzantine fault tolerant consensus algorithm based on recommendation trust model
Zhang Meng, Wang Baocheng
(School of Information, North China University of Technology, Beijing 100043, China)
Abstract:To address the problems of Byzantine fault-tolerant algorithm with high communication overhead, simple node selection, and lack of penalty mechanism for malicious nodes, this paper proposed an improved Byzantine fault-tolerant consensus algorithm based on the recommendation trust model. It introduced the recommended trust model under P2P networks to calculate the global trust value of each node based on the behavior of nodes in the consensus phase, and used the node selection mechanism is to solve the problem of simple node selection. The nodes with high global trust value entered the consensus group, and malicious nodes were kicked out of the consensus group and no longer participate in the consensus, solving the problem of lack of punishment mechanism for malicious nodes. Experiments show that the R-PBFT algorithm has lower network overhead and higher fault tolerance than the PBFT algorithm.
Key words:blockchain; Byzantine fault tolerance algorithm; recommendation trust model
區(qū)塊鏈技術已成功應用于數(shù)字加密貨幣[1],除了應用于傳統(tǒng)金融領域,在資產(chǎn)證明、司法、商業(yè)票據(jù)等領域也有著很好的應用潛力。區(qū)塊鏈的本質(zhì)是一種去中心化的分布式賬本數(shù)據(jù)庫[2]。區(qū)塊鏈系統(tǒng)中常見的共識算法[3]有:以比特幣為代表的PoW、以以太坊為代表的PoS、代表區(qū)塊鏈3.0的DPoS和在聯(lián)盟鏈中常用的PBFT。實用拜占庭容錯算法在1999年由Castro等人提出[4],將通信復雜度降到多項式級別,使得PBFT廣泛應用于聯(lián)盟鏈,但仍然存在著主節(jié)點選取簡單,隨著參與共識的節(jié)點N的增長,網(wǎng)絡中的通信復雜度呈平方級O(N2)增長,針對網(wǎng)絡中的拜占庭節(jié)點沒有懲罰措施。已有較多研究人員針對PBFT算法提出了改進方案:Hao等人[5]引入可信任節(jié)點列表,根據(jù)節(jié)點的行為表現(xiàn),將節(jié)點劃分為正常、缺席、非法三種類別,在每輪共識結束更新列表;Crain等人[6]將PoS和PBFT算法相結合,根據(jù)節(jié)點權益值對節(jié)點的選取進行改進,提出DBFT算法;Chen等人[7]將可驗證隨機函數(shù)和PoS結合,使用密碼抽簽技術選取節(jié)點,選出一部分節(jié)點進行共識,提高了系統(tǒng)吞吐量,相對于PoS保證了去中心化;Gao等人[8]提出了一種基于EigenTrust模型的新型優(yōu)化實用拜占庭容錯共識算法T-PBFT,根據(jù)節(jié)點間的交易行為來評估節(jié)點的信任度,從而選出網(wǎng)絡中的高信譽節(jié)點來構建共識組,T-PBFT提高了拜占庭容錯率,降低了通信復雜度;Feng等人[9]提出了一種協(xié)商證明(PoN)的共識機制,引入信任度評估節(jié)點的可信度,在誠實共識組內(nèi)隨機選擇節(jié)點出塊,將節(jié)點劃分為k組來同步或異步實現(xiàn)并行共識,PoN提高了共識效率;李淑芝等人[10]針對Raft拜占庭節(jié)點的攻擊問題,提出RB-Raft算法,使用哈希鏈對日志進行哈希處理,動態(tài)驗證節(jié)點的日志,RB-Raft算法能夠抵抗拜占庭節(jié)點,提高了吞吐量、降低了共識延時;周藝華等人[11]針對Hashgraph共識算法穩(wěn)定性差等問題,將信譽度模型和獎勵機制結合,對共識過程進行縮減,縮短交易時間,提高了系統(tǒng)穩(wěn)定性和安全性。
在上面的共識方案中,已經(jīng)有在拜占庭算法中引入信譽度的研究成果,但是,基于推薦信任模型改進拜占庭算法的還較少,沒有設計出一套完善的解決方案。本文針對拜占庭算法共識節(jié)點選取,網(wǎng)絡通信復雜度較高等方面全面考慮,提出了一種基于推薦信任模型的拜占庭容錯算法(R-PBFT)。根據(jù)節(jié)點的行為,提出了改進的推薦信任模型,針對節(jié)點在共識過程中的節(jié)點行為,計算節(jié)點的直接信任值和推薦信任值,規(guī)范節(jié)點行為;根據(jù)節(jié)點的全局信任值不同,提出節(jié)點劃分機制,對節(jié)點分類,降低了PBFT算法中的網(wǎng)絡開銷。
1 相關知識介紹
1.1 PBFT算法
PBFT共識算法中的節(jié)點主要分為主節(jié)點和副本節(jié)點兩種。在當前視圖中,系統(tǒng)中只有一個主節(jié)點,主要負責處理來自客戶端的請求、對交易池中的交易進行打包、發(fā)起共識流程。為了保證公平性,在每一輪的共識結束后都會啟動視圖轉換協(xié)議,進行主節(jié)點的切換,副本節(jié)點負責對節(jié)點發(fā)送的消息進行驗證并廣播,最后將結果返還給客戶端。其中,如圖1所示,PBFT共識過程主要分為預準備階段(pre-prepare) 、準備階段(prepare)和提交階段(commit)三個階段。
S1:客戶端發(fā)送請求m到副本節(jié)點,當前視圖的主節(jié)點收到客戶端請求后為該請求分配一個序列號n,并向所有節(jié)點廣播pre-prepare消息〈〈pre-prepare,v,n,D(m)〉,m〉。v表示當前視圖編號,D表示消息內(nèi)容摘要。
S2:節(jié)點驗證pre-prepare消息通過后,廣播一個prepare消息〈prepare,v,n,D(m)〉,并將pre-prepare和prepare消息記錄在自己的日志里。如果副本節(jié)點在規(guī)定的時間內(nèi)收到至少2f+1個來自其他節(jié)點的pre-prepare和prepare消息,則副本節(jié)點達到prepare狀態(tài)。
S3:副本節(jié)點廣播commit消息〈commit,v,n〉來告知其他節(jié)點視圖v下的編號為n的請求已在本地處于prepare狀態(tài)。同樣,當節(jié)點i收到至少2f+1個來自不同節(jié)點的commit消息時,請求節(jié)點m在i中達到committed狀態(tài)。
1.2 信任模型
目前大部分P2P信任模型[12]可以分為基于PKI公鑰機制的信任模型、基于反饋與評價的信任模型和基于節(jié)點的行為建立可信度的信任模型三類。設計的信任模型綜合節(jié)點在共識過程中的行為,節(jié)點行為越符合系統(tǒng)規(guī)范,信任值越高,反之則越低。
1.2.1 基于推薦的trust信任模型
Kamvar在2003年提出了EigenRep全局信任模型[13],基于推薦的trust信任模型主要是依據(jù)其他節(jié)點的評價。全局信任值的計算過程如下:假設節(jié)點i想要計算任意節(jié)點k的全局信任值,首先評估節(jié)點k的行為,計算直接信任值,然后計算與節(jié)點k發(fā)生過交易行為的推薦信任值。
a)計算推薦信任值。如果節(jié)點i想要計算任意節(jié)點k的全局信任值,首先從曾經(jīng)和節(jié)點k發(fā)生過交易的節(jié)點j獲取節(jié)點k的推薦信任值Cjk,然后計算這些交易伙伴的局部信任值Cij。satij代表交互歷史中滿意的次數(shù),Unsatij代表交互歷史中不滿意的次數(shù)。
b)計算全局信任值。Kamvar模型假設系統(tǒng)中預先存在一個可信的節(jié)點集合P,集合P中至少存在ti的全局可信度,α為常數(shù),0<α<1。
基于推薦的信任模型,在安全性方面針對惡意行為作出判斷,并給出相應的處罰措施,有效地阻止惡意行為。在計算節(jié)點信任度上有較好的收斂性。該模型對信任值的反復迭代計算節(jié)點的全局信任值,會消耗大量的軟/硬件資源,通信開銷較大。RTM全局信任模型[14],在直接信任值和推薦信任值的基礎上考慮了推薦者的信任值和不良交易歷史。并追究了相應的處罰措施,能夠更好地適用于拜占庭共識網(wǎng)絡。
1.2.2 基于推薦的RTM信任模型
在RTM信譽模型中,節(jié)點的信任值在[0,1],0表示該節(jié)點完全不可信,1表示該節(jié)點完全可信,節(jié)點的信任值( trust,T)由直接信任值(direct trust,Dt)、推薦信任值(recommendation trust,Rt)和懲罰值(punishment trust,Pt)組成。
2 R-PBFT算法設計方案
2.1 算法概述
R-PBFT算法由信任機制、節(jié)點選取機制和共識三部分組成。如圖2所示為R-PBFT的系統(tǒng)架構。信任機制評估節(jié)點在共識階段的行為,計算節(jié)點的全局信任值,節(jié)點選取機制根據(jù)全局信任值,將節(jié)點劃分為共識節(jié)點組和普通節(jié)點組。共識節(jié)點組中的節(jié)點參與共識,主節(jié)點在共識節(jié)點組中隨機選取,普通節(jié)點負責同步區(qū)塊。
2.2 信任機制
PBFT算法沒有對節(jié)點進行分類,沒有對節(jié)點行為進行一個合理的評估,所有節(jié)點都參與共識,參與共識的節(jié)點數(shù)超過閾值后,網(wǎng)絡通信復雜度過高,容易造成阻塞。引入RTM信任模型(圖3),并對模型加以改進。針對節(jié)點的歷史行為進行評估,計算節(jié)點的直接信任值、推薦信任值,兩者進行加權操作,得到節(jié)點的綜合評分,評估節(jié)點的可靠性。信任機制的系統(tǒng)架構如圖3所示。
2.2.1 直接信任值
直接信任值是各節(jié)點根據(jù)交互歷史進行相互評價打分的過程。節(jié)點i對j在共識過程中傳遞消息,節(jié)點i收到j發(fā)送過來的消息內(nèi)容后,與收到其他大多數(shù)節(jié)點發(fā)送過來的消息內(nèi)容進行對比,若一致,判斷此次事件接觸為正常,則標記節(jié)點j為誠實節(jié)點;若節(jié)點j因自身系統(tǒng)故障未在規(guī)定時間內(nèi)向節(jié)點i發(fā)送正確消息,節(jié)點i判斷此次事件接觸為異常,則標記節(jié)點j為故障節(jié)點;當節(jié)點i收到j發(fā)送過來的消息內(nèi)容與其他大多數(shù)節(jié)點發(fā)送過來的消息內(nèi)容不一致,或未向節(jié)點i發(fā)送消息卻聲稱已發(fā)送消息,節(jié)點i判斷此次事件為惡意,標記節(jié)點j為惡意節(jié)點,如表1所示。當節(jié)點j為主節(jié)點時,發(fā)送異常或惡意消息,對系統(tǒng)的危害性更大,引入事務影響因子(influence factor,IF),事務影響因子越大,該事件越重要,對節(jié)點的信任值影響也越大。當節(jié)點j為主節(jié)點時,事務影響因子為1,當節(jié)點為其他節(jié)點時,事務影響因子為0.5。在一輪共識結束后,i收到j發(fā)送m條消息,計算得到的直接信任值,直接信任值為
其中:m為消息傳遞的次數(shù);當?shù)趍次收到j的消息的評分為S(j,m);事務影響因子為If(j,m)。各類節(jié)點行為及評分如表1所示。
2.2.2 推薦信任值
節(jié)點i獲取j的推薦信任值是計算任意推薦節(jié)點m對j的推薦信任值,為防止惡意節(jié)點的虛假推薦,還需要引入推薦者的推薦能力為
其中:S(i,m)表示節(jié)點m與i交易歷史中;節(jié)點i對m滿意的次數(shù);F(i,m)表示節(jié)點i對m不滿意的次數(shù)。針對推薦能力,設定閾值,當推薦節(jié)點的推薦能力小于閾值時,該推薦節(jié)點的推薦信任值不被采納。推薦信任值的計算公式為
2.2.3 全局信任值
設定節(jié)點的初始信譽值Tvj為0.5,v為當前視圖編號,j為節(jié)點編號。根據(jù)節(jié)點的直接信任值和推薦信任值,可以直接計算出任意節(jié)點的全局信任值。
2.2.4 全局信任值更新
a)在一輪共識結束后,客戶端向主節(jié)點發(fā)送信譽度更新請求〈〈REQUESTT,v,d〉,σvc〉,其中,v是當前視圖編號,REQUESTT是信譽值更新請求消息,d是REQUESTT的消息摘要,σvc是請求消息的簽名。
b)主節(jié)點響應客戶端的投票請求,然后向各共識節(jié)點發(fā)送信譽度更新準備消息〈〈PREPRAET,d〉,σvp〉,σvp是主節(jié)點對消息的簽名。
c)共識節(jié)點驗證消息的準確性,主節(jié)點和其他共識節(jié)點通過驗證后向客戶端發(fā)送響應信息〈〈RESPONSET,messaged,messageR,id,d1,d2,σv〉,其中,messageD表示對其他節(jié)點直接信任值列表,messageR表示對其他節(jié)點推薦信任值列表,id表示節(jié)點的身份證明,d1表示直接信任值列表的哈希摘要,d2表示推薦信任值列表的哈希摘要,σ表示節(jié)點對響應消息的簽名。
d)客戶端驗證響應消息的準確性,通過驗證后向所有節(jié)點發(fā)送計算結果消息〈〈RESULTT,messageT,d,σv〉,其中messageT表示結果消息,d是messageT的消息摘要,σvc是客戶端對結果消息的簽名。
2.3 節(jié)點選取機制
2.3.1 節(jié)點角色設計
1)普通節(jié)點 網(wǎng)絡中的所有成員節(jié)點共同維護一個區(qū)塊鏈系統(tǒng),不參與共識,只負責對接收到的每一個區(qū)塊進行同步,監(jiān)聽并轉發(fā)網(wǎng)絡中的交易信息。全局信任值較低的所有節(jié)點都是普通節(jié)點。
2)共識節(jié)點 系統(tǒng)中的共識節(jié)點可以參與到共識中去,主節(jié)點在共識節(jié)點組中隨機選取,全局信任值從高到低排列,全局信任值較高的節(jié)點都是共識節(jié)點。
3)節(jié)點集合數(shù)學定義 設網(wǎng)絡中節(jié)點集合為N(數(shù)量為m),共識節(jié)點集合為Nv(數(shù)量為v),普通節(jié)點集合為Nn(數(shù)量為m-v),滿足
2.3.2 節(jié)點狀態(tài)轉移
當一輪共識結束后,參與共識的節(jié)點計算其他共識節(jié)點和主節(jié)點的直接信任值,設定全局信任值閾值Cgreat。
a)當節(jié)點的全局信任值Ci>Cgreat,該節(jié)點被選為共識節(jié)點。
b)當節(jié)點的全局信任值Ci<Cgreat,該節(jié)點被選為普通節(jié)點。
2.4 主節(jié)點選取
在PBFT算法中,主節(jié)點的選取基于式(11),P是被選為的主節(jié)點編號,V是當前視圖編號,R是當前網(wǎng)絡中的節(jié)點數(shù)。PBFT算法對惡意節(jié)點沒有作出處理,系統(tǒng)中的惡意節(jié)點依然可以被選為主節(jié)點。本文R-PBFT主節(jié)點在共識節(jié)點組中隨機選取,避免信譽最高的節(jié)點一直被選為主節(jié)點而成為被特定攻擊的對象。
3 實驗及理論分析
3.1 安全性分析
R-PBFT算法中的賄賂攻擊是不可行的。主節(jié)點的選取是在共識節(jié)點組中隨機選取的。節(jié)點的全局信任值取決于直接信任值和推薦信任值,推薦信任值是計算所有共識節(jié)點的推薦信任值,發(fā)起賄賂攻擊要賄賂大部分節(jié)點,不僅需要較高的成本,還會被扣除信任值。參與共識的節(jié)點被確定為惡意節(jié)點后,將直接被踢出共識節(jié)點組外,并且信任值不再隨著共識輪次增加而增加,大大降低了惡意節(jié)點再次作惡的概率。
3.2 可靠性分析
R-PBFT計算得到的全局信任值由直接信任值和推薦信任值兩部分得到。文獻[15]的計算全局信任值由直接信任值和節(jié)點基礎配置評分加權得到,節(jié)點可能受到高配置設備的攻擊。對相較于基礎配置評分,計算節(jié)點的全局信任值更加可靠。R-PBFT完全由節(jié)點在共識過程中的行為計算得到。
3.3 實驗分析
實驗平臺為一臺個人電腦,實驗軟/硬件配置信息如表2所示,使用docker容器模擬多個節(jié)點。
3.3.1 全局信任值分析
將節(jié)點設置為20個,共識組節(jié)點設置為10個,共識組內(nèi)拜占庭節(jié)點設置為2個,普通組內(nèi)節(jié)點設置為10個。設定共識組中節(jié)點的初始全局信任值為0.5,為了防止惡意節(jié)點的推薦信任值對誠實節(jié)點的全局信任值影響過大,設置α=0.6,表示節(jié)點的直接信任值在全局信任值的計算占比較大。在每次共識結束后,根據(jù)每個節(jié)點的行為,記錄所有節(jié)點的全局信任值。
共識組中誠實節(jié)點的全局信任值變化如圖4所示,隨著共識次數(shù)的增加,誠實節(jié)點在初始全局信任值的基礎上,全局信任值增加較快。惡意節(jié)點的全局信任值如圖5所示,共識組中的惡意節(jié)點在初始全局信任值的基礎上,全局信任值減少較快,直至被踢出共識節(jié)點集,全局信任值不再有明顯變化。被踢出的惡意節(jié)點將永遠不再參與共識。從普通節(jié)點內(nèi)按信任值從高到低選取節(jié)點進入共識節(jié)點中。普通節(jié)點隨著共識次數(shù)的增加,信任值逐漸增加,直至進入共識組內(nèi),參與共識。普通節(jié)點的全局信任值如圖6所示。當共識輪次進行到后面輪次時,R-PBFT算法中惡意節(jié)點信任值低于提前設定的閾值,已經(jīng)不再參與共識,共識組中的惡意節(jié)點數(shù)目為0,如圖7所示。PBFT中沒有節(jié)點選取機制,惡意節(jié)點將會一直參與共識。
3.3.2 網(wǎng)絡開銷分析
在R-PBFT共識階段,節(jié)點需要進行數(shù)據(jù)傳輸,所占用的網(wǎng)絡帶寬[11]表示為
其中:Bandwidth為網(wǎng)絡帶寬;n為參與共識的節(jié)點數(shù)目;Blocksize為生成的區(qū)塊大小。以比特幣區(qū)塊大小為例,式中設定Blocksize=1.1 Mbps,相比PBFT算法和文獻[16]的CBFT算法,相同節(jié)點數(shù)的網(wǎng)絡,R-PBFT參與共識的節(jié)點數(shù)少于其他算法,各算法的網(wǎng)絡帶寬對比如圖8所示。實驗對比PBFT、CBFT以及本文R-PBFT。PBFT的時間復雜度為O(n2),n為系統(tǒng)中的節(jié)點數(shù)目,R-PBFT的時間復雜度為O(r2),r為共識組中的節(jié)點數(shù)量(r≤n)。相比PBFT,R-PBFT的時間復雜度明顯降低。
3.3.3 容錯性能分析
容錯性指的是一個節(jié)點或者多個節(jié)點發(fā)生宕機或向其他節(jié)點發(fā)送錯誤消息時,系統(tǒng)仍然能夠正常運轉。在PBFT中,系統(tǒng)中的惡意節(jié)點數(shù)量f≤(N-1)/3,在R-PBFT中,f≤(Nv-1)/3,Nv<N,算法容錯性對比如表3所示。
4 結束語
本文針對拜占庭容錯算法網(wǎng)絡開銷大、主節(jié)點選取簡單、對惡意節(jié)點缺乏懲罰機制等問題,提出了一種基于推薦信任模型的拜占庭容錯算法。引入P2P模型中的推薦信任模型,根據(jù)節(jié)點在共識階段的行為表現(xiàn),標記節(jié)點的信任狀態(tài)進行評分,反饋給客戶端,由客戶端賦值權重計算全局信任值。全局信任值高的節(jié)點進入共識節(jié)點組,全局信任值低的節(jié)點進入普通節(jié)點組,主節(jié)點在共識節(jié)點組中隨機選取。共識節(jié)點參與共識,普通節(jié)點不參與共識,只負責同步區(qū)塊。低信任值的惡意節(jié)點將永遠不再參與共識,降低了賄賂攻擊的成功率。實驗結果表明,誠實節(jié)點的全局信任值隨著共識次數(shù)的增加逐漸增加,惡意節(jié)點的全局信任值隨著共識次數(shù)的增加逐漸減少,直至被移除共識組。根據(jù)信譽度選出的節(jié)點參與共識,減少參與共識的節(jié)點數(shù),降低了網(wǎng)絡開銷。本文算法引入了推薦信任模型,增加了安全性,但并不完善,還有很多問題值得進一步研究,如進一步減小共識過程中的通信開銷、結合實際應用進行方案落地等。
參考文獻:
[1]Nakamoto S. Bitcoin: a peer-to-peer electronic cash system[EB/OL]. (2008) . https://bitcoin. org/bitcoin. pdf.
[2]袁勇, 王飛躍. 區(qū)塊鏈技術發(fā)展現(xiàn)狀與展望[J]. 自動化學報, 2016, 42(4): 481-494. (Yuan Yong, Wang Feiyue. Blockchain: the state of the art and future trends[J]. Acta Automatica Sinica, 2016,42(4): 481-494.)
[3]夏清, 竇文生, 郭凱文, 等. 區(qū)塊鏈共識協(xié)議綜述[J]. 軟件學報, 2021, 32(2): 277-299. (Xia Qing, Dou Wensheng, Guo Kaiwen, et al. Survey on blockchain consensus protocol[J]. Journal of Software, 2021,32(2): 277-299.)
[4]Castro M, Liskov B. Practical Byzantine fault tolerance[C]//Proc of the 3rd Symposium on Operating Systems Design and Implementation. 1999: 173-186.
[5]Hao Xu, Yu Long, Liu Zhiqiang, et al. Dynamic practical Byzantine fault tolerance[C]//Proc of IEEE Conference on Communications and Network Security. Piscataway,NJ:IEEE, Press,2018:1-8.
[6]Crain T, Gramoli V, Larrea M, et al. DBFT: efficient leaderless Byzantine consensus and its application to blockchains[C]//Proc of the 17th International Symposium on Network Computing and Applications. Piscataway, NJ: IEEE Press, 2018: 1-8.
[7]Chen Jing, Micali S. Algorand: a secure and efficient distributed ledger[J]. Theoretical Computer Science, 2019, 777: 155-183.
[8]Gao Sheng, Yu Tianyu, Zhu Jianming, et al. T-PBFT: an eigentrust-based practical Byzantine fault tolerance consensus algorithm[J]. China Communications, 2019, 16(12): 111-123.
[9]Feng Jingyu, Zhao Xinyu, Chen Kexuan, et al. Towards random-honestminers selection and multi-blocks creation: proof-of-nego tiation consensus mechanism in blockchain networks[J]. Future Generation Computer Systems, 2020,105(C): 248-258.
[10]李淑芝, 鄒懿杰, 鄧小鴻, 等. RB-Raft: 一種抗拜占庭節(jié)點的Raft共識算法[J]. 計算機應用研究, 2022,39(9): 2591-2596. (Li Shuzhi, Zou Yijie, Deng Xiaohong,et al. RB-Raft:raft consensus algorithm for anti-Byzantine nodes[J]. Application Research of Computers, 2022, 39(9): 2591-2596.)
[11]周藝華, 賈立圓, 賈玉欣, 等. 基于信譽度的Hashgraph共識算法[J]. 計算機應用研究, 2021,38(9): 2590-2593, 2599. (Zhou Yihua, Jia Liyuan, Jia Yuxin, et al. Hashgraph consensus algorithm based on credit[J]. Application Research of Computers, 2021,38(9): 2590-2593, 2599.)
[12]汪清漣, 吳國棟, 孫俊杰. P2P網(wǎng)絡信任模型研究[J]. 計算機工程與科學, 2012,34(11): 62-67. (Wang Qinglian, Wu Guodong, Sun Junjie. Research on peer-to-peer network trust models[J]. Computer Engineering amp; Science, 2012, 34(11): 62-67.)
[13]Kamvar S D, Schlosser M T, Garcia-Molina H. EigenRep: reputation managementin P2P networks[EB/OL]. (2016-06-22) . https://www. docin. com/p-1649729150. html.
[14]代戰(zhàn)鋒, 溫巧燕, 李小標. P2P網(wǎng)絡環(huán)境下的推薦信任模型方案[J]. 北京郵電大學學報, 2009, 32(3): 69-72. (Dai Zhanfeng, Wen Qiaoyan, Li Xiaobiao. Recommendation trust model scheme for P2P network environment[J]. Journal of Beijing University of Posts and Telecommunications, 2009,32(3): 69-72.)
[15]唐宏, 劉雙, 酒英豪, 等. 實用拜占庭容錯算法的改進研究[J]. 計算機工程與應用, 2022,58(9): 144-150. (Tang Hong, Liu Shuang, Jiu Yinghao, et al. Improved study of practical Byzantine fault-tolerant algorithm[J]. Computer Engineering and Applications, 2022,58(9): 144-150.)
[16]Zhang Honglei, Zhao Wenbing. Concurrent Byzantine fault tolerance for software-transactional-memory based applications[J]. International Journal of Future Computer and Communication, 2012,1(1): 47-50.
收稿日期:2022-09-03;修回日期:2022-11-18 基金項目:北京市教育委員會科學研究計劃資助項目(110052971921/021)
作者簡介:張猛(1996-),男,河南駐馬店人,碩士研究生,主要研究方向為區(qū)塊鏈、密碼學;王寶成(1979-),男(通信作者),山東煙臺人,副教授,碩導,博士,主要研究方向為信息安全、密碼學、區(qū)塊鏈(wbaocheng@ncut.edu.cn).