国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于改進(jìn)實用拜占庭容錯的可信分布式區(qū)塊鏈信任機制研究

2024-12-31 00:00:00張英豪肖滿生陳大鵬周榮燁
軟件工程 2024年7期
關(guān)鍵詞:區(qū)塊鏈技術(shù)

關(guān)鍵詞:區(qū)塊鏈技術(shù);PBFT;信譽模型;信任機制

0 引言(Introduction)

《中華人民共和國國民經(jīng)濟(jì)和社會發(fā)展第十四個五年規(guī)劃和2035年遠(yuǎn)景目標(biāo)綱要》中明確指出要發(fā)展云計算、大數(shù)據(jù)、物聯(lián)網(wǎng)、工業(yè)互聯(lián)網(wǎng)、區(qū)塊鏈、人工智能、虛擬現(xiàn)實和增強現(xiàn)實七大數(shù)字經(jīng)濟(jì)重點產(chǎn)業(yè)。在此背景下,區(qū)塊鏈技術(shù)[1]再次得到社會各界的廣泛關(guān)注與深入應(yīng)用。實用拜占庭容錯算法,作為區(qū)塊鏈共識算法[2-4]中最廣泛應(yīng)用于聯(lián)盟鏈的投票類算法,有效地解決了節(jié)點間通信可能出現(xiàn)的拜占庭將軍問題[5],進(jìn)一步提升了區(qū)塊鏈技術(shù)的穩(wěn)定性和可靠性。但是,實用拜占庭容錯算法存在主節(jié)點選取隨機性大、缺乏信譽機制、易遭受Sybil女巫攻擊[6]及節(jié)點間的通信次數(shù)過多等問題,導(dǎo)致整個系統(tǒng)的共識效率低與鏈上空間存儲冗余。

針對上述問題,對PBFT共識算法進(jìn)行研究,設(shè)計信用模型[7-9]和投票機制,用于動態(tài)更新用戶狀態(tài),并根據(jù)節(jié)點的行為達(dá)成共識,提出具有分組評分機制和人工蜂群優(yōu)化共識過程的算法[10-12],緩解網(wǎng)絡(luò)節(jié)點通信的驟增,降低惡意節(jié)點的影響。TANG等[13]通過引入信任公平評分機制,動態(tài)調(diào)整共識節(jié)點列表,簡化共識過程,優(yōu)化共識效率。

基于上述研究,本文提出一種改進(jìn)PBFT算法設(shè)計的可信分布式信任機制,即TM-PBFT。首先,該機制設(shè)計了多因素分權(quán)節(jié)點信譽模型,通過分層共識優(yōu)化其三階段協(xié)議中一致性協(xié)議的預(yù)準(zhǔn)備階段。其次,采用IPFS星際文件系統(tǒng)實現(xiàn)節(jié)點數(shù)據(jù)的分布式存儲。通過與其他模型進(jìn)行對照實驗,結(jié)果證明TM-PBFT在通信效率上具有顯著優(yōu)勢。

1 改進(jìn)PBFT分布式信任機制設(shè)計(Distributedtrust mechanism design based on improved PBFT)

PBFT共識算法的本質(zhì)是一種狀態(tài)機副本復(fù)制算法,為了保證節(jié)點在分布式系統(tǒng)內(nèi)達(dá)成共識,需要3種協(xié)議以滿足算法的安全性與活性,即一致性協(xié)議、檢查點協(xié)議和視圖更換協(xié)議。一致性協(xié)議作為PBFT共識算法的核心協(xié)議,執(zhí)行順序分為5個步驟(圖1)。

如圖1所示,一致性協(xié)議包含5個節(jié)點,自上而下分為1個客戶端節(jié)點、1個主節(jié)點和3個備份節(jié)點,其中最底端的備份節(jié)點為拜占庭節(jié)點。垂直線表示過程分界線,水平線表示各節(jié)點,箭頭線表示消息廣播由一個節(jié)點發(fā)送到另一個節(jié)點,虛線箭頭代表惡意節(jié)點的錯誤信息或不傳遞信息。

PBFT的一致性協(xié)議是一種相對高效和安全的共識算法,但節(jié)點的信息傳輸與備份節(jié)點共識的并發(fā)操作仍然存在改進(jìn)和優(yōu)化的空間。每個節(jié)點都需要廣播自己的消息給其他節(jié)點,會造成通信時延與復(fù)雜度過高,每個操作都必須經(jīng)過3個階段(預(yù)準(zhǔn)備、準(zhǔn)備和提交)才能達(dá)成一致。因此,本研究提出一種節(jié)點預(yù)準(zhǔn)備分層共識對協(xié)議進(jìn)行優(yōu)化,改進(jìn)后的TM-PBFT預(yù)準(zhǔn)備階段節(jié)點廣播執(zhí)行流程如圖2所示。

在請求階段,客戶端向主節(jié)點傳輸信息并進(jìn)行分發(fā);在預(yù)準(zhǔn)備階段,對節(jié)點進(jìn)行分組,圖2中的虛線箭頭線代表未畫出的其他分組分主節(jié)點。

PBFT中的每個節(jié)點都需要廣播自己的消息給其他節(jié)點,這會造成大量的消息傳輸,可以通過壓縮、合并和篩選消息減少傳輸?shù)臄?shù)據(jù)量,從而提高網(wǎng)絡(luò)的效率。準(zhǔn)備階段引入分組并發(fā)共識機制,使節(jié)點能夠并行地處理請求。TM-PBFT準(zhǔn)備階段節(jié)點共識流程圖如圖3所示。

圖3中,實線箭頭代表預(yù)準(zhǔn)備階段之后,節(jié)點進(jìn)行廣播共識;虛線箭頭代表遭受Sybil女巫攻擊的惡意節(jié)點的虛假信息或者不進(jìn)行廣播的節(jié)點信息,將傳統(tǒng)PBFT算法的準(zhǔn)備階段分成3個部分,主節(jié)點分組并發(fā)共識,有效地解決了原始拜占庭容錯[5]算法效率不高的問題,將節(jié)點之間兩兩確認(rèn)共識的復(fù)雜度從O(n2)降低至O(log n)。

2 信譽模型設(shè)計(Design of reputation model)

為了解決PBFT共識算法中節(jié)點選取隨機性高、優(yōu)劣節(jié)點混雜的問題,設(shè)計節(jié)點信譽模型用于評估參與節(jié)點行為質(zhì)量,將節(jié)點分為3種類型:正常節(jié)點、故障節(jié)點、惡意節(jié)點。引入節(jié)點獎懲機制,信譽模型使用歷史數(shù)據(jù)和參與者之間的交互數(shù)據(jù)計算每個參與者的信譽分?jǐn)?shù),以評估參與節(jié)點的可信度和價值,旨在通過激勵節(jié)點積極性,進(jìn)而提升系統(tǒng)共識效率。

設(shè)每個加入?yún)^(qū)塊鏈的節(jié)點的初始信譽分?jǐn)?shù)Rinit 為50分,低于40分的節(jié)點Rbad 不參與共識,信譽分?jǐn)?shù)最高的節(jié)點Rmax為100,到達(dá)100分即不再增加。

節(jié)點信譽分?jǐn)?shù)的增減由多種因素共同決定,如節(jié)點魯棒性、節(jié)點投入成本、通信成功率、節(jié)點間的投票數(shù)及參與共識輪次等。

節(jié)點魯棒性評估:在每個節(jié)點加入?yún)^(qū)塊鏈系統(tǒng)參與共識前,對自身穩(wěn)定性與算力進(jìn)行評估,剔除垃圾節(jié)點,防止Sybil女巫攻擊,評估指標(biāo)為交易吞吐量Tt 與響應(yīng)能力Rb,節(jié)點魯棒性評估公式Nr 為(α1,α2 為評估系數(shù)):

節(jié)點投入成本:節(jié)點加入?yún)^(qū)塊鏈系統(tǒng)需要根據(jù)上述評估結(jié)果提交對應(yīng)比例的保證金Pn 作為置信憑證,保證金的數(shù)量與Nr 成反比,但不影響節(jié)點信譽分?jǐn)?shù)評估,若所有節(jié)點保證金總和為PSum,則節(jié)點保證金對節(jié)點信譽分的影響P 為

通信成功率:每一次成功通信,節(jié)點的置信度都會提高,總通信成功率C 為通信成功次數(shù)Csuc 除以總通信次數(shù)Csum,其計算公式如下:

節(jié)點間的投票數(shù):為提高各個節(jié)點間的參與度,給節(jié)點賦予投票權(quán),給每個與本節(jié)點參與過信息交互的節(jié)點進(jìn)行投票。規(guī)定每個節(jié)點可以給任意除自身外的交互過的節(jié)點投票,每個節(jié)點有1票,在每輪共識結(jié)束后統(tǒng)計票數(shù),票數(shù)高的節(jié)點參與主節(jié)點選舉,避免主節(jié)點共識輪數(shù)過多而產(chǎn)生中心化特征,增加共識成功概率,提升可信度。設(shè)有n 個節(jié)點,Vi 代表節(jié)點i對節(jié)點j 的投票,Vj 代表節(jié)點j 的總票數(shù),計算節(jié)點間投票數(shù)的公式如下:

參與共識輪次:節(jié)點的可信度與節(jié)點參與的共識輪次呈正相關(guān),參與輪次越多,說明節(jié)點共識安全越值得信賴。因此,給節(jié)點信譽模型引入衰退函數(shù),當(dāng)節(jié)點n 參與了前i 輪次的共識且不被標(biāo)記為拜占庭節(jié)點,則(i+1)輪次的信譽分?jǐn)?shù)不受衰退函數(shù)的影響;當(dāng)節(jié)點n 未參與前i 輪次的節(jié)點,則使用如下衰退函數(shù)f(n)計算(θ 為衰退指數(shù),s 為節(jié)點總共識輪次),計算參與共識輪次的公式如下:

結(jié)合上述多層次因素考慮,可以得出信譽分?jǐn)?shù)的增減機制,主節(jié)點的選舉則與節(jié)點信譽分?jǐn)?shù)呈正相關(guān),節(jié)點信譽分?jǐn)?shù)Ri 的計算公式如下(β1,β2,β3,β4,β5 分別為節(jié)點信譽權(quán)重):Ri=Rinit+β1Nr+β2P+β3C+β4Vj-β5f(n),Ri∈[0,100]

在上述信譽模型中,節(jié)點計算信譽分?jǐn)?shù)會產(chǎn)生額外的時間與算力成本,進(jìn)而降低系統(tǒng)共識效率,但不計算節(jié)點信譽分?jǐn)?shù)又會導(dǎo)致系統(tǒng)出現(xiàn)受Sybil女巫攻擊、節(jié)點產(chǎn)生中心化特征、備份節(jié)點產(chǎn)生惰性等問題,因此系統(tǒng)設(shè)定每進(jìn)行3次共識則計算1次信譽分?jǐn)?shù),每計算3次信譽分?jǐn)?shù)則進(jìn)行1次主節(jié)點選舉,這種方法極大地提高了參與節(jié)點的共識積極性,確保了系統(tǒng)的安全與高效。

本設(shè)計以后臺服務(wù)開發(fā)為核心,將所設(shè)計的后臺系統(tǒng)作為連接客戶端、IPFS及Fabric區(qū)塊鏈的服務(wù)部件。分布式信任機制設(shè)計圖如圖4所示。數(shù)據(jù)存儲算法流程圖如圖5所示。

IPFS存儲文件的過程是分布式的,文件不是存儲在單個中心化服務(wù)器上,而是分布在多個節(jié)點上。因此,IPFS在存儲和傳輸文件方面具有較高的可靠性、安全性和效率。IPFS與區(qū)塊鏈結(jié)合,為構(gòu)建可信的分布式信任機制提供了一種創(chuàng)新的解決方案,并在未來的數(shù)字經(jīng)濟(jì)中得到了廣泛應(yīng)用。

當(dāng)大量數(shù)據(jù)需要可靠實時地存儲和驗證時,必須將數(shù)據(jù)以某種形式存入?yún)^(qū)塊鏈。傳統(tǒng)區(qū)塊鏈系統(tǒng)的數(shù)據(jù)存儲容量與速率非常低,無法存放大規(guī)模數(shù)據(jù)?;诖耍谩皡^(qū)塊鏈+分布式存儲”的方式可以解決大規(guī)模數(shù)據(jù)上鏈的問題,將原始數(shù)據(jù)存儲于分布式文件管理系統(tǒng)中,并將源文件的地址存儲于區(qū)塊鏈,用戶可以通過區(qū)塊鏈上文件的地址信息隨時獲取這些數(shù)據(jù)。同時,為了保證IPFS上的數(shù)據(jù)不被篡改,必須將文件的指紋(哈希算法結(jié)果)也一并存入?yún)^(qū)塊鏈,這樣用戶可以對鏈上數(shù)據(jù)進(jìn)行驗證,以確定數(shù)據(jù)的完整性與可靠性。

3 理論與實驗分析(Theoretical basis andexperimental analysis)

實驗采用Java編程語言設(shè)計開發(fā)出一個多節(jié)點高并發(fā)的區(qū)塊鏈系統(tǒng),在吞吐量、共識時延及通信開銷等方面與文獻(xiàn)[14]中的C-PBFT共識算法進(jìn)行實驗對比分析,系統(tǒng)開發(fā)配置信息為Intel(R) Core(TM) i5-7300HQ CPU@2.50GHz雙CPU和16 GB運行內(nèi)存,開發(fā)軟件使用操作系統(tǒng)的版本為Ubuntu 20.04,Node.js的版本為10.16.0,通過Docker搭建Hyperledger Fabric分布式集群和IPFS。

3.1 吞吐量

吞吐量對比是指通過在同一設(shè)備單位時間內(nèi)完成交易傳輸數(shù)據(jù)的數(shù)量,即TPS(Transaction Per Second),其公式如下:

其中:Transaction 為單位時間內(nèi)傳輸數(shù)據(jù)的數(shù)量,Δt 為傳輸數(shù)據(jù)所用的時間,吞吐量通常與硬件因素密切相關(guān),因此在相同硬件條件下,所設(shè)計的系統(tǒng)吞吐量越大,則表示系統(tǒng)共識效率越高。數(shù)據(jù)吞吐量對比結(jié)果如圖6所示。

圖6的橫坐標(biāo)代表節(jié)點數(shù)量,縱坐標(biāo)代表數(shù)據(jù)吞吐量。隨著節(jié)點數(shù)量的增加,3種算法的吞吐量都有一定幅度的減少,而在相同的節(jié)點數(shù)量下,TM-PBFT 的吞吐量明顯高于傳統(tǒng)PBFT算法的吞吐量,略微高于對照實驗的C-PBFT算法的吞吐量。并且,隨著節(jié)點的增加,即增加共識次數(shù),改進(jìn)后的TMPBFT算法在吞吐量方面有明顯的優(yōu)勢。

3.2 共識時延

共識時延對比是指不同共識算法在相同網(wǎng)絡(luò)架構(gòu)下的共識過程所需的時間延遲對比。通過對步長為4的節(jié)點數(shù)量進(jìn)行增加,確保實驗的準(zhǔn)確性。不同節(jié)點數(shù)量重復(fù)10次實驗,將10次實驗的時延總和的平均值作為最終結(jié)果,確保實驗的一般性。共識時延對比結(jié)果如圖7所示。

由圖7可知,共識時延與節(jié)點數(shù)量呈正相關(guān),即節(jié)點數(shù)量越多,則共識時延越久。優(yōu)化了一致性協(xié)議的TM-PBFT算法與C-PBFT算法和傳統(tǒng)PBFT算法相比,在共識時延方面具有顯著優(yōu)勢。

3.3 通信次數(shù)

通信次數(shù)是指各節(jié)點之間兩兩進(jìn)行信息傳遞的次數(shù)。通常情況下,通信次數(shù)越多,共識效率越低,傳統(tǒng)PBFT共識算法通信次數(shù)計算公式如下:

其中,K 為對節(jié)點進(jìn)行分組的簇數(shù)。對于本文設(shè)計的TMPBFT算法,同樣對節(jié)點進(jìn)行分簇處理,通過公式(10)計算得到通信總次數(shù):

利用公式(8)和公式(9)得到3個階段的通信次數(shù)對比結(jié)果如圖8所示。

實驗結(jié)果表明,在節(jié)點數(shù)量相同的情況下,分層對組內(nèi)節(jié)點進(jìn)行共識相比于原始的PBFT算法,通信次數(shù)大大降低,而在40個節(jié)點時,相較于傳統(tǒng)PBFT 算法,通信次數(shù)下降了85.8%,相較于C-PBFT算法,通信次數(shù)下降了27.7%,呈現(xiàn)出節(jié)點越多,TM-PBFT算法與傳統(tǒng)PBFT算法和C-PBFT算法的通信次數(shù)相差越大的趨勢。

4 結(jié)論(Conclusion)

通過對PBFT算法的深入研究,將改進(jìn)的PBFT共識算法同IPFS星際文件系統(tǒng)相結(jié)合,提出一種效率優(yōu)化的分布式信任機制。改進(jìn)后的共識算法有效地優(yōu)化了PBFT共識算法存在的通信復(fù)雜度高和通信效率低等問題;結(jié)合IPFS星際文件系統(tǒng),降低了鏈上存儲壓力;引入節(jié)點信譽模型避免了受到Sybil女巫攻擊、惡意節(jié)點充當(dāng)主節(jié)點及替補節(jié)點積極性不高等問題。對比實驗數(shù)據(jù)發(fā)現(xiàn),在共識時延、通信開銷、系統(tǒng)吞吐量及系統(tǒng)安全性等方面,本文提出的模型的表現(xiàn)明顯優(yōu)于傳統(tǒng)PBFT算法和C-PBFT算法,有效地提升了系統(tǒng)的共識效率、安全性和可靠性。但是,該模型仍有許多不足之處,后續(xù)將進(jìn)一步對節(jié)點的動態(tài)調(diào)整副本組成與分層分組進(jìn)行優(yōu)化,最大限度地降低通信復(fù)雜度。

猜你喜歡
區(qū)塊鏈技術(shù)
互聯(lián)網(wǎng)+電子病歷檔案大數(shù)據(jù)跨醫(yī)院共享信息安全保護(hù)機制探究
利用區(qū)塊鏈技術(shù)構(gòu)建農(nóng)村金融信息共享平臺研究
區(qū)塊鏈技術(shù)驅(qū)動互聯(lián)網(wǎng)金融模式創(chuàng)新
“一帶一路”下區(qū)塊鏈技術(shù)在金融領(lǐng)域的應(yīng)用研究
商情(2017年28期)2017-09-04 18:47:20
基于區(qū)塊鏈技術(shù)的供應(yīng)鏈應(yīng)用場景分析
卷宗(2017年23期)2017-09-02 03:23:49
基于區(qū)塊鏈的企業(yè)財務(wù)業(yè)務(wù)創(chuàng)新
會計之友(2017年15期)2017-08-17 09:18:15
利用區(qū)塊鏈技術(shù)開展國際結(jié)算的探討
區(qū)塊鏈技術(shù)對我國綠色金融發(fā)展的影響分析
西部金融(2017年5期)2017-07-27 00:17:24
基于區(qū)塊鏈技術(shù)的我國央行數(shù)字貨幣的前路展望
中國市場(2017年14期)2017-06-02 22:28:50
區(qū)塊鏈技術(shù)在電子檔案管理中的適用性和應(yīng)用展望
檔案管理(2017年3期)2017-05-08 22:23:00
阳朔县| 屯留县| 朝阳县| 武安市| 邵东县| 视频| 铁力市| 巴中市| 叙永县| 大宁县| 黄山市| 铁岭县| 黑山县| 沁源县| 四平市| 峨边| 准格尔旗| 鄂州市| 沧州市| 陵水| 湖北省| 云和县| 海阳市| 杭锦旗| 高要市| 永定县| 昌江| 灯塔市| 大渡口区| 锡林浩特市| 榆中县| 乌拉特后旗| 天水市| 广德县| 青岛市| 临夏县| 平罗县| 右玉县| 彭阳县| 雅江县| 全州县|