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

基于物聯網區塊鏈的輕量級共識算法研究

2023-02-20 09:38:52蘇瑞國陽建秦繼偉武曉雄賈振紅
計算機工程 2023年2期
關鍵詞:設備

蘇瑞國,陽建,秦繼偉,武曉雄,賈振紅

(新疆大學 信息科學與工程學院,烏魯木齊 830046)

0 概述

目前,物聯網(Internet of Things,IoT)技術已經廣泛應用于工業自動化、電子健康、物流等領域的智能系統中[1],這些智能系統通過大規模復雜的工業物聯網實現自動化和高效化,從而提高系統服務質量和資源利用率[2]。物聯網是由種類繁雜的傳感器設備和網關組成的分布式網絡,其所有系統和應用都可以接入互聯網,實現資源和信息的高效共享。物聯網設備采用分布式部署,且具有龐大的設備數量和規模,如何處理智能設備非結構化數據以及保障工業網絡的訪問控制和系統中各設備的通信質量,是智能系統所面臨的巨大挑戰[3],需要使用更高的數據采集標準以及統一的協議,將異構數據整合到統一的系統中,實現數據資源的整合以及不同設備之間的互操作[4-5]。

區塊鏈是分布式的存儲系統,由一個接一個帶有時間戳的區塊組成[6],以點對點(P2P)網絡分布式數據庫的形式存在,因此,區塊鏈具有分散性、不可篡改性和可追溯的特點,憑借這些特點,其在物聯網中得到有效利用,可實現更高效的數據交換、管理以及訪問控制[7-9]。物聯網結合區塊鏈的共識機制,有助于避免非法甚至惡意節點的接入。Hyperledger Fabric 是一個主流的開源聯盟鏈區塊平臺,不僅擁有區塊鏈去中心化、數據不可篡改、多通道等特點,還提供了高效的共識機制、智能合約、數據存儲等服務,Hyperledger Fabric 與物聯網相結合,既可保證數據的可信度,又能為柔性可信溯源的實現提供架構基礎[10-11]。

在結合區塊鏈和物聯網技術的過程中,區塊鏈網絡的共識效率和可擴展性是目前的重點研究方向[12]。然而,大規模的物聯網系統中設備資源有限,現有相關研究提出的共識算法主要針對公共加密區塊鏈,如PoW、PoS 和DPoS 都是通過消耗計算機算力,以挖礦的方式來實現共識,從而導致共識時間較長、計算機資源浪費等問題,并不適用于大規模的物聯網區塊鏈系統[13-14]。文獻[15]為確保區塊鏈車聯網的區塊正確提交以及選擇可靠的參與者,提出一個兩階段軟安全增強的解決方案,其目的是防止公共區塊鏈中活躍參與者和備用參與者之間內部串通,產生虛假交易,但是該方案僅針對車聯網,可擴展性較差。基于認證證明的共識算法通過信任值來實現區塊鏈的區塊驗證,但是如果一個節點被破壞,就可能犧牲其信任值并驗證惡意交易,從而將錯誤的區塊提交到分類賬本中[16-17]。Raft 共識算法可以在高效解決分布式系統中各個節點日志內容一致性問題的同時,使得集群具備一定的容錯能力,但該算法不支持容錯作惡節點(拜占庭節點)[18]。實用拜占庭容錯(Practical Byzantine Fault Tolerance,PBFT)算法共識機制最早是為了解決區塊鏈網絡中的拜占庭節點而被引入到聯盟鏈中,其通過三段式全廣播投票的方式,在惡意節點數不高于全節點數1/3 的情況下,該算法能夠同時保證共識階段的安全性和活性[19],但是,隨著網絡節點數量的增多,該算法存在通信開銷大、擴展性差、效率低的問題[20]。文獻[21]提出一種信用授權的拜占庭容錯(Credit-Delegated Byzantine Fault Tolerance,CDBFT)方案,其引入了投票獎勵懲罰和信用評價機制,然而,在區塊鏈網絡中,參與節點是經過認證和信任的,獎懲機制的重要性低于共識機制的可擴展性。文獻[22]提出一種基于角色控制的拜占庭容錯(Role management-based Practical Byzantine Fault Tolerance,RPBFT)算法,其將節點分為3 種類型,通過選舉機制和獎勵機制對節點的角色類型進行轉換管理,提高了節點的可靠性和動態性,但該算法的三階段全廣播投票方式依然存在網絡通信量較高的問題。文獻[23]提出一種基于投票算法(VBFT)的拜占庭容錯算法,該算法將網絡中的節點劃分為3 種具備不同職責的節點,分別是客戶端、從節點和主節點,節點之間的狀態可以隨時動態調整,但是,該方案生成區塊的時間較長,并不適用于大規模的物聯網區塊鏈。文獻[24]基于信譽度選舉的方式篩選節點,該方法通過改進PBFT算法,以減少通信開銷,提高共識效率。

以上解決方案大多采用分片和并行共識的方式改進PBFT 算法,雖然在一定程度上提高了共識效率和可擴展性,但是仍采用PBFT 的三段式全廣播投票方式來實現共識,導致算法存在帶寬復雜度較高、共識吞吐量較大的問題。本文基于Hyperledger Fabric平臺[25],提出一種輕量級區塊鏈投票和交易證明(Proof of Vote and Transaction,PoVT)共識機制。在擁有拜占庭節點的情況下,通過驗證交易的方式確認共識節點,即利用節點之間的交易來篩選參與共識的會話節點,以減少共識過程中的節點數量,提高可擴展性。在此基礎上,利用一次全廣播投票的方式在參與共識的節點中進行區塊確認,從而將通信開銷減少到較低水平,提高每秒交易量并降低帶寬占用和帶寬復雜度。

1 輕量級物聯網區塊鏈系統框架

本文以Hyperledger Fabric 架構為基礎平臺,設計一種輕量級區塊鏈框架,如圖1 所示,該框架可以結合物聯網在工業生產、物流等多種場景下進行擴展。

圖1 基于區塊鏈的輕量級物聯網系統框架Fig.1 Lightweight IoT system framework based on blockchain

Fabric通過會員服務提供者(Membership Service Provider,MSP)來實現訪問控制、權限控制等操作,從而管理Fabric 中的眾多參與者(Peer、Orderer)。MSP 中包含了參與者的公鑰,聯盟參與者會使用私鑰對交易進行簽名背書,MSP 通過驗證簽名的方式來確保交易背書者是聯盟參與者。在Fabric中,所有的節點即對等節點(Peer),排序節點(Orderer)負責接收包含背書簽名的交易,對未打包的交易進行排序從而生成區塊,將其廣播給Peer 節點,然后通過排序服務(共識機制)來進行區塊的確認提交。通道(Channel)是Orderer 的一個模塊,排序節點劃分和管理的私有廣播通道,目的是對通道的信息進行隔離,使得通道外的實體無法訪問通道內的信息,從而提高交易的隱私性。

本文物聯網區塊鏈框架包括交易發起、驗證確認、區塊提交3個階段。物聯網設備(IoT1,IoT2,…,IoTN)是能夠產生和接受區塊鏈交易的設備,如產品線上的傳感器、掃描槍、智能手機手表等穿戴設備,這些設備被連接到一個Peer 節點上,這些節點可充當對等節點或背書節點,節點處理相應設備的交易。在Fabric中存在許多相互鏈接的Peer 節點,這些節點(N1,N2,…,NN)也可以作為背書節點或主節點存儲于網絡中,MSP 負責為這些節點提供密鑰、簽名以及生成的準入證明和配置信息。

1.1 交易發起階段

如圖1 所示,物聯網設備上的應用程序收集要交換的數據作為交易,使用軟件開發工具對數據進行格式化,以便能夠在鏈碼上執行。交易包括交易數據、設備簽名、目的節點的公共地址和相應的證書。在交易執行時,每臺設備和Peer 進行節點連接,通過Channel 向區塊鏈中的節點發送一個交易提交信息。交易的認證和授權被嚴格約束在規定的Channel上,不同Channel 之間相互隔離,因此,節點不能訪問任何其他通道上執行的交易。新加入的節點通過MSP 注冊和驗證加入到網絡中,這些節點可以查詢或添加新的區塊到賬本中,該過程能夠確保未經識別和認證的用戶或設備不會加入網絡。

1.2 驗證確認階段

所有傳入的交易需要通過對設備、節點、權限的驗證,這些驗證根據鏈碼中規定的條件來進行。鏈碼是訪問賬本的基本方法,其需要經過節點的背書、排序、驗證和提交環節進行安裝和實例化。鏈碼由管理員部署,只要有合適的權限,鏈碼之間也可以相互調用。鏈碼是區塊鏈節點之間交易的規則,部署后不可更改,因此,區塊鏈上的交易可以直接依賴于鏈碼,但是可以通過升級來發布新的功能或修復問題。在Fabric 的設計中,鏈碼運行在一個安全的隔離沙盒(Docker 容器)中,該容器由背書節點創建和管理,以便隔離背書節點和鏈碼的運行環境。在現有Fabric中,鏈碼決定由多少個相鄰節點來驗證一個交易,主要原則是利用一大批節點通過背書來建立共識。在本文系統中,根據一個會話中的交易提交情況,使用一定比例的節點作為背書節點,從而減少共識環節的通信開銷。

交易確認和區塊生成通過背書實現。Orderer節點根據各個節點交易的先后時序,經過共識來確定并生成新的區塊,將其添加到分類帳本中。在區塊確認時,如果惡意節點向Orderer 節點發送偽造交易將導致共識失敗,無法生成新的區塊。比特幣、以太坊等數字貨幣系統在區塊創建時執行的共識算法,都通過高難度的挖礦算法來確保惡意交易不會被添加到區塊中。在物聯網中,設備的運算能力有限,為實現較高的交易速率,需要選擇合適的共識算法。

1.3 區塊提交階段

確認是交易處理的最后一個階段。當一個區塊通過共識PoVT 算法最終確定后,則該區塊就準備好分發給網絡中的所有節點,這些節點可以將確認的數據添加到它們的分類賬本中。只有在PoVT 算法達到共識時進行區塊確認,交易發起者才會被批準生成新塊,然后將其連同Orderer 節點的簽名分發給網絡中的所有連接節點,最后更新全局動態。

2 基于物聯網區塊鏈的輕量級共識算法

本文使用網絡中的部分節點作為背書節點,通過投票機制來進行區塊確認,從而降低信息傳遞開銷,提高安全性和系統交易率。為了提升共識的可擴展性,本文采用一種混合機制,將整個共識過程分為兩部分,即交易驗證和共識形成:

1)交易驗證。在本文所提共識模型中,源節點從相連的物聯網設備接收交易信息,根據鏈碼規則進行交易提交和驗證,并檢查目標物聯網設備是否也與網絡相連,如果是,則執行交易提交過程,目標節點對鏈碼進行驗證(用于交叉檢查交易),如果被批準,則將交易轉發給Orderer 再執行共識。因此,交易驗證只限于直接參與交易的節點,在不影響安全性的前提下,能夠大幅減少信息交換所需時間以及節點間的通信開銷。

2)共識形成。Orderer 節點在一個候選區塊上執行共識,該區塊包含了其在一定時間內收集到的若干個經過驗證的交易。使用圖2 所示的方式建立一個共識會話網絡的成員列表。

圖2 共識會話網絡生成過程Fig.2 Consensus session network generation process

在共識會話網絡生成過程中,Orderer 節點從網絡收集交易,根據交易信息中的源節點和目標節點生成一組會話節點,這些節點將參與共識環節。在生成共識會話網絡之后,通過PoVT 算法進行區塊的共識和提交。PoVT 算法描述如算法1 所示。

算法1PoVT 算法

在算法1 中:N為共識中的節點數量;B′為本輪投票前一輪的區塊;B為當前區塊信息;h為當前的區塊高度;T為收到的交易集合;V為待提交區塊節點收到的投票集合。在共識過程中,首先主節點向其他節點發送當前產生的一個新的區塊,其他節點等待這個新的區塊,如果沒有收到,則會發生propose_timeout,廣播TIME_OUT 信息,如果除主節點以外的其他節點在設定的時間內收到新的交易區塊,則節點廣播VOTE 消息。在投票階段,如果vote_timeout 和vote_failure發生,將執行VOTE_TIMEOUT 和VOTE_FAIL;若沒有發生,且當前參與共識的所有節點在規定的時間內收到足夠多的投票消息時,執行COMMIT 來提交區塊,在這個過程中,如有節點最先收集到一定的投票數,則作為主節點進行下一輪共識。

區塊生成過程如圖3 所示,其中,節點4 為拜占庭節點,節點1 為當前投票回合的主節點,區塊n將在投票給該區塊時成為候選區塊,并且最終會在投票給第n+1 個區塊時進行提交。

圖3 PoVT 共識過程Fig.3 PoVT consensus process

PBFT 形成一輪共識需要3 個階段,領導者首先向其他節點廣播消息,節點在第二階段對收到的消息進行投票,節點根據最后階段收到的投票發送預提交消息。在本文模型的共識過程中,只需2 個階段就可以提交區塊,領導者首先向其他節點廣播消息,然后節點對領導者在第二階段發送的消息進行投票,網絡帶寬復雜度分別為O(n2)和O(n)。相較于PBFT 中三階段共識的復雜度(O(n2)、O(n2)和O(n)),本文共識機制具有更低的帶寬復雜度。

3 對比分析

本節分析所提算法的安全性,并將其與現有PBFT和CDBFT 算法進行對比。仿真通過Hyperledger Fabric v1.4.0 平臺運行。物聯網設備交易的生成通過Node-Red 應用程序完成,該程序將生成的并發交易輸送到運行在Docker 容器中的節點,Docker 容器包含Fabric 中GoLang 編寫的鏈碼,一個配備Core-i5(2.7 GHz 16 GB 內存)的系統作為承載Docker 的設備。考慮到每個區塊的交易數量、對等體數量、并發交易的輸入參數、阻斷時間在每個實驗中都有所不同,因此,本文將每個實驗執行10次,并以平均值作為最終結果。

3.1 安全性分析

在物聯網應用設計的區塊鏈系統中,主要有兩種類型的安全風險:一是外部風險,非成員設備或節點可能試圖成為網絡的一部分,或試圖冒充現有的已存在于網絡中的節點;二是內部風險,正確注冊并擁有有效簽名的設備和節點可能會因為惡意攻擊而成為潛在安全風險點。攻擊的目的是讓無效的交易得到認可并提交到分類賬本中,當設備發起交易,網絡中的節點就會根據鏈碼來驗證源節點和目的節點的地址。對于外部攻擊,設備將無法提供合法證書,因此驗證將立即失敗。對于內部攻擊,只要鏈碼存在,則已經確認的交易就會有效。在Hyperledger Fabric中,交易由一組節點認可后再一并提交到賬本中。在本文所提解決方案中,交易被轉發到負責共識的節點上,這些節點之間相互驗證所有的憑證,并將交易轉發給Orderer 節點,從而消除源節點向Orderer 節點發送非法交易的可能性。

在區塊形成時,區塊的安全提交意味著不會產生具有沖突的區塊。沖突的區塊包含兩種類型,一種是重復提交和無效的交易事務,另一種是具有相同高度的區塊。在一個具有3f+1 個節點的區塊鏈網絡中,最多存在f個拜占庭節點時,如果有兩個不同類型但高度相同的區塊B1和B2被提交,至少有2f+1 個節點提交了區塊B1,另外至少有2f+1 個節點提交了區塊B2,這意味著節點提供的投票至少有4f+2個。系統中最多允許f個節點可以同時進行兩次投票,所以最多可以存在4f+1 個投票。因此,兩個不同的區塊不能在相同的高度提交。如果要提交沖突區塊,至少需要存在2f+1 個惡意節點,而共識算法中最多允許存在f個拜占庭節點。因此,本文設計的共識算法在同樣具有f個拜占庭節點時可以保證區塊順利生成。

3.2 運算時間分析

本節分析從交易驗證到區塊形成的運算時間,將所提PoVT 算法與Hyperledger Fabric 中使用的PBFT 算法以及文獻[21]中的CDBFT 算法進行比較。系統中初始的節點總數固定為10,每個區塊的交易數量在1~500 之間。

圖4 所示為每個區塊交易數量增加時算法所需時間的變化情況。通過圖4 可以看出,當并發交易數為100時,PBFT 算法需要200 ms,CDBFT 算法需要120 ms,而PoVT 算法需要80 ms;對 于300筆交易,PBFT 算法背書時間為550 ms,CDBFT 算法需要320 ms,而PoVT 算法需要約210 ms。隨著并發交易的增加,3 種算法的背書時間都會增加,但PoVT 算法的計算時間明顯少于PBFT 和CDBFT 算法。

圖4 不同交易數時3 種算法的計算時間變化情況Fig.4 Calculation time changes of three algorithms under different transaction numbers

圖5 比較了在兩種不同的變量條件下交易最終確定所需的時間,橫坐標為每個區塊的交易數量和相關的共識參與者數量。從圖5 可以看出,當每個會話的共識節點數量為20、交易數量為100時,PBFT 算法的背書時間急劇增加(200 ms),CDBFT算法需要100 ms,而PoVT 算法只需80 ms。PBFT通過三段全廣播投票方式進行共識,而CDBFT 方案投票獎勵、懲罰和信用評價的過程所需運算時間較長,如果100%的節點參與共識過程,其所需的時間將明顯增加。本文所提解決方案通過選取一定數量的節點來進行共識,可以有效減少通信開銷。

圖5 不同交易數和節點數時3 種算法的計算時間變化情況Fig.5 Calculation time changes of three algorithms under different number of transactions and nodes

3.3 帶寬需求分析

由于共識必須在特定的區塊提交時間內形成,為了達到理想的交易率,對所需帶寬進行分析很有必要。本節通過改變每秒并發交易數量和參與節點數量來分析帶寬需求情況。如圖6 所示,帶寬需求隨著并發交易數量的增加而增加(間接地隨物聯網中節點數量的增加而增加),在一般的區塊鏈中,帶寬需求與交易數量的關系幾乎是線性的,成正比增加,然而,在本文的PoVT 算法中,隨著共識節點數量和共識環節通信量的減少,帶寬需求相較CDBFT 和PBFT 共識算法分別降低了10%和30%。

圖6 帶寬需求隨并發交易數量的變化情況Fig.6 The change of bandwidth demand with the number of concurrent transactions

4 結束語

吞吐量和安全性對于物聯網區塊鏈系統至關重要,在大規模物聯網區塊鏈系統中,區塊生成主要基于每個區塊有一半以上的參與者形成共識來實現,隨著節點數量的增加,共識時間變得過長,從而導致吞吐量下降。針對該問題,本文提出一種PoVT 算法,根據參與直接交易的節點篩選共識會話組,以選擇代理人節點的方式來減少共識節點數量。在擁有拜占庭節點的共識過程中,通過投票方式簡化共識流程,從而節省通信開銷。實驗結果表明,該算法在具有較低帶寬占用的情況下,可以保證交易驗證及區塊創建階段區塊的安全提交,同時提高物聯網區塊鏈系統的交易率和吞吐量。但是,區塊鏈系統仍然存在數據存儲性能有限的問題,下一步將引入分布式存儲系統,縮短共識階段的時間,從而提高物聯網區塊鏈的存儲和共識效率以及共識算法的可擴展性。

猜你喜歡
設備
諧響應分析在設備減振中的應用
調試新設備
當代工人(2020年13期)2020-09-27 23:04:20
基于VB6.0+Access2010開發的設備管理信息系統
基于MPU6050簡單控制設備
電子制作(2018年11期)2018-08-04 03:26:08
廣播發射設備中平衡輸入與不平衡輸入的轉換
電子制作(2018年10期)2018-08-04 03:24:48
食之無味,棄之可惜 那些槽點滿滿的可穿戴智能設備
500kV輸變電設備運行維護探討
工業設計(2016年12期)2016-04-16 02:52:00
HTC斥資千萬美元入股虛擬現實設備商WEVR
IT時代周刊(2015年8期)2015-11-11 05:50:37
Automechanika Shanghai 2014 之“看” 汽保設備篇
如何在設備采購中節省成本
主站蜘蛛池模板: 色婷婷综合在线| 国产av一码二码三码无码| 99精品免费在线| 99热这里只有精品免费| 毛片最新网址| 亚洲欧美日韩高清综合678| 成人在线综合| 97国产在线播放| 国产精品综合色区在线观看| 亚洲性日韩精品一区二区| 国产精品蜜臀| 最新亚洲人成网站在线观看| 亚洲成在人线av品善网好看| 四虎国产精品永久在线网址| 久久综合色天堂av| 成人另类稀缺在线观看| 无码精油按摩潮喷在线播放| 国产一区二区影院| 欧美精品一二三区| 四虎国产精品永久一区| 久久77777| 99无码熟妇丰满人妻啪啪| 中文字幕首页系列人妻| 九九九九热精品视频| 狂欢视频在线观看不卡| 国产成人高清精品免费| 极品av一区二区| 日本91在线| 青青青视频91在线 | 午夜成人在线视频| 国产免费久久精品99re丫丫一| 青青久久91| 精品国产91爱| 欧美国产日产一区二区| 毛片网站观看| 黄色一级视频欧美| 91精品国产综合久久香蕉922| 在线欧美日韩| 国产麻豆精品久久一二三| 久久国产精品电影| 99re热精品视频国产免费| 久久精品66| 99福利视频导航| 奇米影视狠狠精品7777| 日韩性网站| 国产精品美女在线| 高清色本在线www| 99免费视频观看| 欧美午夜久久| 国产第一页屁屁影院| 无码AV高清毛片中国一级毛片| 91亚洲免费视频| 欧美成人一级| 久久伊人操| 国产成人艳妇AA视频在线| 91偷拍一区| 成人福利视频网| 免费一级毛片在线播放傲雪网| 中文字幕免费播放| 永久免费av网站可以直接看的| 免费网站成人亚洲| 婷婷99视频精品全部在线观看| 91久久国产综合精品| 国产成人精品免费视频大全五级| 中文字幕在线视频免费| 青草91视频免费观看| 8090成人午夜精品| 热久久综合这里只有精品电影| av手机版在线播放| 国产后式a一视频| 久久精品国产电影| 亚洲无线视频| 97se综合| 亚洲va欧美ⅴa国产va影院| 国产免费怡红院视频| 久久久久久高潮白浆| 欧美.成人.综合在线| 国产一区二区三区在线无码| 亚洲黄色激情网站| 欧美福利在线观看| 色天天综合| 精品国产成人av免费|