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

基于信任模型的PBFT共識機(jī)制研究

2022-08-10 08:22:24趙立瑾王新勝夏純中
計算機(jī)應(yīng)用與軟件 2022年7期
關(guān)鍵詞:機(jī)制故障信息

趙立瑾 王新勝 夏純中

1(江蘇大學(xué)計算機(jī)科學(xué)與通信工程學(xué)院 江蘇 鎮(zhèn)江 212013) 2(江蘇大學(xué)信息化中心 江蘇 鎮(zhèn)江 212000)

0 引 言

自誕生以來,區(qū)塊鏈以其解決第三方信任問題[1-2]的特性引起關(guān)注。其在技術(shù)上具有隱私保護(hù)性、不可篡改性;在業(yè)務(wù)上具有可信度高、安全性強(qiáng)等優(yōu)點(diǎn)[3]。

共識機(jī)制是區(qū)塊鏈完成數(shù)據(jù)一致性的核心機(jī)制[4]。常見共識機(jī)制有PBFT[5]、XFT[6]、Zyzzyva[7]、PoW[8]、Poxos[9]等。其中實(shí)用拜占庭容錯(PBFT)共識機(jī)制是主流共識機(jī)制之一,許多算法基于PBFT加以改進(jìn)[10-11]。

但這些算法都沒有解決以下問題:系統(tǒng)中往往存在惡意節(jié)點(diǎn),PBFT隨機(jī)選擇主節(jié)點(diǎn),惡意節(jié)點(diǎn)很可能成為主節(jié)點(diǎn),導(dǎo)致視圖切換頻繁,系統(tǒng)性能和穩(wěn)定性下降[12]。且PBFT容錯能力有限,較多惡意節(jié)點(diǎn)會導(dǎo)致共識完成周期過長,系統(tǒng)性能急劇下降[13-14]。

產(chǎn)生以上問題的主要原因是PBFT不提前評估節(jié)點(diǎn),僅運(yùn)行中識別節(jié)點(diǎn)行為,判定狀況。因此,對節(jié)點(diǎn)預(yù)評估和提前控制是可行的解決方法。P2P領(lǐng)域已有針對節(jié)點(diǎn)狀況的研究,但不完全適用于區(qū)塊鏈領(lǐng)域。

本文針對區(qū)塊鏈環(huán)境,引入并改進(jìn)P2P信任模型,提出一種基于信任模型的PBFT共識機(jī)制(TMPBFT)。通過信任模型判斷節(jié)點(diǎn)行為,評估節(jié)點(diǎn)信任值,以信任值區(qū)分各種節(jié)點(diǎn)狀態(tài),提高可信節(jié)點(diǎn)投票權(quán),限制惡意節(jié)點(diǎn)。并基于PBFT共識機(jī)制,應(yīng)用信任模型到一致性協(xié)議和視圖更換協(xié)議中,加強(qiáng)節(jié)點(diǎn)管控,提高系統(tǒng)穩(wěn)定性和容錯能力。

1 相關(guān)工作

Zhang等[15]提出一種基于PBFT的組層次算法,將節(jié)點(diǎn)分組共識以減少共識的消息復(fù)雜度。Feng等[16]提出一種可拓展的動態(tài)多代理分層PBFT算法,節(jié)點(diǎn)分為多個自治系統(tǒng)以減少系統(tǒng)延遲。Hao等[17]提出一種動態(tài)PBFT,解決了常規(guī)PBFT中存在的熱插拔節(jié)點(diǎn)以及處理惡意分類賬的問題。Feng等[18]在改進(jìn)的Rollerchain中利用分片技術(shù)和PBFT算法提出了一種可分片的區(qū)塊鏈協(xié)議。Wang等[19]提出了一種混合區(qū)塊鏈方法,該方法混合了區(qū)塊鏈架構(gòu),根據(jù)交易特征選擇相應(yīng)的共識機(jī)制。

以上相關(guān)研究在各方面對共識機(jī)制有所改進(jìn),但均未能解決PBFT不能預(yù)識別非正常節(jié)點(diǎn)的問題。

P2P信任模型研究評價網(wǎng)絡(luò)中節(jié)點(diǎn)的行為[20]。近年來,信任模型通過綜合多因素[21]的方式獲取對節(jié)點(diǎn)的準(zhǔn)確評估。

故本文提出一種結(jié)合區(qū)塊鏈特點(diǎn),綜合時間、參與頻度、具體表現(xiàn)等相關(guān)因素的信任模型,并應(yīng)用在PBFT中,以解決PBFT無法預(yù)識別非正常節(jié)點(diǎn)的問題。

2 基于信任模型的PBFT共識機(jī)制

2.1 信任模型

信任模型通過節(jié)點(diǎn)行為評估信任值,借助信任值區(qū)分節(jié)點(diǎn)信任狀態(tài),賦予不同信任狀態(tài)節(jié)點(diǎn)不同權(quán)限。

2.1.1總體框架

節(jié)點(diǎn)行為分類及內(nèi)容情況如表1所示。

表1 節(jié)點(diǎn)行為分類和具體內(nèi)容情況表

可以看出,節(jié)點(diǎn)不同行為會導(dǎo)致信任值變化。信任值是用于反映節(jié)點(diǎn)狀況的數(shù)值,值域?yàn)閇0,1],由Cij表示,代表Nodeij(組織i中的節(jié)點(diǎn)j)的信任值,組織是承擔(dān)數(shù)據(jù)信用責(zé)任的區(qū)塊鏈系統(tǒng)參與方。Cij大小決定節(jié)點(diǎn)信任狀態(tài)。初始信任值為Cinit,默認(rèn)為0.5。

節(jié)點(diǎn)信任狀態(tài)定義如表2所示。

表2 節(jié)點(diǎn)信任狀態(tài)定義表

表2中,Cgood、Cnormal、Cbad分別代表了可信、普通、故障節(jié)點(diǎn)的信任值下限。其中可信節(jié)點(diǎn)會積極驗(yàn)證和傳遞信息;普通節(jié)點(diǎn)有部分故障行為,偶然延遲信息傳遞;故障節(jié)點(diǎn)故障行為較多,明顯延緩信息傳播;惡意節(jié)點(diǎn)極有可能篡改信息或消極傳播信息。

如表3所示,惡意節(jié)點(diǎn)為備份節(jié)點(diǎn),于10次共識后信任值提升為Cbad,作為故障節(jié)點(diǎn)參與共識。而在無可信節(jié)點(diǎn)時,普通節(jié)點(diǎn)作為主節(jié)點(diǎn)。

表3 節(jié)點(diǎn)信任狀態(tài)及權(quán)限表

投票權(quán)是節(jié)點(diǎn)確認(rèn)信息的影響力。普通、故障節(jié)點(diǎn)投票權(quán)分別為1和0.5。惡意節(jié)點(diǎn)無投票權(quán)。可信節(jié)點(diǎn)投票權(quán)最高,由Vgood表示,計算如下:

(1)

式中:Ngood和Nbad分別表示可信和故障節(jié)點(diǎn)數(shù)量。

2.1.2信任值計算因素

信任值計算因素體現(xiàn)節(jié)點(diǎn)情況,用于計算信任值。

定義1節(jié)點(diǎn)活躍度。節(jié)點(diǎn)活躍度指受評節(jié)點(diǎn)在一定時間內(nèi)參與共識的頻度,節(jié)點(diǎn)活躍度可通過函數(shù)ρ(n)表示,計算如下:

(2)

式中:n為節(jié)點(diǎn)參與共識次數(shù);參數(shù)a(a∈Z,a≥1)可調(diào)節(jié)增長速度。ρ(n)值隨n值增大而增大。

定義2節(jié)點(diǎn)共識完成率。節(jié)點(diǎn)共識完成率指受評節(jié)點(diǎn)參與共識的完成頻度。由共識完成率γ表示,值越大表現(xiàn)越好,計算如下:

(3)

式中:s為正常完成共識次數(shù);n為參與共識次數(shù)。

定義3歷史影響度。歷史影響度是指節(jié)點(diǎn)歷史信任值對當(dāng)前信任值影響程度。歷史影響度ω(Δt)計算如下:

(4)

式中:Δt為當(dāng)前時間與上次共識時間的時間間隔;參數(shù)λ(λ∈Z,λ>0)可調(diào)整影響變化程度。ω(Δt)值隨Δt增大而減小,其值越小歷史信任值影響越小。

定義4事務(wù)影響因子。事務(wù)影響因子標(biāo)識事務(wù)重要程度。設(shè)交易重要性參數(shù)為m,事務(wù)影響因子計算函數(shù)F(m)計算如下:

(5)

式中:M0為交易重要性參數(shù)的閾值;F(m)值隨m值增大而增大,F(xiàn)(m)越大表示事務(wù)重要程度越高。

定義5行為評價值。行為評價值指依據(jù)受評節(jié)點(diǎn)參與共識的表現(xiàn),給予節(jié)點(diǎn)的相應(yīng)評價值。行為評價值E計算如下:

(6)

式中:t為節(jié)點(diǎn)完成共識用時;c(c∈Z,c≥1)為評價值調(diào)節(jié)因子;g為同意信息的節(jié)點(diǎn)數(shù)量;N為節(jié)點(diǎn)總數(shù)量。式(6)中,節(jié)點(diǎn)在大多數(shù)節(jié)點(diǎn)認(rèn)同信息時,完成共識用時越短,評價越高。其他情況都將導(dǎo)致評價值較低。

2.1.3信任值計算

信任值Cij是受評節(jié)點(diǎn)Nodeij在共識中的綜合評價。信任值計算如下:

(7)

式中:Cinit為信任值初值。式(7)結(jié)合定義2-定義6中因素,綜合往次共識情況計算,以精確反映節(jié)點(diǎn)情況。

式(7)偽代碼如算法1所示。

算法1信任值計算

輸入:n,s,Δt,m,t,g。

輸出:Cij。

1.P=e^(-a/n)

//節(jié)點(diǎn)活躍度計算

2.for (i=0;i

3.if (m

4.elseF=1

//事務(wù)影響因子計算

5.W=0.5^(Δt/r)

//歷史影響度計算

6.E=(0.5^(c*t))*g/N

//行為評價值計算

7.if (E>0.5)R=((s+1)/(n+1))^0.5

8.elseR=((s+1)/n)^0.5

//節(jié)點(diǎn)共識完成率計算

9.Cij=E*W*F/W/F+Cij}

10.Cij=P*R*Sij+(1-P)*C0

//信任值計算

2.1.4信任值更新

每次共識后,需及時更新節(jié)點(diǎn)信任值,以客觀體現(xiàn)信任值變化,并根據(jù)信任值確定節(jié)點(diǎn)信任狀態(tài)。

設(shè)共識前節(jié)點(diǎn)共識信任值為Tij,本次共識中節(jié)點(diǎn)共識信任值計算為Sij,信任值更新計算如下:

(8)

式中:θ為信任值更新調(diào)節(jié)因子。式(8)中若節(jié)點(diǎn)本次信任值高于往次,將適當(dāng)調(diào)高信任值,反之調(diào)低。

節(jié)點(diǎn)若離線,Cij會衰減,即每次共識式(8)中Sij值為Cinit。直到Cij∈[0.9×Cinit,1.1×Cinit],或節(jié)點(diǎn)上線。

信任值更新調(diào)節(jié)因子θ(0≤θ≤1)由式(9)確定:

(9)

其使信任值與上次信任值差距較大時,較小的信任值所占權(quán)重較大。可避免節(jié)點(diǎn)的反常行為得逞。

式(9)偽代碼如算法2所示。

算法2信任值更新

輸入:Sij,Tij。

輸出:Cij。

1.if (節(jié)點(diǎn)本次有惡意行為) {Cij=0}

2.else {

3.if (Sij/Tij>=0.5)B=Tij/2/Sij

4.elseB=1 }

//信任值調(diào)節(jié)因子計算

5.Cij=B*Sij+(1-B)*Tij

//信任值更新

6.廣播Cij

2.2 一致性協(xié)議

本文結(jié)合信任模型設(shè)計協(xié)議,令協(xié)議在達(dá)成數(shù)據(jù)一致性的同時,分辨節(jié)點(diǎn)信任狀態(tài)。具體過程如下。

pre-prepare階段:主節(jié)點(diǎn)驗(yàn)證客戶端信息后,發(fā)送預(yù)準(zhǔn)備信息給副本節(jié)點(diǎn),進(jìn)入prepare階段;副本節(jié)點(diǎn)收到并驗(yàn)證預(yù)準(zhǔn)備信息后,進(jìn)入prepare階段。

prepare階段:副本節(jié)點(diǎn)發(fā)送準(zhǔn)備信息給所有節(jié)點(diǎn),收到其他節(jié)點(diǎn)發(fā)送的2×f(f為節(jié)點(diǎn)總數(shù)的三分之一)條準(zhǔn)備信息后,驗(yàn)證所有準(zhǔn)備信息,驗(yàn)證通過后進(jìn)入commit階段。記錄節(jié)點(diǎn)行為。

commit階段:所有節(jié)點(diǎn)發(fā)提交信息給其他節(jié)點(diǎn),收到2×f條提交信息后,驗(yàn)證所有提交信息,驗(yàn)證通過后執(zhí)行客戶端請求。記錄節(jié)點(diǎn)行為,計算并更新節(jié)點(diǎn)信任值和節(jié)點(diǎn)信任狀態(tài)。

2.3 視圖更換協(xié)議

本文提出的視圖更換協(xié)議中,主節(jié)點(diǎn)在可信狀態(tài)的節(jié)點(diǎn)中隨機(jī)選擇。具體過程如下(設(shè)當(dāng)前視圖為v)。

view-change階段:副本節(jié)點(diǎn)進(jìn)入視圖v+1,隨機(jī)從信任狀態(tài)為可信節(jié)點(diǎn)的節(jié)點(diǎn)中選一個非活動節(jié)點(diǎn)作為主節(jié)點(diǎn)。副本節(jié)點(diǎn)向其他節(jié)點(diǎn)發(fā)view-change信息。

view-change-ack階段:節(jié)點(diǎn)收到2×f+1條view-change信息后,發(fā)送view-change-ack信息到視圖v+1的主節(jié)點(diǎn)。新主節(jié)點(diǎn)收到view-change信息和view-change-ack信息后進(jìn)入new-view階段。

new-view階段:新主節(jié)點(diǎn)選擇檢查點(diǎn)作為new-view請求初始狀態(tài),根據(jù)本地區(qū)塊鏈數(shù)據(jù)執(zhí)行一致性協(xié)議。

3 實(shí)驗(yàn)分析

根據(jù)基于信任模型的PBFT共識機(jī)制,實(shí)現(xiàn)了一個實(shí)驗(yàn)系統(tǒng)。實(shí)驗(yàn)系統(tǒng)為Ubuntu 16.04.6 LTS 64位,實(shí)驗(yàn)平臺為Hyperledger Fabric v0.6。

3.1 節(jié)點(diǎn)信任值獎勵及懲罰

圖1中實(shí)驗(yàn)展示的是節(jié)點(diǎn)行為評價較高時,普通節(jié)點(diǎn)信任值獎勵的情況。

圖1 信任值獎勵

圖2展示了是節(jié)點(diǎn)行為評價較低時,普通節(jié)點(diǎn)信任值獎勵的情況。

圖2 信任值懲罰

綜合圖1、圖2情況,活躍度調(diào)節(jié)因子a值越小,信任值獎勵增速越高,懲罰降速越低。故系統(tǒng)可信度高時可設(shè)置較小a值。節(jié)點(diǎn)連續(xù)表現(xiàn)良好時信任值獎勵大,節(jié)點(diǎn)連續(xù)表現(xiàn)差時信任值懲罰大,但都有限度。

圖3中實(shí)驗(yàn)展示的是節(jié)點(diǎn)行為評價較高時,故障節(jié)點(diǎn)與普通節(jié)點(diǎn)信任值獎勵相比較的情況。

圖3 故障節(jié)點(diǎn)與普通節(jié)點(diǎn)信任值獎勵比較

可以看出,故障節(jié)點(diǎn)信任值增長速率明顯較普通節(jié)點(diǎn)低。因?yàn)楣?jié)點(diǎn)共識完成率記錄了節(jié)點(diǎn)表現(xiàn),歷史故障或惡意行為會對當(dāng)前信任值獎勵有負(fù)面影響。

3.2 節(jié)點(diǎn)信任值排名

圖4實(shí)驗(yàn)展示的是某幾個不同信任狀態(tài)的節(jié)點(diǎn)在共識中的節(jié)點(diǎn)信任值排名。

圖4 節(jié)點(diǎn)的信任值排名變化情況

圖4中,整體排名高到低分別是可信、普通、故障、惡意節(jié)點(diǎn)。因?yàn)榘凑湛尚拧⑵胀ê凸收瞎?jié)點(diǎn)的順序,故障行為占總行為比例逐漸上升。結(jié)果表明信任模型可有效識別節(jié)點(diǎn)信任狀態(tài)。

3.3 惡意節(jié)點(diǎn)占比

圖5展示了惡意節(jié)點(diǎn)占比的變化情況。

圖5 惡意節(jié)點(diǎn)占比變化

可以看出,PBFT惡意節(jié)點(diǎn)占比不變,TMPBFT逐漸降低。因?yàn)門MPBFT使用信任模型識別限制惡意節(jié)點(diǎn),減少了系統(tǒng)中的惡意節(jié)點(diǎn),提高了容錯能力。

3.4 系統(tǒng)運(yùn)行吞吐率以及延遲

圖6、圖7展示了TMPBFT吞吐率和延遲與PBFT比較情況,系統(tǒng)中存在惡意節(jié)點(diǎn)。

圖6 TMPBFT與PBFT的吞吐率比較情況

圖7 TMPBFT與PBFT延遲比較情況

圖6、圖7中,TMPBFT在運(yùn)行時整體吞吐率較PBFT高,延遲較PBFT低。因?yàn)門MPBFT在逐步限制惡意節(jié)點(diǎn)的同時,會降低故障節(jié)點(diǎn)投票權(quán),提高可信節(jié)點(diǎn)投票權(quán),以此在達(dá)成超過三分之二節(jié)點(diǎn)投票權(quán)的前提下降低了達(dá)成共識所需節(jié)點(diǎn)數(shù),提高了系統(tǒng)整體性能。

4 結(jié) 語

針對PBFT無法預(yù)判斷和控制節(jié)點(diǎn)的問題,本文提出一種基于信任模型的PBFT共識機(jī)制(TMPBFT)。構(gòu)建信任模型,判斷節(jié)點(diǎn)行為,通過信任值體現(xiàn)節(jié)點(diǎn)信任狀態(tài),區(qū)分節(jié)點(diǎn),提高可信節(jié)點(diǎn)投票權(quán),限制惡意節(jié)點(diǎn)。并基于PBFT共識機(jī)制,結(jié)合信任模型改進(jìn)設(shè)計一致性協(xié)議和視圖更換協(xié)議,加強(qiáng)了節(jié)點(diǎn)的管理,促進(jìn)了性能提升,提高了系統(tǒng)的穩(wěn)定性及容錯能力。

猜你喜歡
機(jī)制故障信息
故障一點(diǎn)通
自制力是一種很好的篩選機(jī)制
文苑(2018年21期)2018-11-09 01:23:06
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
奔馳R320車ABS、ESP故障燈異常點(diǎn)亮
破除舊機(jī)制要分步推進(jìn)
故障一點(diǎn)通
江淮車故障3例
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
注重機(jī)制的相互配合
打基礎(chǔ) 抓機(jī)制 顯成效
中國火炬(2014年4期)2014-07-24 14:22:19
主站蜘蛛池模板: 2022精品国偷自产免费观看| 欧美日韩亚洲国产主播第一区| 亚洲免费毛片| 亚洲一区二区黄色| 国产网友愉拍精品视频| 亚洲区第一页| 激情综合五月网| a级毛片网| 亚洲综合第一区| 亚洲人成网站观看在线观看| 99国产精品一区二区| 国产欧美性爱网| 久久精品亚洲热综合一区二区| 日韩精品免费在线视频| 欧美日韩国产在线观看一区二区三区| 亚洲欧美另类专区| 精品福利一区二区免费视频| 久久精品中文字幕少妇| 国产精品高清国产三级囯产AV| 免费欧美一级| 久久精品国产电影| 热久久这里是精品6免费观看| 亚洲欧美日韩中文字幕在线| 99精品国产高清一区二区| 99久视频| 亚瑟天堂久久一区二区影院| 在线观看免费国产| 国产一区二区网站| 久久亚洲国产视频| 久久国产高潮流白浆免费观看| 国产精品污污在线观看网站| 亚洲天堂精品视频| 国产屁屁影院| 中文字幕亚洲电影| 久久黄色影院| 成人噜噜噜视频在线观看| 青青国产成人免费精品视频| 天天综合网色中文字幕| 广东一级毛片| 国产熟睡乱子伦视频网站| 亚洲国产成人超福利久久精品| 麻豆精品久久久久久久99蜜桃| 91精品国产91久久久久久三级| 亚洲色图另类| 九色综合视频网| 毛片久久久| 国产精品美女网站| 一级一级一片免费| 久久人搡人人玩人妻精品| 熟女日韩精品2区| h视频在线播放| 国产亚洲欧美在线人成aaaa | 无码一区二区三区视频在线播放| 免费一级毛片在线观看| 亚洲第一av网站| 五月激情综合网| 亚洲高清中文字幕在线看不卡| 亚洲天堂网站在线| 四虎成人精品在永久免费| 日韩一二三区视频精品| 亚洲国产理论片在线播放| 91精品国产无线乱码在线| 国产精品hd在线播放| 欧美国产日产一区二区| 婷婷亚洲最大| 青青网在线国产| 精品无码一区二区三区在线视频| 天天躁狠狠躁| 日本高清在线看免费观看| A级全黄试看30分钟小视频| 亚洲成人播放| 国产高清在线丝袜精品一区| 88av在线| 亚洲国产成人久久精品软件 | 日韩av在线直播| 666精品国产精品亚洲| 91福利国产成人精品导航| 丁香婷婷激情网| 爆乳熟妇一区二区三区| 人妻精品久久无码区| 国产在线拍偷自揄观看视频网站| 国产婬乱a一级毛片多女|