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

        ?

        MuSig多重簽名的實用拜占庭容錯共識算法

        2025-02-28 00:00:00李晶賈園園張磊
        計算機應用研究 2025年2期
        關(guān)鍵詞:區(qū)塊鏈

        摘 要:為降低實用拜占庭容錯共識算法(practical Byzantine fault tolerance,PBFT)的通信復雜度和提高事務(wù)的吞吐量,提出一種MuSig多重簽名的實用拜占庭容錯共識算法(practical Byzantine fault tolerance consensus algorithm of MuSig multi-signature,MPBFT)。MPBFT共識算法改變了PBFT的準備和提交階段的信息傳輸方式,由主節(jié)點采用MuSig多重簽名算法將接收的備份節(jié)點的消息聚合為一個消息,再廣播給備份節(jié)點驗證聚合簽名的有效性。通過性能分析和實驗驗證,MPBFT共識算法將PBFT的通信復雜度由O(n2)降為O(n),具有較好的時間性能和安全性,且在事務(wù)延遲、吞吐量和通信開銷等方面優(yōu)于其他三種對比算法。

        關(guān)鍵詞: MPBFT; PBFT; 共識算法; MuSig; 區(qū)塊鏈

        中圖分類號: TP301 文獻標志碼: A 文章編號: 1001-3695(2025)02-004-0352-05

        doi: 10.19734/j.issn.1001-3695.2024.06.0227

        Practical Byzantine fault tolerance consensus algorithm of MuSig multi-signature

        Li Jing1,2,3, Jia Yuanyuan1,2,3, Zhang Lei1,2,3’

        (1.School of Information amp; Electronic Technology, Jiamusi University, Jiamusi Heilongjiang 154007, China; 2. Heilongjiang Province Key Laboratory of Autonomous Intelligence amp; Information Processing, Jiamusi Heilongjiang 154007, China; 3. Jiamusi Satellite Navigation Technology amp; Equipment Engineering Technology Key Laboratory, Jiamusi Heilongjiang 154007, China)

        Abstract:To reduce the communication complexity of the PBFT consensus algorithm and improve transaction throughput, this paper proposed MPBFT. The MPBFT consensus algorithm modified the information transmission method during the prepare and commit phases of the PBFT. The primary node used the MuSig multi-signature algorithm to aggregate the messages received from backup nodes into a single message and then broadcasted it to the backup nodes to verify the validity of the aggregated signature. Through performance analysis and experimental verification, the MPBFT consensus algorithm reduces the communication complexity of PBFT from O(n2) to O(n), demonstrating superior time performance and security. It outperforms the other three comparative algorithms in transaction latency, throughput, and communication overhead.

        Key words:MPBFT; PBFT; consensus algorithm; MuSig; blockchain

        0 引言

        區(qū)塊鏈是一種按照時間順序?qū)?shù)據(jù)區(qū)塊以鏈條的方式組合成特定的數(shù)據(jù)結(jié)構(gòu)[1,其應用不僅僅局限于比特幣等電子貨幣系統(tǒng)2,還廣泛應用于隱私保護3、物聯(lián)網(wǎng)4、醫(yī)療健康5和供應鏈6等眾多領(lǐng)域7。區(qū)塊鏈(可實現(xiàn)數(shù)據(jù)一致性的分布式賬本)作為一種去中心化的分布式系統(tǒng),其中的所有節(jié)點共同保障系統(tǒng)的正常運行。為解決網(wǎng)絡(luò)延時、去中心化導致的數(shù)據(jù)分歧等問題,需要共識機制使系統(tǒng)中的節(jié)點達成共識,保證數(shù)據(jù)的一致性[7。共識機制8是使所有誠實的節(jié)點保存在一致的區(qū)塊鏈賬本中以解決數(shù)據(jù)的一致性和記賬權(quán)問題,因此共識機制是區(qū)塊鏈的核心所在9。

        隨著對分布式賬本一致性問題的不斷探索,很多共識算法被提出。工作量證明PoW(proof of work)[10、股權(quán)證明PoS(proof of stake)[11等證明類共識算法由于吞吐量較低,難以滿足中小型交易的需求。傳統(tǒng)分布式一致性算法如Paxos[12和Raft[13,它們不能直接作為區(qū)塊鏈的共識機制使用,這是由于假設(shè)系統(tǒng)中的每個節(jié)點是互相信任和誠實的,但現(xiàn)實中節(jié)點之間存在欺騙和作惡的可能7。適用于聯(lián)盟鏈場景的PBFT[14可以在拜占庭節(jié)點數(shù)不超過全網(wǎng)節(jié)點數(shù)量1/3的情況下保證系統(tǒng)的安全性和數(shù)據(jù)的一致性,但也存在缺陷。例如隨著網(wǎng)絡(luò)中的節(jié)點數(shù)量的增加,PBFT對網(wǎng)絡(luò)的依賴越來越大,在一輪共識后的網(wǎng)絡(luò)通信復雜度達到O(n2),需要較大的通信開銷,不具備良好的可擴展性。針對該問題,SG-PBFT[15在提交階段改進信息傳輸方式,將備份節(jié)點的提交信息發(fā)送給主節(jié)點進行處理,由主節(jié)點響應給其他節(jié)點,但是該方案難以抵抗密鑰攻擊。Li等人[16為改進PBFT無法動態(tài)連接節(jié)點和多節(jié)點共識效率低等問題,提出一種節(jié)點分層結(jié)構(gòu),由各層選擇主節(jié)點進行組內(nèi)共識,然后各組主節(jié)點在組外達成共識的改進算法,但是增加了通信開銷。T-PBFT[17為增加節(jié)點間的信任,提出一種節(jié)點信任值計算方法,但是其通信復雜度為O(n2),降低了網(wǎng)絡(luò)吞吐量。

        為降低PBFT共識算法的通信復雜度,本文提出一種MuSig多重簽名的實用拜占庭容錯共識算法(MPBFT)。MPBFT改進PBFT的準備階段和提交階段信息傳輸方式,在準備階段和提交階段與MuSig多重簽名結(jié)合,由主節(jié)點對收到的消息聚合為一個消息,減少傳輸信息的條數(shù)。實驗結(jié)果表明,MPBFT相比于PBFT有更好的吞吐量、更低的共識時延,并降低了網(wǎng)絡(luò)的通信復雜度。

        1 預備知識

        1.1 PBFT基本概念

        PBFT共識算法是一個能夠容忍拜占庭錯誤的分布式共識算法。所謂的拜占庭錯誤是指允許作惡節(jié)點出現(xiàn)實施惡意行為。PBFT共識算法可以容忍最大的拜占庭節(jié)點個數(shù)為f,與網(wǎng)絡(luò)中總節(jié)點個數(shù)N的關(guān)系如式(1)所示,即滿足3f+1≤N,PBFT可以正常完成共識。如果網(wǎng)絡(luò)中的拜占庭節(jié)點個數(shù)超過全網(wǎng)節(jié)點的1/3,則PBFT算法不能正常完成共識。

        f=? (N-1)/3」(1)

        1.2 PBFT共識過程

        PBFT是一種狀態(tài)機復制算法,通過三階段協(xié)議達成共識,PBFT的共識過程如圖1所示。PBFT分為請求、預準備、準備、提交和響應五個階段,主節(jié)點、節(jié)點1、2和3是參與共識的節(jié)點,其中節(jié)點3是拜占庭節(jié)點,節(jié)點1和2是備份節(jié)點。PBFT算法的具體共識過程如下:

        a)請求階段。客戶端發(fā)送請求消息給主節(jié)點。

        b)預準備階段。主節(jié)點收到客戶端的請求消息后進行驗證,驗證成功后,主節(jié)點分配一個序列號給客戶端的請求,然后廣播一條預準備消息給所有的備份節(jié)點。

        c)準備階段。備份節(jié)點收到主節(jié)點的預準備消息后對該消息進行核驗,校驗通過后接受該消息并進入準備階段。備份節(jié)點廣播一條準備消息給所有節(jié)點,并將這條消息寫入日志。當節(jié)點收到與客戶端的請求、對應的預準備消息和2f條對應的來自不同備份節(jié)點的準備消息時,進入提交階段,其中f表示拜占庭節(jié)點個數(shù)。

        d)提交階段。備份節(jié)點廣播一條提交消息,并將其寫入日志。當節(jié)點收到2f+1條來自不同節(jié)點與客戶端請求消息對應的提交消息時,客戶端的請求已提交,此時備份節(jié)點執(zhí)行請求操作,并將執(zhí)行結(jié)果響應給客戶端。

        1.3 MuSig多重簽名

        MuSig[18多重簽名是Blockstream團隊在2018年提出的Schnorr簽名[19方案,即多個簽名者對同一消息進行聯(lián)合簽名,且最終的簽名長度要短。MuSig多重簽名算法的核心思想是將多個簽名者的公鑰聚合為一個公鑰,聚合公鑰的生成不只是多個簽名者公鑰的相加,而是分別乘以某個因子。簽名者使用聚合公鑰對消息進行簽名,然后將多個簽名合并成一個聚合簽名,從而減少了交易的大小和驗證的復雜性。MuSig方案使得外部觀察者無法確定哪些參與者參與了簽名,保證了簽名的安全性和隱私性。MuSig多重簽名的實現(xiàn)過程如下所示:a)參與者生成自己的公私鑰對(x,X=gx),x是參與者的私鑰,X是參與者的公鑰,g是G的生成元,G是素數(shù)階p的循環(huán)群,并將公鑰發(fā)送給其他參與者;b)參與者通過一個多方協(xié)議生成聚合公鑰;c)參與者根據(jù)聚合公鑰X對消息生成簽名si,并將簽名發(fā)送給其他參與者;d)參與者通過一個多方協(xié)議計算聚合簽名s;e)參與者驗證聚合簽名的有效性,且只占用一個簽名的空間。

        1.4 隱私威脅

        在MPBFT的實現(xiàn)過程中,存在著諸多的隱私威脅,例如密鑰消除攻擊(key cancellation attack)、密鑰選擇攻擊和節(jié)點的信任度等問題。如果攻擊者通過某種方式破壞密鑰生成,或者在已知一些明文-密文對的情況下,通過分析這些對之間的關(guān)系來推斷出加密算法所使用的密鑰,使得接收方最終獲得的密鑰不正確或被刪除,從而導致加密系統(tǒng)無法正常解密或解密后的數(shù)據(jù)不正確。由于MPBFT依賴主節(jié)點,如果主節(jié)點是拜占庭節(jié)點,它將發(fā)布錯誤的消息導致整個系統(tǒng)癱瘓。備份節(jié)點間由于互不信任可能廣播視圖編號、錯誤的簽名等錯誤的節(jié)點信息,使得MPBFT共識過程無法正常運行。

        2 MPBFT共識算法

        2.1 基本思想

        為降低PBFT共識算法的通信開銷和提高算法的吞吐量,本文提出一種改進的實用性拜占庭容錯協(xié)議—MPBFT。MPBFT的共識過程如圖2所示。MPBFT在準備階段和提交階段改變信息的傳輸方式,通過將備份節(jié)點的消息轉(zhuǎn)發(fā)給主節(jié)點,由主節(jié)點對收到的消息進行統(tǒng)一處理,將收到多個節(jié)點發(fā)送的同一個消息采用MuSig多重簽名算法聚合為一個消息發(fā)送給其他節(jié)點。該方案改變了原有算法多對多的傳輸方式,而是將節(jié)點收到的消息轉(zhuǎn)發(fā)給主節(jié)點進行統(tǒng)一的處理,降低了通信開銷并提高了網(wǎng)絡(luò)吞吐量。

        2.2 請求和預準備階段

        a)請求階段??蛻舳税l(fā)送請求消息〈REQUEST,o,t,c〉σc給主節(jié)點,其中o為請求的操作,t為時間戳,σc表示客戶端c對請求消息的簽名。然后進入預準備階段。

        b)預準備階段。主節(jié)點收到客戶端的請求,驗證成功后,主節(jié)點分配一個序列號n給請求m,然后廣播一條預準備消息〈〈PREPREPARE,v,n,d〉σp,m〉給所有的備份節(jié)點,其中v為視圖的編號,m為請求消息,d為請求消息m的摘要,σp為對預準備消息的簽名。備份節(jié)點i驗證預準備消息通過后進入準備階段。如果系統(tǒng)中的節(jié)點發(fā)現(xiàn)主節(jié)點是拜占庭節(jié)點,根據(jù)主節(jié)點更換原則:

        p=v mod N(2)

        替換下一個主節(jié)點,其中v是視圖編號,N是網(wǎng)絡(luò)中參與共識的節(jié)點個數(shù)。封裝視圖轉(zhuǎn)換消息以及節(jié)點編號和消息的簽名〈VIEW-CHANGE,v,i〉σi發(fā)送給下一輪的主節(jié)點,σi為備份節(jié)點i對視圖轉(zhuǎn)換消息的簽名。預準備階段是為了確保所有的備份節(jié)點都收到相同的請求,在進入后續(xù)的準備和提交時有一致的初始狀態(tài)。預準備消息的到達代表著主節(jié)點已經(jīng)開始了共識過程的第一步。

        2.3 準備階段

        備份節(jié)點i收到主節(jié)點的預準備消息后對該消息進行核驗,校驗通過后接受該消息進入準備階段。備份節(jié)點i生成自己的公私鑰對(xi,Xi=gxi),xi為備份節(jié)點i的私鑰,Xi為備份節(jié)點i的公鑰。其中g(shù)是G的生成元,G是一個素數(shù)階p的循環(huán)群。然后備份節(jié)點i廣播一條準備消息〈PREPARE,v,n,d,i〉σi給主節(jié)點。當主節(jié)點收到一條準備消息時,校驗成功后寫入日志中;當主節(jié)點收到與請求m、已發(fā)送對應的預準備消息以及收到2f條對應的來自不同備份節(jié)點i的準備消息時,此時主節(jié)點采用MuSig算法對收到的2f條準備消息聚合為一個簽名。主節(jié)點處理準備消息并聚合為一個簽名的過程如下所示。

        a)主節(jié)點提取收到消息中的公鑰、私鑰、隨機數(shù)ri和公鑰Xi的nonce值Ri,其中ri←Ζq,Ri=Gri。主節(jié)點收集參與共識的備份節(jié)點i的公鑰L={X1,X2,…,Xn},i∈{1,2,…,n},主節(jié)點根據(jù)式(3)計算備份節(jié)點的聚合公鑰X。

        X=∏ni=1Xaii(3)

        其中:ai=Hagg(L,Xi),Hagg是哈希函數(shù)。

        b)備份節(jié)點i計算ti=Hcom(Ri),將計算的ti發(fā)送給主節(jié)點,其中Hcom是哈希函數(shù)。

        c)當主節(jié)點收齊備份節(jié)點i的ti和Ri時,主節(jié)點驗證Hcom(Ri)=ti是否成立,若成立則主節(jié)點按照式(4)(5)計算備份節(jié)點聚合后的R和挑戰(zhàn)值c,其中Hsig是哈希函數(shù)。

        R=∏ni=1Ri(4)

        c=Hsig(X,R,m)(5)

        d)備份節(jié)點i按照式(6)計算si,將si發(fā)送給主節(jié)點;當主節(jié)點收到所有備份節(jié)點的si時,按照式(7)計算s,最終聚合后的簽名信息為σ=(R,s)。

        si=(ri+caix)mod p(6)

        s=∑ni=1si mod p(7)

        主節(jié)點將聚合的簽名σ=(R,s)和準備消息廣播給備份節(jié)點進行驗證,驗證成功后進入提交階段。準備階段中主節(jié)點對收到備份節(jié)點消息的聚合簽名過程的偽代碼如算法1所示。

        算法1 主節(jié)點處理聚合簽名過程算法

        輸入:received_message。

        輸出:σ。

        if (self.node_id == self.primary_node_id) then

        提取received_message中的xi、Xi、Ri和ri

        收集備份節(jié)點i的公私鑰列表Xi_list、xi_list及ri_list、Ri_list

        根據(jù)備份節(jié)點i計算的ai,收集備份節(jié)點i的ai_list

        if (len(xi_list)==(2×f) and len(Xi_list)==(2×f) and len(ri_list)==(2×f) and len(Ri_list)==(2×f)) then

        按照式(4)(7)計算R和s,廣播準備消息prepare_message給其他備份節(jié)點

        end if

        end if

        return σ

        備份節(jié)點i在收到主節(jié)點發(fā)來的準備消息時,提取準備消息中的R和s,驗證聚合簽名的有效性。備份節(jié)點i驗證聚合簽名有效性的偽代碼如算法2所示。驗證聚合簽名成功后進入提交階段。

        2.4 提交階段

        備份節(jié)點i廣播一條提交消息〈COMMIT,v,n,d,i〉σi,當主節(jié)點收到一條提交消息時,將其寫入日志。當請求消息m已準備好,且主節(jié)點收到2f+1條來自不同備份節(jié)點i的與m對應的提交消息時,執(zhí)行MuSig多重簽名算法同算法1,主節(jié)點將收到的簽名聚合為一個簽名σ,廣播給備份節(jié)點i驗證gs和R∏ni=1Xaici是否相等。備份節(jié)點驗證聚合簽名的過程如算法2所示。驗證成功后,此時主節(jié)點將執(zhí)行結(jié)果響應給客戶端。

        算法2 備份節(jié)點驗證聚合簽名算法

        輸入:commit_message。

        輸出:true/1。

        提取commit_message中的R,s

        根據(jù)式(3)(5)計算聚合后的公鑰X、c

        計算gs、R∏ni=1Xaici

        if gs==R∏ni=1 Xaici then

        return true

        else

        return 1

        end if

        PBFT共識算法是將準備消息和提交消息由備份節(jié)點廣播給其他備份節(jié)點,而MPBFT在準備和提交階段,備份節(jié)點將消息發(fā)送給主節(jié)點,由主節(jié)點對收到的消息進行處理,由主節(jié)點進行聚合簽名,再廣播給其他節(jié)點。MPBFT減少了很多冗余的網(wǎng)絡(luò)信息,大大降低了通信復雜度。

        3 性能分析

        3.1 通信復雜度和時間性能

        a)通信復雜度。設(shè)網(wǎng)絡(luò)中的節(jié)點個數(shù)為N,不計請求消息和響應消息,分析MPBFT和PBFT、G-PBFT[20、SG-PBFT[15的通信復雜度,如表1所示。MPBFT在預準備階段是由主節(jié)點將請求消息廣播給其他備份節(jié)點,因此預準備階段的通信量為N-1,在準備階段和提交階段備份節(jié)點將消息發(fā)送給主節(jié)點進行處理,由主節(jié)點對收到的消息進行聚合簽名生成一個簽名,準備階段節(jié)點的通信量為2(N-1),提交階段節(jié)點通信量為N-1,因此MPBFT在預準備階段、準備階段和提交階段的通信總量為N-1+2(N-1)+N-1=5(N-1),通信復雜度為O(n)。PBFT在準備和提交階段的消息傳輸方式是將節(jié)點的消息廣播給其他節(jié)點,在準備和提交階段的通信的消息量分別都為N(N-1),因此PBFT在這三階段中的通信的消息總量為N-1+2N(N-1)=2N2-N-1,通信復雜度為O(n2)。G-PBFT[20是通過計算節(jié)點的信任值減少消息交換的次數(shù),并沒有改變信息的傳輸方式,因此在準備和提交階段的通信復雜度分別都為O(n2)。SG-PBFT[15在提交階段改變信息傳輸方式,將備份節(jié)點的提交消息發(fā)送給主節(jié)點進行處理,所以該算法在準備和提交階段分別為O(n2)和O(n)。從表1可以看出,MPBFT的通信復雜度性能優(yōu)于其他三種方案。

        b)時間性能。文獻[21]采用的簽名方案是BLS簽名。BLS簽名是一種基于橢圓曲線的聚合簽名,它主要依賴于雙線性映射函數(shù),需要用到曲線配對函數(shù)e(P,Q),P和Q分別是曲線上的兩個點,但BLS簽名的配對是很困難的,假設(shè)對于1 000個節(jié)點的簽名聚合,需要計算1 000次配對,因此驗證一個節(jié)點的簽名,可能比驗證1 000個單獨的橢圓曲線數(shù)字簽名需要更長的時間。如果選用高效的配對函數(shù)提高驗證簽名的效率,可能會增加密鑰信息暴露的風險,兩者在一定程度上互不兼容。而本文采用的MuSig多重簽名可以批量驗證簽名,比BLS簽名方案的驗證效率更高,花費更少的時間,提高MPBFT共識算法的性能。

        3.2 安全性分析

        a)抗密鑰取消攻擊。MuSig算法的出現(xiàn)使密鑰取消攻擊成為不可能,證明過程如下。證明過程所用的符號含義如表2所示。

        表2 符號解釋

        Tab.2 Interpretation of symbols

        符號含義符號含義Ra、RbAlice和Bob公鑰的隨機值aa、afAlice和Bob的隨機化因子ksBob經(jīng)隨機化因子處理的私鑰sbBob方計算的簽名Rf、XfBob構(gòu)造虛假的隨機值和公鑰ka、kbAlice和Bob的私鑰

        假設(shè)有兩個參與方Alice和Bob, Bob按照式(8)(9)構(gòu)造虛假的隨機值和公鑰。

        Rf=Rb-Ra(8)

        Xf=Xb-Xa(9)

        這將使Alice和Bob按照式(3)~(5)計算聚合公鑰X、聚合后的R和挑戰(zhàn)值c,然后Bob按照式(6)計算單方簽名。假設(shè)Bob不需要自己的私鑰,而是利用已知的信息推導它,為了使這個簽名有效,它必須驗證R+cX是有效的。推導過程為

        (rb+ksc)G=R+cX=Rb+c(aaXa+afXf)=

        Rb+c(aaXa+afXb-Xaaf)=(rb+c(aaka+afkb-kaaf))G,

        ksc=c(aaka+afkb-kaaf),ks=aaka+afkb-kaaf(10)

        Bob為了推導自己的私鑰,必須知道Alice的私鑰以及虛假的私鑰,因此他的密鑰取消攻擊被擊敗。

        b)抗選擇密鑰攻擊。攻擊者可能試圖通過在簽名或加密過程中選擇惡意構(gòu)造的密鑰來破壞系統(tǒng)的安全性。然而在MuSig多重簽名方案中,參與者的密鑰進行了隨機化的處理,攻擊者無法直接觀察到其他參與者的密鑰。此外,參與者的簽名si=(ri+cki)都是基于參與者的公鑰和隨機化因子的混合,其中ri是隨機數(shù),挑戰(zhàn)值c是基于式(5)生成,ki是參與者的隨機化因子與參與者私鑰的乘積。因此,MuSig方案的密鑰生成機制和隨機化處理為選擇密鑰攻擊提供了有效的防護,即使攻擊者能夠觀察其他簽名者的簽名,也無法直接利用這些信息來選擇有效的密鑰進行攻擊。

        c)抗MOV攻擊。MOV攻擊是按照攻擊者命名的攻擊,是一種針對橢圓曲線加密體系的攻擊。它利用配對函數(shù)危害系統(tǒng)的安全。文獻[21]采用的BLS簽名方案主要用配對函數(shù)進行簽名,因此很容易受到MOV攻擊,降低簽名方案的安全性。而MuSig多重簽名通過隨機數(shù)器和聚合公鑰等一系列操作對同一消息進行聚合簽名,不是基于橢圓曲線數(shù)字簽名,因此可以抵抗MOV攻擊,其相較于BLS聚合簽名有更好的安全性。

        d)節(jié)點可信度。當主節(jié)點是拜占庭節(jié)點,主節(jié)點可能會向所有共識節(jié)點廣播不一致的預準備消息,或者不響應客戶端的請求。如果發(fā)生這種異常情況,備份節(jié)點會監(jiān)視主節(jié)點的行為,若主節(jié)點在規(guī)定的時間內(nèi)沒有做出指定的操作和回應,則會引發(fā)視圖轉(zhuǎn)換機制更換新的主節(jié)點。所以該方案限制了主節(jié)點作惡和不響應的可能。如果備份節(jié)點是拜占庭節(jié)點且數(shù)量超過f,系統(tǒng)是無法完成共識的。

        4 實驗驗證

        為了驗證MPBFT的效率,實驗環(huán)境為Windows 10操作系統(tǒng),使用Python 3.7進行實驗仿真,處理器為i5-12500H,2.5 GHz。對比實驗方案選擇PBFT、G-PBFT[20及SG-PBFT[15。為了驗證MPBFT的優(yōu)越性,首先驗證MPBFT中主節(jié)點采用MuSig多重簽名算法的時間性能;其次,從事務(wù)的吞吐量、事務(wù)延遲和通信開銷三方面對比四種方案的性能。

        4.1 聚合簽名的時間消耗

        以MPBFT的準備階段為例,以網(wǎng)絡(luò)中參加共識的節(jié)點個數(shù)為橫坐標,實驗設(shè)置10個客戶端向主節(jié)點發(fā)出請求消息,取10次聚合簽名所消耗時間的均值作為縱坐標,測試主節(jié)點聚合備份節(jié)點信息所消耗的時間,如圖3所示。隨著網(wǎng)絡(luò)中節(jié)點數(shù)量的增加,聚合簽名所需的時間增加,但當網(wǎng)絡(luò)中節(jié)點個數(shù)為550時,聚合簽名所需時間僅45 ms,因此采用聚合簽名算法所消耗的時間并不會影響整個網(wǎng)絡(luò)的時間性能。

        4.2 事務(wù)延遲

        事務(wù)延遲是指客戶端向主節(jié)點發(fā)出請求,然后經(jīng)歷預準備、準備和請求階段響應給客戶端所需的時間。分別測試四種方案在小規(guī)模和大規(guī)模網(wǎng)絡(luò)的事務(wù)延遲性能。小規(guī)模網(wǎng)絡(luò)中事務(wù)延遲隨節(jié)點變化情況如圖4所示。取10次的平均值作為實驗數(shù)據(jù)。從圖4可以看出,在小規(guī)模的網(wǎng)絡(luò)中,MPBFT和SG-PBFT[15的事務(wù)延遲相接近,但遠遠低于PBFT和G-PBFT[20。

        如圖5所示,MPBFT的事務(wù)延遲性能遠遠優(yōu)于PBFT、G-PBFT[20,較SG-PBFT[15的優(yōu)勢有所體現(xiàn)。當節(jié)點數(shù)量為150時,MPBFT的事務(wù)延遲約為248 ms,當節(jié)點數(shù)量為550時,它的事務(wù)延遲約為1 300 ms,明顯優(yōu)于其他三種方案。這是由于MPBFT采用了MuSig多重簽名算法,在準備和提交階段由主節(jié)點將多個備份節(jié)點的消息聚合為一個簽名再廣播給其他節(jié)點,這減少了信息交換的通信量,降低了網(wǎng)絡(luò)中處理事務(wù)的時間。所以從圖4和5可以看出,MPBFT的事務(wù)延遲性能在大規(guī)模網(wǎng)絡(luò)中的優(yōu)勢更加明顯。

        4.3 吞吐量

        吞吐量是指在一個特定時間內(nèi)系統(tǒng)處理的數(shù)據(jù)量或事務(wù)數(shù)量,通常表示每秒傳輸?shù)臄?shù)據(jù)量(TPS)。實驗設(shè)置10個客戶端發(fā)送請求,測試客戶端每秒傳輸?shù)臄?shù)據(jù)量隨節(jié)點數(shù)量變化情況,如圖6、7所示。取10個客戶端吞吐量的均值作為縱坐標,在圖6中,MPBFT在吞吐量方面優(yōu)于PBFT和G-PBFT[20。MPBFT和SG-PBFT[15的吞吐量均有增長的趨勢,且SG-PBFT[15的吞吐量性能優(yōu)于MPBFT。由于SG-PBFT[15在小規(guī)模網(wǎng)絡(luò)中的事務(wù)延遲較低,且單位時間內(nèi)交易的數(shù)量更多,所以吞吐量性能優(yōu)勢更明顯。

        在大規(guī)模網(wǎng)絡(luò)中,隨著節(jié)點數(shù)量的增加,SG-PBFT[15的吞吐量性能完全低于本文方案,如圖7所示。MPBFT隨著節(jié)點數(shù)量的增加,吞吐量的變化趨勢不太明顯,而SG-PBFT[15和G-PBFT[20的吞吐量變化趨勢愈加明顯,這是由于這兩種方案的通信復雜度都達到了O(n2),導致吞吐量的性能越來越差,而PBFT的吞吐量一直低于500 TPS。在節(jié)點數(shù)量為550時,MPBFT的吞吐量仍然能保持大約1 600 TPS,這是由于MPBFT的時間延遲低于其他三種方案,所以MPBFT在一個時間單位內(nèi)可以處理更多的事務(wù),且吞吐量的性能指標優(yōu)于其他三種方案,更適用于節(jié)點數(shù)量較多的大規(guī)模網(wǎng)絡(luò)中。

        4.4 通信開銷

        通信開銷是指網(wǎng)絡(luò)中節(jié)點執(zhí)行產(chǎn)生的流量,這里指客戶端發(fā)出請求到得到響應,網(wǎng)絡(luò)中所交換信息的個數(shù)。如圖8所示,隨著節(jié)點數(shù)量的增多,通信開銷也逐步增加,MPBFT的優(yōu)勢越明顯。當節(jié)點數(shù)量為550時,MPBFT完成一個共識過程的所交換的消息量約1 896次,而PBFT、SG-PBFT和G-PBFT完成一個共識過程所交換的消息量分別約為406 448、59 051、109 728次,三種對比方案的通信量遠遠高于本文MPBFT,這主要是由于MPBFT在準備階段和提交節(jié)點采用了聚合簽名算法,極大地降低了通信開銷。

        5 結(jié)束語

        本文提出一種MuSig多重簽名的實用拜占庭容錯共識算法(MPBFT),MPBFT算法改進傳統(tǒng)PBFT共識算法的準備和提交階段的信息傳輸方式,主節(jié)點采用MuSig多重簽名算法聚合備份節(jié)點發(fā)送的消息,將聚合后的消息統(tǒng)一由主節(jié)點發(fā)送給備份節(jié)點進行驗證,降低信息交換的通信量,使通信復雜度由O(n2)降到O(n)。通過性能分析和實驗驗證,在多節(jié)點的情況下,MPBFT在通信開銷、吞吐量和事務(wù)延遲等方面優(yōu)于其他方案,具有較好的安全性,且聚合簽名方案的時間消耗不會影響整體網(wǎng)絡(luò)的時間性能,適用于大規(guī)模的聯(lián)盟鏈中。未來工作中,將增加主節(jié)點選取方案和信任激勵機制,防止主節(jié)點選取方式隨機難以保證節(jié)點的信任度,并鼓勵節(jié)點積極加入聯(lián)盟區(qū)塊鏈中。

        參考文獻:

        [1]王利朋, 關(guān)志, 李青山, 等. 區(qū)塊鏈數(shù)據(jù)安全服務(wù)綜述[J]. 軟件學報, 2023, 34(1): 1-32. (Wang Lipeng, Guan Zhi, Li Qing-shan, et al. Survey on blockchain-based security services [J]. Journal of Software, 2023, 34(1): 1-32.)

        [2]Xu Jiexu, Bai Wen, Hu Miao, et al. Bitcoin miners: exploring a co-vert community in the Bitcoin ecosystem [J]. Peer-to-Peer Networking and Applications, 2020, 14(2): 644-654.

        [3]Liu Xingchen, Huang Haiping, Xiao Fu, et al. A blockchain-based trust management with conditional privacy-preserving announcement scheme for VANETs [J]. IEEE Internet of Things Journal, 2019, 7(5): 4101-4112.

        [4]Zaman S, Alhazmi K, Aseeri M A, et al. Security threats and artificial intelligence based countermeasures for Internet of Things networks: a comprehensive survey [J]. IEEE Access, 2021, 9(1): 94668-94690.

        [5]陳嘉莉, 馬自強, 蘭亞杰, 等. 基于區(qū)塊鏈技術(shù)的醫(yī)療信息共享研究綜述[J]. 計算機應用研究, 2024, 41(9):1-14.(Chen Jiali, Ma Ziqiang,Lan Yajie, et al. Overview of medical information sharing based on blockchain technology [J]. Application Research of Computers, 2024, 41(9):1-14.)

        [6]Aslam H, Khan A Q, Rashid K, et al. Achieving supply chain resilience: the role of supply chain ambidexterity and supply chain agility [J]. Journal of Manufacturing Technology Management, 2020, 31(6): 1185-1204.

        [7]王纘, 田有亮, 岳朝躍. 基于門限密碼方案的共識機制[J]. 計算機研究與發(fā)展, 2019, 56(12): 2671-2683.(Wang Zuan, Tian Youliang, Yue Zhaoyue. Consensus mechanism based on threshold cryptography scheme [J]. Journal of Computer Research and Development, 2019, 56(12): 2671-2683.)

        [8]鄧小鴻, 王智強, 李娟, 等. 主流區(qū)塊鏈共識算法對比研究[J]. 計算機應用研究, 2022, 39(1): 1-8. (Deng Xiaohong, Wang Zhiqiang, Li Juan, et al. Comparative research on mainstream blockchain consensus algorithms [J]. Application Research of Compu-ters, 2022, 39(1): 1-8.)

        [9]王群, 李馥娟, 倪雪莉, 等. 區(qū)塊鏈共識算法及應用研究[J]. 計算機科學與探索, 2022, 16(6): 1214-1242.(Wang Qun, Li Fujuan, Ni Xueli, et al. Survey on blockchain consensus algorithms and application [J]. Journal of Frontiers of Computer Science and Technology, 2022, 16(6): 1214-1242.)

        [10]夏清, 竇文生, 郭凱文, 等. 區(qū)塊鏈共識協(xié)議綜述[J]. 軟件學報, 2020, 32(2): 277-299.(Xia Qing, Dou Wensheng,Guo Kaiwen, et al. Survey on blockchain consensus protocol [J]. Journal of Software, 2020, 32(2): 277-299.)

        [11]Fahim S, Rahman S K, Mahmood S. Blockchain: a comparative study of consensus algorithms PoW, PoS, PoA, PoV [J]. International Journal of Computer Mathematics, 2023, 3(1): 46-57.

        [12]Kurnia F I, Venkataramani A. Oblivious Paxos: privacy-preserving consensus over secret-shares[C]// Proc of ACM Symposium on Cloud Computing. New York: ACM Press, 2023: 65-80.

        [13]Huang Dongya, Ma Xiaoli, Zhang Shengli. Performance analysis of the Raft consensus algorithm for private blockchains [J]. IEEE Trans on Systems, Man, and Cybernetics: Systems, 2019, 50(1): 172-181.

        [14]Castro M, Liskov B. Practical byzantine fault tolerance and proactive recovery [J]. ACM Trans on Computer Systems (TOCS), 2002, 20(4): 398-461.

        [15]Xu Guangquan, Bai Hongpeng, Xing Jun, et al. SG-PBFT: a secure and highly efficient distributed blockchain PBFT consensus algorithm for intelligent Internet of vehicles [J]. Journal of Parallel and Distributed Computing, 2022, 164(1): 1-11.

        [16]Li Yuxi, Qiao Liang, Lyu Zhihan. An optimized Byzantine fault tole-rance algorithm for consortium blockchain [J]. Peer-to-Peer Networking and Applications, 2021, 14(5): 2826-2839.

        [17]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.

        [18]Maxwell G, Poelstra A, Seurin Y, et al. Simple Schnorr multi-signatures with applications to bitcoin [J]. Designs, Codes and Cryptography, 2019, 87(9): 2139-2164.

        [19]Fleischhacker N, Jager T, Schr?der D. On tight security proofs for Schnorr signatures [J]. Journal of Cryptology,2019,32(2):566-599.

        [20]Wang Yong, Zhong Meiling, Cheng Tong. Research on PBFT consensus algorithm for grouping based on feature trust [J]. Scientific Reports, 2022, 12(1): 12515.

        [21]陳佳偉, 冼祥斌, 楊振國, 等. 結(jié)合BLS聚合簽名改進實用拜占庭容錯共識算法[J]. 計算機應用研究, 2021, 38(7): 1952-1955,1962. (Chen Jiawei, Xian Xiangbin, Yang Zhenguo, et al. Improved practical Byzantine fault tolerant consensus algorithm combined with BLS aggregating signature [J]. Application Research of Computers, 2021, 38(7): 1952-1955,1962.)

        猜你喜歡
        區(qū)塊鏈
        區(qū)塊鏈對互聯(lián)網(wǎng)金融發(fā)展的重塑與挑戰(zhàn)分析
        基于區(qū)塊鏈技術(shù)的海上散裝液體化學品運輸安全監(jiān)管方法
        水運管理(2016年11期)2017-01-07 13:25:48
        保險企業(yè)的區(qū)塊鏈技術(shù)應用方向選擇研究
        區(qū)塊鏈技術(shù)在金融領(lǐng)域的應用與前景研究
        中國市場(2016年32期)2016-12-06 11:21:13
        區(qū)塊鏈技術(shù)的應用價值分析
        商情(2016年40期)2016-11-28 11:24:12
        “區(qū)塊鏈”發(fā)展現(xiàn)狀評述及展望
        商(2016年34期)2016-11-24 14:46:00
        “區(qū)塊鏈”的茍且、詩和遠方
        基于區(qū)塊鏈技術(shù)的數(shù)字貨幣與傳統(tǒng)貨幣辨析
        互聯(lián)網(wǎng)金融新模式與中小企業(yè)融資關(guān)系研究
        智能合約與金融合約
        商(2016年6期)2016-04-20 17:50:36
        亚洲成av人片女在线观看| 国产激情久久久久久熟女老人| av资源吧首页在线观看| 中国人在线观看免费的视频播放| 国产熟妇另类久久久久| 亚洲成av人最新无码| 蜜桃一区二区免费视频观看 | 久久精品国产亚洲av蜜点| 中文无码一区二区不卡av| 久久香蕉国产线看观看网| 青青草针对华人超碰在线| 亚洲黄色一级在线观看| 色噜噜狠狠综曰曰曰| 亚洲成人免费网址| 二区三区视频在线观看| 青青草精品在线视频观看| 无码国产精品一区二区免费模式 | 免费看一级a女人自慰免费| 亚洲国产综合精品中文| 一边摸一边抽搐一进一出视频| 又湿又黄裸乳漫画无遮挡网站| 国产精品无码久久久久久久久作品 | 欧美伦费免费全部午夜最新| 扒开双腿疯狂进出爽爽爽视频| 99re6久精品国产首页| 久久人妻少妇嫩草av蜜桃| 成人免费无遮挡在线播放| 久久天天躁夜夜躁狠狠躁2022| 中文字幕在线人妻视频| 无遮挡很爽很污很黄的女同 | 亚洲国产成人久久综合一区77| 伊人亚洲综合影院首页 | 精品亚洲av一区二区| 国产精品国产三级国产av品爱网 | 黄又色又污又爽又高潮动态图| 亚洲色图在线视频免费观看| 国产日产久久高清ww| 成人a级视频在线观看| 国产欧美曰韩一区二区三区 | 精品久久久噜噜噜久久久| 亚洲AV无码乱码一区二区三区|