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

Hyperledger Fabric共識機制優(yōu)化

2023-06-03 12:12:40汪健
電腦知識與技術 2023年10期

汪健

關鍵詞: Hyperledger Fabric; 背書節(jié)點; 共識機制; 作惡節(jié)點; 區(qū)塊鏈

中圖分類號:TP393 文獻標識碼:A

文章編號:1009-3044(2023)10-0087-03

區(qū)塊鏈技術起源于2008年中本聰發(fā)表的白皮書《一種點對點的電子現(xiàn)金系統(tǒng)》[1]。作為區(qū)塊鏈技術的首個應用,比特幣解決了傳統(tǒng)的雙花問題[2],在節(jié)點之間實現(xiàn)了無第三方監(jiān)管下的資產(chǎn)交換。2013年,Vi?talik Buterin發(fā)布了以太坊黃皮書[3]。以太坊作為可編程的區(qū)塊鏈平臺,能夠讓開發(fā)者將業(yè)務邏輯編寫成相應的智能合約[4]并部署到區(qū)塊鏈網(wǎng)絡上,執(zhí)行更復雜的鏈上操作。

根據(jù)應用場景不同,區(qū)塊鏈逐步發(fā)展成兩種主要類型:公有鏈、聯(lián)盟鏈。公有鏈一般采用Pow(Proof ofWork)、Pos(Proof of Stake)[5]等具備代幣激勵的共識機制[6],性能上普遍存在缺陷。技術人員為了提高區(qū)塊鏈的執(zhí)行效率,提出了聯(lián)盟鏈[7]。然而,聯(lián)盟鏈對背書節(jié)點高度信任,當面對交易結果不一致的情況會立即認定交易共識失敗,若這類存在問題的節(jié)點過多,就會導致聯(lián)盟鏈執(zhí)行效率較低。

為解決現(xiàn)階段聯(lián)盟鏈存在的安全性問題,文章提出了一種基于背書節(jié)點行為的聯(lián)盟鏈共識機制優(yōu)化方案。在聯(lián)盟鏈Hyperledger Fabric平臺中引入背書節(jié)點行為監(jiān)測模塊,為背書節(jié)點添加能力值屬性指標。能力值的大小取決于背書節(jié)點的背書行為,能反映背書節(jié)點背書行為的優(yōu)劣,可作為辨別節(jié)點狀態(tài)的依據(jù)。對成功達成交易共識的背書節(jié)點給予獎勵,即提升能力值。對阻礙交易達成共識的節(jié)點給予懲罰,即扣除能力值。最終,存在安全隱患的背書節(jié)點的能力值會低于系統(tǒng)人員預先設定的閾值,被認定為作惡節(jié)點,失去參與背書的權利。這種方式規(guī)范聯(lián)盟鏈中各背書節(jié)點的行為,提高交易成功達成共識的概率,有利于系統(tǒng)的正常運行。

1 相關技術

1.1 共識機制

區(qū)塊鏈是一種去中心化的分布式賬本[8],旨在解決多個對等節(jié)點在不可信環(huán)境下的信任問題[9]。共識機制是區(qū)塊鏈技術的核心,是達成分布式一致性的關鍵。比特幣和以太坊當前采用的是Pow機制,以算力為代價,競選出有資格打包區(qū)塊交易的節(jié)點,實現(xiàn)區(qū)塊內數(shù)據(jù)的統(tǒng)一。

為了減少資源浪費的情況,后面又出現(xiàn)了Pos等新型共識算法。相較于Pow,Pos不需要算力競爭,系統(tǒng)將記賬的權利交給權益最高的節(jié)點。這種方式能快速選出記賬節(jié)點,提升區(qū)塊鏈系統(tǒng)的吞吐量。2013 年,比特股項目提出了Dpos(Delegated Proof of Stake)機制[10],通過節(jié)點投票的方式選出N個記賬節(jié)點,然后由這些領袖節(jié)點輪流執(zhí)行記賬行為。相較于Pos,影響力較小的節(jié)點有更大的機會通過投票來獲取記賬的獎勵。

1.2 Hyperledger Fabric

Hyperledger Fabric 是開源的企業(yè)級許可分布式賬本技術平臺,其架構具有高度模塊化和可插拔的特點[11]。如圖1所示,系統(tǒng)中的節(jié)點扮演著不同的角色,承擔不同的職能。客戶端發(fā)起交易,背書節(jié)點依據(jù)提前部署的鏈碼(即智能合約)模擬交易的執(zhí)行,排序節(jié)點負責將從客戶端發(fā)送過來的交易有序打包成區(qū)塊,并廣播出去。提交節(jié)點接收排序節(jié)點廣播的區(qū)塊,檢查無誤后執(zhí)行上鏈操作,完成區(qū)塊鏈的更新。

2 總體設計

2.1 架構設計

為及時發(fā)現(xiàn)作惡節(jié)點,本文的方案進行了如圖2 所示的總體架構設計。方案在原共識機制的基礎上增加了基于節(jié)點行為的行為監(jiān)測模塊。當客戶端收到各背書節(jié)點傳來的背書信息時,會將必要的相關信息發(fā)送給行為監(jiān)測模塊,該步驟是分析背書節(jié)點行為表現(xiàn)的前提。第三方模塊將對背書行為進行分析,并對行為做出判定并反饋到對應節(jié)點的能力值的數(shù)值變化上,最終通過節(jié)點的能力值得知各節(jié)點的狀態(tài)。

通過增加背書節(jié)點的行為監(jiān)測模塊,優(yōu)化后的方案解決了以下問題:一方面,無論交易成功與否,背書節(jié)點的行為都會被記錄下來。與原方案相比,失敗交易的相關信息被記錄了下來,為我們對節(jié)點狀態(tài)進行分析提供評判依據(jù)。另一方面,直接通過節(jié)點能力值的大小便能得知節(jié)點狀態(tài)的好壞,可及時對存在問題的背書節(jié)點進行檢查和處理,避免了因難以排查作惡節(jié)點而導致的系統(tǒng)長時間處于故障狀態(tài)。

2.2 行為監(jiān)測模塊設計

行為監(jiān)測模塊是在Hyperledger Fabric 架構的基礎上添加的第三方服務,目的是及時發(fā)現(xiàn)存在作惡風險的背書節(jié)點,為聯(lián)盟鏈系統(tǒng)的安全防護提供數(shù)據(jù)支持。該模塊包含三個主要步驟,分別是記錄背書行為、分析背書行為、更新節(jié)點能力值。下面將依次對這三個步驟進行介紹。

2.2.1 記錄背書行為

背書節(jié)點每輪的交易執(zhí)行情況是分析背書節(jié)點行為的基礎,所以客戶端需要將能反映節(jié)點行為的相關信息發(fā)給監(jiān)測模塊。各背書節(jié)點的公鑰及對應的讀寫集就能直觀地反映節(jié)點的背書行為,但考慮到讀寫集中的數(shù)據(jù)可能包含與實際業(yè)務相關的重要信息,直接將讀寫集內容暴露在區(qū)塊鏈之外會導致隱私泄露。于是,本文將背書節(jié)點公鑰pubKey和對應讀寫集的哈希值hashRwset保存在一個Map類型的集合變量behaviorMap 中,作為反映背書節(jié)點身份及背書行為的信息發(fā)送給節(jié)點監(jiān)測模塊。因為哈希函數(shù)具有防碰撞性,所以保證了內容相同的讀寫集經(jīng)過哈希函數(shù)運算后得到的哈希值也一定相同。通過對比哈希值便可知道各背書節(jié)點的背書結果是否一致,使得鏈上數(shù)據(jù)的隱私性得以保證。

2.2.2 分析背書行為

接收到包含背書信息的Map變量后,要立刻對背書行為信息進行分析,判斷本次背書服務中各節(jié)點背書行為的優(yōu)劣。在共識機制改進前,同一筆交易的輸入以及調用的鏈碼是相同的,背書節(jié)點模擬交易執(zhí)行后得到的讀寫集也是相同的。所以客戶端通過比較各背書結果中的讀寫集是否一致來判斷背書服務是否正常執(zhí)行。由于聯(lián)盟鏈中的背書節(jié)點通常由十分可靠的企業(yè)或機構運作,于是本文只考慮極少數(shù)背書節(jié)點成為作惡節(jié)點的情況,即設定作惡節(jié)點數(shù)量占總節(jié)點數(shù)比例不超過10%。所以,多數(shù)背書節(jié)點會給出相同讀寫集,behaviorMap的值集合中重復次數(shù)最多的hashRwset會被認定為合理的讀寫集。

首先,行為監(jiān)測模塊遍歷包含背書節(jié)點行為信息的behaviorMap中的值集合,利用unique函數(shù)得到去掉重復的元素的數(shù)組,再通過classify 函數(shù)根據(jù)hashRwset的大小將節(jié)點公鑰pubKey進行分組。當不存在作惡節(jié)點時,所有的hashRwset都相同,即只存在一個分組;當存在作惡節(jié)點時,behaviorMap的值集合中就會存在不相同的hashRwset,即鍵集合中的pub?Key會因hashRwset不同被分配到不同的數(shù)組。

然后,計算各數(shù)組的元素個數(shù)與背書節(jié)點總數(shù)的比值。比值最大的數(shù)組包含的pubKey信息代表本次交易中背書行為正常的背書節(jié)點,而其他分組內的pubKey信息所代表的背書節(jié)點則被認定為背書行為異常,存在作惡的可能。針對不同的背書行為表現(xiàn),本文將通過調整節(jié)點能力值的大小來對相關的節(jié)點實施獎懲。

2.2.3 更新節(jié)點能力值

節(jié)點能力值的大小是評判節(jié)點狀態(tài)的重要依據(jù)。對于讀寫集一致的交易,本文對所有參與的背書節(jié)點給予獎勵;對于讀寫集不一致的交易,本文只懲罰給出異常結果的背書節(jié)點,對給出正常結果的節(jié)點不做任何處理。本文根據(jù)能力值的大小將背書節(jié)點分為誠實節(jié)點和作惡節(jié)點兩種,作惡節(jié)點會被系統(tǒng)管理員及時清除。

judgeMap 是保存單次各節(jié)點背書表現(xiàn)情況的集合。當所有背書結果一致時,judgeMap 集合中包含所有參與背書的背書節(jié)點公鑰。當背書結果不一致時,judgeMap 集合中只包含背書行為異常的背書節(jié)點公鑰。獎懲函數(shù)通過遍歷judgeMap,依照行為表現(xiàn)的好壞對相關節(jié)點的能力值進行更新并保存到反映節(jié)點狀態(tài)的集合變量stateMap 中。最后,系統(tǒng)管理員便可通過檢查stateMap 中節(jié)點對應的能力值,就能判斷當前背書節(jié)點的狀態(tài),及時發(fā)現(xiàn)作惡節(jié)點。

3 實驗驗證與分析

3.1 實驗基本設置

論文在64 位的Ubuntu 16.04 系統(tǒng)下,選擇Hy?perledger Fabric V1.4版本,使用Java編程語言模擬部分共識流程,進行實驗仿真測試。

為了驗證優(yōu)化方案是否能規(guī)范背書節(jié)點的行為并提高交易達成共識的概率,論文對優(yōu)化前和優(yōu)化后的聯(lián)盟鏈進行了實驗仿真。首先,在聯(lián)盟鏈中配置50 個背書節(jié)點,并依照作惡節(jié)點個數(shù)將實驗按表1所示分成三組。然后,規(guī)定交易提案的標準輸出為1或0,即背書節(jié)點執(zhí)行完鏈碼返回的值只能是1或0。設定能力值初始值為5,上限為10,閾值為0。最后,每組實驗需要分別在優(yōu)化前、優(yōu)化后進行100次模擬交易。

為了體現(xiàn)作惡節(jié)點對交易執(zhí)行的隨意性,利用內置函數(shù)取0~100的隨機數(shù),將其奇偶性的判斷結果轉換為1或0,并將其作為該節(jié)點的交易輸出。同時,將誠實節(jié)點的交易輸出保持一致,設定為1。

3.2 共識結果分析

三組實驗的共識達成情況如圖3所示,橫坐標表示不同的組,縱坐標表示交易的輪數(shù),其中柱狀圖的高度代表了100輪交易中交易達成共識的次數(shù)。第一組實驗中設有一個作惡節(jié)點,優(yōu)化前、后交易成功達成共識的次數(shù)分別為46、94,優(yōu)化后的成功率高出48%。第二組實驗中設有兩個作惡節(jié)點,優(yōu)化前、后交易成功達成共識的次數(shù)分別為31、89,優(yōu)化后的成功率高出58%。第三組實驗中設有三個作惡節(jié)點,優(yōu)化前、后交易成功達成共識的次數(shù)分別為8、90,優(yōu)化后的成功率高出82%。

通過實驗結果數(shù)據(jù)可以看出,基于傳統(tǒng)分布式一致性算法的聯(lián)盟鏈無法有效地應對系統(tǒng)中存在作惡節(jié)點的場景,作惡節(jié)點個數(shù)的增多會大幅降低交易達成共識的概率。同時,優(yōu)化后的聯(lián)盟鏈能較好地應對存在作惡節(jié)點的場景,通過及時發(fā)現(xiàn)并清除作惡節(jié)點,提高了交易成功達成共識的概率。

3.3 節(jié)點能力值分析

優(yōu)化后的聯(lián)盟鏈保持較高共識成功率的原因是作惡節(jié)點因能力值過低被及時剝奪了交易背書的權利,后續(xù)交易的進行不再受到作惡節(jié)點的影響。如圖4所示,論文選取了第二組實驗中各類節(jié)點的能力值作為分析的依據(jù)。其中,橫坐標表示交易的輪數(shù),縱坐標表示節(jié)點的能力值大小。菱形坐標點連接的折線反映作惡節(jié)點1的能力值變化,方形坐標點連接的折線反映作惡節(jié)點2的能力值變化,三角形坐標點連接的折線反映誠實節(jié)點的能力值變化。從圖6可以發(fā)現(xiàn)兩個作惡節(jié)點分別在第10輪、第17輪交易后因能力值低于閾值0而被取消交易背書的資格。第17輪交易結束后,系統(tǒng)內只剩下48個表現(xiàn)良好的誠實節(jié)點,因此后續(xù)交易得以輕松地達成共識。

上述實驗結果表明,優(yōu)化后的聯(lián)盟鏈能及時地通過與節(jié)點行為緊密相關的能力值屬性展示背書節(jié)點表現(xiàn)的優(yōu)劣,對背書節(jié)點的行為實現(xiàn)了良好的監(jiān)控與約束效果,保證了后續(xù)交易的正常執(zhí)行。

4 結束語

本文分析了聯(lián)盟鏈在交易執(zhí)行過程中的不足,結合傳統(tǒng)公鏈的共識激勵機制,提出了一種基于背書節(jié)點行為的聯(lián)盟鏈共識機制優(yōu)化方案。利用對能力值大小的動態(tài)調整對背書節(jié)點的背書行為進行實時監(jiān)控,及時發(fā)現(xiàn)并處理系統(tǒng)中的作惡節(jié)點。但是,本文的方案僅適用于聯(lián)盟鏈,因為嚴格的準入機制已經(jīng)在一定程度上保證了背書節(jié)點信用問題。面對準入要求低的公鏈,可能出現(xiàn)大量的作惡節(jié)點,未來還需針對公鏈場景下的共識機制進行深入研究。

主站蜘蛛池模板: 狼友视频国产精品首页| 亚洲AV无码一区二区三区牲色| 国产jizzjizz视频| 亚洲天堂区| 国产在线视频自拍| 亚洲高清无在码在线无弹窗| 91年精品国产福利线观看久久| 国产福利小视频高清在线观看| 免费一级大毛片a一观看不卡| 99青青青精品视频在线| 最新精品久久精品| 免费观看精品视频999| 色悠久久久| www精品久久| 国产免费久久精品99re不卡| 大学生久久香蕉国产线观看| 永久免费AⅤ无码网站在线观看| 久久亚洲美女精品国产精品| 国产在线视频福利资源站| 国产电话自拍伊人| 无码丝袜人妻| 国产精品刺激对白在线| 国产人妖视频一区在线观看| 99视频全部免费| 丁香婷婷激情网| 国产精品开放后亚洲| 亚洲视频二| 欧美日韩在线亚洲国产人| 日本在线欧美在线| 最新国产你懂的在线网址| 国产精品成人免费综合| a欧美在线| 国产色爱av资源综合区| 国产欧美精品一区二区| 992Tv视频国产精品| 精品视频第一页| 免费国产福利| 亚洲精品免费网站| 欧美一级大片在线观看| 国产一线在线| 精品无码专区亚洲| 干中文字幕| 全部免费特黄特色大片视频| 中文字幕在线日韩91| 国产成人亚洲精品蜜芽影院| 国产成人福利在线视老湿机| 久久久精品无码一二三区| 偷拍久久网| 欧美成人精品一级在线观看| 亚洲精品无码成人片在线观看| 26uuu国产精品视频| 亚洲欧美一区二区三区蜜芽| 日韩视频福利| 成人免费视频一区| 熟妇丰满人妻av无码区| 亚洲人成亚洲精品| 欧美中文字幕第一页线路一| 日韩高清成人| 91亚洲国产视频| 国产精品久久久久鬼色| 色悠久久综合| 国产真实乱人视频| 另类综合视频| 毛片免费在线视频| 国外欧美一区另类中文字幕| 久久这里只有精品国产99| 色综合天天综合| 国产成人久久综合777777麻豆| 国产aⅴ无码专区亚洲av综合网| 国产一二三区在线| 97超爽成人免费视频在线播放| 在线观看国产精品第一区免费| 亚洲成人黄色在线观看| 亚洲欧美成人在线视频| 国产专区综合另类日韩一区| 欧美激情视频在线观看一区| 国产真实乱子伦视频播放| 国产传媒一区二区三区四区五区| www.国产福利| 成人免费黄色小视频| 国产区免费精品视频| 538国产视频|