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

一種適用于聯盟鏈的共識機制

2019-06-13 01:54:19曹兆磊
網絡空間安全 2019年1期

摘? ?要:隨著比特幣的風靡,區塊鏈技術已經成為當下研究領域的主流。區塊鏈系統根據應用場景的不同,一般分為公有鏈、聯盟鏈和私有鏈。由于公有鏈完全去中心化的性質導致其無法滿足企業的需求,所以在實際應用中企業往往選擇部分去中心的聯盟鏈。共識機制是區塊鏈的引擎與核心。目前,主流的共識機制主要針對公有鏈提出,難以適用于聯盟鏈與私有鏈。在此背景下,論文為聯盟鏈提出一種共識機制。該共識機制不僅解決傳統共識效率低的問題,而且在一定程度上可以應對拜占庭容錯。

關鍵詞:聯盟鏈;共識機制;拜占庭容錯

中圖分類號:TP311.13? ? ? ? ? 文獻標識碼:J

Abstract: With the popularity of bitcoin, blockchain technology has become the mainstream of current research field. Block chain system is generally divided into public blockchain, consortium blockchain and private blockchain. Because of the completely decentralized nature of public blockchain, it can not meet the needs of enterprises, so in practical applications enterprises often choose part of the decentralized consortium blockchain. Consensus mechanism is the engine and core of blockchain. At present, the mainstream consensus mechanism is mainly for the public chain, and it is difficult to apply to the consortium blockchain and private chain. Under this background, this paper proposes a consensus mechanism for the consortium blockchain. This consensus mechanism not only solves the inefficiency of traditional consensus, but also can deal with Byzantine failures.

Key words: consortium chain; consensus mechanism; Byzantine failures

1 引言

區塊鏈是一種去中心化的分布式賬本系統,它可以用于登記和發行數字化資產、產權存證和信息追溯等。最早被提出的區塊鏈參與形式被稱為公有鏈,系統的結構完全去中心化,任何用戶都能參與并獲取鏈上存儲的所有數據,但由于系統開放性的限制,用戶的隱私和監督都存在不足,在個別領域的相關應用難以滿足效率需求[1]。因此,私有鏈就隨之應運而生,私有鏈雖然能夠解決以上問題,但如果僅僅由各個企業自己單獨建立,那么還將是一個個信息孤島。因此,以Hyperledger為代表的行業內部聯盟鏈將會成為區塊鏈在未來實體應用的主流方向。

共識機制是區塊鏈的核心模塊,共識機制能保證在沒有中心主體控制下,系統中的各參與方能夠遵循相同記賬規劃,實現數據分布式的一致性[2]。優秀的共識機制在保證系統的安全可控的情況下盡可能提升性能。但是由于區塊鏈發展時間較短和當前社會主流目光還停留在比特幣上,目前主流的共識機制主要面向公有鏈,聯盟鏈共識機制相對較少。聯盟鏈的共識機制在未來是區塊鏈研究的一個重要方向。

2 區塊鏈相關技術與概念

2.1 區塊鏈基本架構

區塊鏈的設計目的是讓所有節點共同參與維護公共數據賬本的系統,讓數據賬本公開透明。區塊鏈的基礎架構可以分成六層。

如圖1所示,區塊鏈系統一般由數據層、網絡層、共識層、激勵層、合約層和應用層組成。數據層用于構建數據區塊,對數據進行加密簽名,增加時間戳;網絡層包括分布式對等網絡,用于節點間的通信和數據驗證;共識層實現各類共識算法;激勵層主要用于制定相應的激勵機制,在聯盟鏈和私有鏈中并不需要,因為激勵在系統外就已經確認;合約層主要封裝各類腳本、算法和智能合約,是區塊鏈可編程特性的基礎;應用層則是基于區塊鏈技術的各類應用[3]。

2.2 區塊鏈的分類

區塊鏈系統根據應用場景和設計體系的不同,一般分為公有鏈、聯盟鏈和私有鏈[4]。

公有鏈的各個節點可以自由加入和退出網絡,并參加鏈上數據的讀寫,運行時以扁平的拓撲結構互聯互通,網絡中不存在任何中心化的服務端節點。

私有鏈的各個節點的寫入權限收歸內部控制,而讀取權限可使需求有選擇性地對外開放。私有鏈仍然具備區塊鏈多節點運行的通用結構,適用于特定機構的內部數據管理與審計。

聯盟鏈介于私有鏈與公有鏈之間,是一種需要注冊許可的區塊鏈,僅限于聯盟中具有權限的成員參與賬本的讀寫,網絡中節點的角色及功能劃分需預先設定,且網絡中的共識、運維和接入均由預先設定的節點控制。一般來說,聯盟鏈適合于跨機構的交易、結算、協同辦公及存證等B2B場景[5]。

3 共識算法分析

3.1主流的共識算法

3.1.1 Paxos和Raft算法

Paxos算法解決的問題是一個分布式系統如何就某個值(決議)達成一致,一種基于選舉領導者的共識機制。領導者狀態的共識節點擁有絕對權限,并允許強監管節點參與,性能高,資源消耗低。所有節點一般有線下準入機制,但選舉過程中不允許有作惡節點,不具備容錯性。

由于Paxos難于理解,加上難以實現,其簡化版本Raft應運而生。Raft更注重協議的可理解性和落地性,其特點是任何時刻最多只有一個合法領導者,可容錯節點數為N/2-1。兩個共識機制面向應用領域為數據庫,在個別節點宕機情況下確保數據一致[6]。

3.1.2 工作量證明算法(PoW)

工作量證明機制用來確認某個節點做過一定量的工作,是一種應對拒絕服務攻擊和其它服務濫用的經濟對策。它要求發起者進行一定量的運算,也就意味著需要消耗計算機一定的計算資源,該理論是1993年Cynthia Dwork和Moni Naor首次提出的[7]。

3.1.3 股權證明(PoS)

PoS主要思想是節點記賬權的獲得難度與節點持有的權益成反比,相對于PoW,一定程度減少了數學運算帶來的資源消耗,性能也得到了相應的提升,但依然是基于哈希運算競爭獲取記賬權的方式,可監管性弱,該共識機制容錯性和PoW相同[8]。

3.1.4 授權股權證明(DPoS)

DPoS是對PoS機制的一種改進,其原理是通過投票選出一定數量的代表獲取記賬的權力,每個代表按照時間表記賬,記賬結束后會獲取對應的報酬。投票權重以投票人持Token比例為準,整個共識依賴于代幣機制[9]。

3.1.5 權威證明(PoA)

PoA算法初期形成可設定具有投票權或者簽名權的認證節點,區塊鏈上的新發生交易需經過認證節點簽名后才能夠完成上鏈廣播,對于后期新加入的節點,認證節點也可通過簽名投票來決定是否允許新節點的加入。PoA共識算法由于減少了共識達成的計算成本,可以極大地提升速率,但是由于其缺少對區塊驗證的步驟,所以一旦有惡意節點,往往在發生事故后才能察覺。

3.1.6 實用拜占庭算法(PBFT)

PBFT與Paxos類似,也是一種采用許可投票、少數服從多數來選舉領導者進行記賬的共識機制。實用拜占庭算法允許強監管節點參與,具備權限分級能力,性能更高,耗能更低。該算法每輪記賬都會由全網節點共同選舉領導者,允許33%的節點作惡[10]。

3.2 共識算法性能對比

在區塊鏈系統中,效率、安全和去中心化三方是無法都兼顧的。主流共識機制在這三方面都選擇不同程度側重,但側重的最終表現形式一般為TPS、成本、分叉、權限和拜占庭容錯這五個方面。各個共識機制特點對比如表1所示。

Paxos、Raft和PoA算法主要面對節點宕機情況,而不考慮惡意節點篡改數據,缺乏監督無法解決拜占庭容錯問題,所以這些算法僅適合高信任度的情況;PoW雖然能應對拜占庭容錯問題,但是耗時耗能;PoS與PoW相比在一定程度上減少能源消耗,但依然需要挖礦。DPoS共識需要依賴Token,而很多商業模式并不需要Token;PBFT雖然可以應對惡意節點攻擊,但是其網絡結構是靜態類型,如果動態增加節點,則必須重啟應用,造成不必要的性能損失[11]。

4 改進型聯盟鏈共識算法

4.1 目前聯盟鏈面臨的困境

目前,針對聯盟鏈提出的共識算法非常少,已知聯盟鏈使用的共識算法有以太坊測試網PoA共識機制和Hyperledger的排序算法。但由于參與聯盟鏈的節點都是信任節點,這些算法為了追求效率而放棄對區塊的驗證。但是,如果一個共識完全忽視對區塊的驗證,那區塊鏈應用的場景將大幅度減少。即便是對信任要求極高的聯盟鏈,在理論上也存在出現惡意節點或者某節點被黑客操控的可能。

所以在實際聯盟鏈系統設計中,為了保障信息安全,往往在應用層增加多種加密措施。這樣做費時費力,為系統設計添加不必要的研發成本,也阻礙了區塊鏈服務實體的發展。

4.2 改進型共識流程

鑒于目前聯盟鏈困境,本文為聯盟鏈提出一種高效、安全和低成本的共識機制,共識流程如圖2所示。

在一切正常的情況下,該改進型共識流程分為六步。

(1)在創始區塊中指定一組初始授權的共識節點,在系統啟動后共識節點加入或移除需要通過投票表決。

(2)當系統啟動后,共識節點開始產生區塊并簽名廣播。通過優先級算法保證每一個即將產生的區塊都有一個共識節點處于優先狀況,該共識節點會優先廣播區塊,其他共識節點必須經過一段延遲才能廣播從而避免了系統分叉。再通過一定的算法確保一個共識節點不能連續地出塊。

(3)共識節點只有打包和廣播的權力,但最終寫入區塊鏈賬本需要經過驗證節點的驗證。驗證節點驗證該區塊是否合法,如果合法則寫入區塊鏈,否則發起移除負責該區塊的共識節點提案。

(4)該提案通過廣播的方式傳給所有共識節點。所有共識節點對該提案進行投票,如果發現該節點是惡意節點,則投贊成,否則投反對。若該提案有超過50%的共識節點表示贊同,則移除該節點,否則對驗證節點進行檢查并且強制驗證節點阻止的區塊寫入區塊鏈賬本。

(5)寫進區塊鏈賬本的區塊除了驗證節點的簽名,也需要共識節點的簽名。如果區塊有投票通過的簽名,則直接寫入賬本。

(6)新的共識節點的加入也通過驗證節點提案的方式,當超過50%的共識節點表示贊同時,新的節點加入到共識節點中。

4.3 改進型共識設計

4.3.1 區塊結構設計

在本文提出的共識機制里區塊結構至少由幾個部分組成的:一些相關信息片段組成的集合稱為Header,即區塊頭;一個個交易Transaction組成Body,即區塊體,這部分占據區塊大小的主要部分;剩余部分為票數統計,這部分稱作Votes,區塊結構如圖3所示。

(1)區塊頭

區塊的驗證主要通過驗證區塊頭的方式,是區塊中最重要的部分。區塊頭包含的參數信息涉及幾個方面。

ParentHash:父區塊頭的Keccak256位哈希。

StateRoot:所有交易被執行完且區塊定稿后的狀態樹(State Trie)根節點的Keccak256位哈希。

TransactionsRoot:由當前區塊中所包含的所有交易所組成的樹結構(Transaction Trie)根節點的Keccak256位哈希。

ReceiptsRoot:由當前區塊中所有交易的數據所組成的樹結構(Receipt Trie)根節點的Keccak256位哈希。

Priority:區塊優先級,值為1或者2。同一個高度的區塊,只有一個共識節點為2,2的優先級最高。

Number:當前區塊的祖先的數量,創世區塊里這個數值為0。

ExtraData:存儲當前共識節點集合的地址。

(2)區塊體

區塊體由各個交易組成,需要包含交易全部內容,所占空間最大,系統區塊體結構參數如下:

From:交易發起人地址;

To:交易接收人地址;

Signature:交易發起人簽名;

Value:交易內容;

Nonce:標志唯一性。

(3)Votes

Votes部分負責記錄投票信息,在沒有惡意節點的情況下該部分為0,Votes包含的參數信息涉及幾個方面。

From:投票人地址。

Beneficiary:被提名為共識節點的節點地址,在正常情況下為0,僅在投票時修改。

VoteHash:投票區塊哈希。

HV:發起投票區塊的高度。

VoteType:投票類型,加入或移除。

Signature:投票簽名。

4.3.2 區塊存儲

本文的共識機制區塊和交易等數據選擇存儲在LevelDB數據庫中。LevelDB是Google開源的KV(Key Value,存儲的數據都是KV的形式)單機數據庫,即交易數據會以鍵值對方法存儲在LevelDB中。其中,Key一般與Hash相關,Value一般是要存儲的數據結構的RLP編碼,且區塊存儲時將區塊頭和區塊體分開存儲。對于區塊頭存儲格式中的Key由區塊頭前綴、區塊號(Uint64大端格式)、區塊Hash構成,Value是區塊頭的RLP編碼。區塊體的存儲包括Key由區塊體前綴、區塊號(Uint64大端格式)、區塊Hash構成,Value是區塊體的RLP編碼。Votes部分同理,三者通過Key值的前綴進行區分,具體流程如圖4所示。

對數據庫數據進行讀寫及修改等操作時首先要初始化數據庫,同時配置數據庫基本參數如Open Files Cache Capacity、Block Cache Capacity、Write Buffer、Filter等,其意義分別是打開文件數(默認1024)、區塊緩存容量(默認384MB)、Memtable容量(默認192MB)、Level文件哈希數(默認10次)。此外,LevelDB在數據寫入時先將數據寫入Batch后再寫入LevelDB,這樣做的好處是減少數據的交互次數,提高數據存儲效率。

4.3.3 區塊驗證

驗證節點在驗證新的區塊時,僅驗證其區塊頭。節點會從區塊頭的Extra Data字段中取出認證節點的簽名,利用標準的spec256k1橢圓曲線進行反解公鑰信息,并且從公鑰中截取出簽發節點的地址,若該節點是共識節點,且該節點本輪擁有簽名的權限,則認為該區塊為合法區塊。此外,驗證節點自己也會搜集這段時間的交易,通過驗證Merkle樹的方式確保區塊內容正確,如果沒有錯誤,將區塊打入區塊鏈賬本。

5 結束語

聯盟鏈在未來有很強的應用場景,但是目前缺少專門針對聯盟鏈的共識機制。本文總結對比目前主流共識機制的不足,基于聯盟鏈的特點和要求提出一種改進型共識機制。新的共識機制將驗證與打包區塊功能分開,提高效率的同時又確保了系統能夠及時發現錯誤。

共識機制作為區塊鏈應用最核心和關鍵的組成部分,目前已經成為區塊鏈技術發展的瓶頸[12]。由于應用場景的多種多樣,各個共識機制無法面面俱到。本文提出的共識也僅適用在信任度較高的情況,未來區塊鏈如何結合實體經濟仍然值得大家的關注。

參考文獻

[1] 徐治理,封化民,劉飚.一種基于信用的改進PBFT高效的共識機制[J].計算機應用研究, 2019,36(10).

[2] 李劍峰.基于拜占庭容錯機制的區塊鏈共識算法研究與應用[D].鄭州大學, 2018.

[3] Nguyen QK. Blockchain – A Financial Technology for Future Sustainable Development[C].International Conference on Green Technology and Sustainable Development.IEEE,2016.51-54.

[4] 袁勇,王躍飛.區塊鏈技術發展現狀與展望[J].自動化學報,2016,42(4):481-494.

[5] 王朔.區塊鏈技術在金融領域的研究現狀及創新趨勢[J].上海金融,2016(2):26-29.

[6] 李哲.基于區塊鏈的電子發票云平臺構建研究[D].中國財政科學研究院,2018.

[7] 鄒均.區塊鏈技術指南[M].北京:機械工業出版社,2016:69-78.

[8] 陳何清.基于區塊鏈的IMIX傳輸系統的設計與實現[D].南京大學,2016.

[9] WOOD G. Ethereum: A secure decentralized generalized transaction ledger[EB/OL].Ethereum Project Yellow Paper,2014,[2017-06-07].http://gavwood.com/paper.pdf

[10] 梅晨.基于區塊鏈的物聯網安全平臺的設計與實現[D].北京郵電大學,2018.

[11] 楊茜.基于區塊鏈的智能合約研究與實現[D].西南科技大學,2018.

[12] 范捷,易樂天,舒繼武.拜占庭技術研究綜述[J].軟件學報,2013,6:012.

作者簡介:

曹兆磊(1995-),男,漢族,江蘇鹽城人,南京郵電大學,學士,工程師;主要研究方向和關注領域:區塊鏈系統方案設計與測試。

主站蜘蛛池模板: 日韩第一页在线| 2021国产精品自产拍在线| 精品亚洲麻豆1区2区3区| a级毛片免费网站| 国产手机在线小视频免费观看| 国产精品成人免费视频99| 色综合中文字幕| 欧美国产日韩在线观看| 久久毛片网| 国产欧美综合在线观看第七页| 精品無碼一區在線觀看 | 丁香五月亚洲综合在线| 欧美色香蕉| 久久免费视频6| 国产欧美网站| 国产精品亚洲专区一区| 国产精品深爱在线| 久久综合九色综合97婷婷| 谁有在线观看日韩亚洲最新视频| 欧美国产日韩另类| 欧美精品在线观看视频| 国产精品区视频中文字幕| 国产精品亚洲一区二区三区z| 亚洲视频四区| 中文字幕 日韩 欧美| 欧美在线综合视频| 精品视频一区二区观看| 国产一区二区三区在线观看视频| 国产成人无码Av在线播放无广告 | 成人免费视频一区二区三区| 国产欧美高清| 凹凸国产熟女精品视频| 国产高颜值露脸在线观看| P尤物久久99国产综合精品| 毛片基地视频| 色AV色 综合网站| 老司机久久99久久精品播放 | 午夜毛片免费看| 欧美午夜久久| 国产精品自拍露脸视频| 97超爽成人免费视频在线播放| 亚洲国产日韩在线观看| 日本精品影院| 欧美性爱精品一区二区三区| 三上悠亚在线精品二区| 精品丝袜美腿国产一区| 国产无码制服丝袜| 日本人妻一区二区三区不卡影院| 欧美区日韩区| 91视频99| www.av男人.com| 亚洲欧美日韩精品专区| 国产三级视频网站| 国产精品白浆在线播放| 狠狠色狠狠综合久久| 亚洲二三区| 亚洲三级色| 欧美福利在线| 国产一区二区精品福利| 999精品色在线观看| 视频在线观看一区二区| 国产91成人| 久久亚洲AⅤ无码精品午夜麻豆| 国产精品片在线观看手机版| 久久一色本道亚洲| 久久久久九九精品影院| 91青草视频| 男人天堂伊人网| 色综合日本| 亚洲午夜福利在线| 免费a级毛片视频| 四虎影视国产精品| 网久久综合| 在线免费看片a| 99re精彩视频| 日本人又色又爽的视频| 最新精品久久精品| 久久五月视频| 精久久久久无码区中文字幕| 久久国产高潮流白浆免费观看| 青青热久麻豆精品视频在线观看| 东京热av无码电影一区二区|