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

404 Not Found


nginx
404 Not Found

404 Not Found


nginx
404 Not Found

404 Not Found


nginx
404 Not Found

404 Not Found


nginx
404 Not Found

404 Not Found


nginx
404 Not Found

404 Not Found


nginx

面向物聯(lián)網(wǎng)的區(qū)塊鏈共識(shí)機(jī)制綜述

2021-04-20 14:06:36田志宏趙金東
計(jì)算機(jī)應(yīng)用 2021年4期
關(guān)鍵詞:可擴(kuò)展性共識(shí)區(qū)塊

田志宏,趙金東

(煙臺(tái)大學(xué)計(jì)算機(jī)與控制工程學(xué)院,山東煙臺(tái) 264005)

0 引言

近年來,物聯(lián)網(wǎng)(Internet of Things,IoT)設(shè)備呈指數(shù)級(jí)增長,物聯(lián)網(wǎng)以傳統(tǒng)互聯(lián)網(wǎng)、移動(dòng)網(wǎng)絡(luò)、傳感器網(wǎng)絡(luò)為基礎(chǔ),擴(kuò)展了新的互聯(lián)網(wǎng)概念,實(shí)現(xiàn)萬物互聯(lián)互通,使人類社會(huì)更加高效、智能化[1-2]。但是,物聯(lián)網(wǎng)設(shè)備資源有限,且容易受到安全攻擊[3]。伴隨著區(qū)塊鏈在對(duì)等網(wǎng)絡(luò)(Peer to Peer,P2P)傳輸、分布式存儲(chǔ)、共識(shí)機(jī)制、密碼學(xué)、智能合約等技術(shù)方面的不斷運(yùn)用,將區(qū)塊鏈核心技術(shù)之一的共識(shí)機(jī)制應(yīng)用于物聯(lián)網(wǎng)場景中,能夠解決物聯(lián)網(wǎng)面臨的中心機(jī)構(gòu)運(yùn)行成本高、可擴(kuò)展性差、安全性存在隱患等問題,提高物聯(lián)網(wǎng)的性能和安全性[4]。

傳統(tǒng)的共識(shí)機(jī)制需要競爭記賬權(quán),會(huì)造成資源大量浪費(fèi)的現(xiàn)象,不完全適用于資源有限的物聯(lián)網(wǎng)設(shè)備;此外,隨著物聯(lián)網(wǎng)設(shè)備的不斷增加,交易的處理速度和可擴(kuò)展性也需要得到提高。而且,區(qū)塊鏈分叉[5]也會(huì)導(dǎo)致雙花攻擊。雙花攻擊指的是攻擊者通過不承認(rèn)最近的某個(gè)交易,并在這個(gè)交易之前創(chuàng)建了一條更長的區(qū)塊鏈,從而實(shí)現(xiàn)一筆交易被花費(fèi)了兩次[6]。為了解決分叉問題,區(qū)塊鏈通常采用最長鏈原則,但是這樣會(huì)造成交易高延遲問題[7]。因此研究各種共識(shí)機(jī)制優(yōu)缺點(diǎn),對(duì)物聯(lián)網(wǎng)和區(qū)塊鏈的結(jié)合具有重要的意義。

目前,出現(xiàn)了很多種共識(shí)機(jī)制,有的通過算力競爭來實(shí)現(xiàn),如工作量證明(Proof of Work,PoW)共識(shí)機(jī)制;有的使用投票選舉來實(shí)現(xiàn),如授權(quán)股權(quán)證明(Delegated Proof of Stake,DPoS)共識(shí)機(jī)制;還有的利用燃燒硬幣來實(shí)現(xiàn),如燃燒證明(Proof of Burn,PoB)共識(shí)機(jī)制以及其他實(shí)現(xiàn)形式的共識(shí)機(jī)制等。這些共識(shí)機(jī)制各有各的優(yōu)勢(shì),并且都在相應(yīng)的場景中得到了運(yùn)用。但是物聯(lián)網(wǎng)具有節(jié)點(diǎn)密集、資源受限、容量不足等特征,現(xiàn)有共識(shí)機(jī)制能否直接在物聯(lián)網(wǎng)場景中得以實(shí)現(xiàn),仍待研究。本文對(duì)區(qū)塊鏈技術(shù)現(xiàn)有的協(xié)議、算法和技術(shù)進(jìn)行分析和對(duì)比,研究各種共識(shí)機(jī)制在物聯(lián)網(wǎng)環(huán)境中使用時(shí)存在的問題。

本文的主要工作如下:

1)對(duì)面向物聯(lián)網(wǎng)的共識(shí)機(jī)制進(jìn)行了分類,分別討論了各類共識(shí)機(jī)制的工作原理和優(yōu)缺點(diǎn);

2)研究了共識(shí)機(jī)制在去中心化程度、交易處理速度、交易確認(rèn)延遲、安全性和可擴(kuò)展性方面與物聯(lián)網(wǎng)的適應(yīng)度;

3)討論了面向物聯(lián)網(wǎng)的區(qū)塊鏈共識(shí)機(jī)制現(xiàn)有的挑戰(zhàn),把握了今后研究工作的方向。

1 物聯(lián)網(wǎng)區(qū)塊鏈

1.1 區(qū)塊鏈

區(qū)塊鏈的概念最開始是由一個(gè)筆名為“中本聰”的學(xué)者于2008 年發(fā)表的論文“Bitcoin:a peer-to-peer electronic cash system”中提出的[8]。區(qū)塊鏈中存放了大量的交易信息,相當(dāng)于一個(gè)數(shù)據(jù)庫[9-12]。文獻(xiàn)[13]提出區(qū)塊鏈?zhǔn)且环N按照時(shí)間順序?qū)^(qū)塊從后向前依次鏈接起來的數(shù)據(jù)結(jié)構(gòu),利用非對(duì)稱加密技術(shù)來保證不可篡改和不可偽造的去中心化共享賬本。圖1 是區(qū)塊鏈結(jié)構(gòu)圖,其中a≥0(當(dāng)a=0 時(shí)表示創(chuàng)世區(qū)塊),區(qū)塊由區(qū)塊頭和區(qū)塊體構(gòu)成,區(qū)塊頭包括父區(qū)塊哈希值、版本號(hào)、時(shí)間戳、難度目標(biāo)、nonce值以及merkle根,區(qū)塊體保存著大量的交易信息。

圖1 區(qū)塊鏈結(jié)構(gòu)Fig.1 Blockchain structure

區(qū)塊鏈具有去中心化、開放性、共識(shí)機(jī)制和不可篡改等特點(diǎn),確保了交易信息的正確性、安全性。

首先,區(qū)塊鏈去中心化的特點(diǎn)使每個(gè)節(jié)點(diǎn)都有權(quán)共享交易信息并對(duì)信息的正確性進(jìn)行驗(yàn)證;其次,區(qū)塊鏈開放性的特點(diǎn)是每個(gè)節(jié)點(diǎn)在任何時(shí)間都可以加入或者退出;再次,區(qū)塊鏈共識(shí)機(jī)制的特點(diǎn)可以使沒有聯(lián)系的節(jié)點(diǎn),直接依靠共識(shí)機(jī)制來達(dá)成一致性協(xié)議;最后,區(qū)塊鏈不可篡改的特點(diǎn)是基于哈希算法來保證交易信息不會(huì)被更改[14]。此外,根據(jù)應(yīng)用場景和開放程度,區(qū)塊鏈可以被劃分為公有鏈、聯(lián)盟鏈和私有鏈[15-16]。

1.1.1 比特幣的運(yùn)行機(jī)制(區(qū)塊鏈1.0版本)

比特幣是區(qū)塊鏈1.0 版本的代表,它是一種數(shù)字貨幣,產(chǎn)生于分布式網(wǎng)絡(luò)結(jié)構(gòu),區(qū)塊鏈1.0 版本的系統(tǒng)架構(gòu)如圖2所示。

圖2 區(qū)塊鏈1.0版本架構(gòu)Fig.2 Blockchain version 1.0 architecture

在比特幣系統(tǒng)中,每個(gè)節(jié)點(diǎn)通過P2P 網(wǎng)絡(luò)傳輸?shù)姆绞酵瓿山灰仔畔⒌墓蚕?,并且?jié)點(diǎn)可以匿名,保證了網(wǎng)絡(luò)中交易信息的同步性。此外,為了防止雙花攻擊,系統(tǒng)采取給交易信息加上時(shí)間戳選取計(jì)算量最多的鏈為主鏈,維護(hù)其安全性。圖3描述了比特幣系統(tǒng)的運(yùn)行流程[17]:

1)用戶發(fā)起一筆新的交易,交易信息在全網(wǎng)中不斷被廣播;

2)每個(gè)節(jié)點(diǎn)對(duì)接收到的交易進(jìn)行驗(yàn)證,如果該交易被驗(yàn)證為有效,則將交易存儲(chǔ)在交易池中;

3)各節(jié)點(diǎn)通過挖礦來產(chǎn)生區(qū)塊,礦工們需要通過工作量證明來完成哈希計(jì)算;

4)當(dāng)一個(gè)節(jié)點(diǎn)挖出一個(gè)區(qū)塊,網(wǎng)絡(luò)中的其他節(jié)點(diǎn)將確認(rèn)該區(qū)塊的有效性,只需要花費(fèi)少量的PoW計(jì)算即可;

5)如果該區(qū)塊被確認(rèn)為有效,則將其鏈接到區(qū)塊鏈中;

6)成功完成一筆交易。

1.1.2 智能合約(區(qū)塊鏈2.0版本)

智能合約這一概念最先由Nick Szabo 提出,是一套以數(shù)字方式定義并被實(shí)現(xiàn)的承諾[18]。區(qū)塊鏈去中心化和不可篡改的特點(diǎn)為智能合約賦予了新的涵義,使智能合約能夠運(yùn)行在安全可靠的環(huán)境中,圖4 是區(qū)塊鏈2.0 版本的基礎(chǔ)架構(gòu)[13,19]。共識(shí)層包含各種共識(shí)機(jī)制,網(wǎng)絡(luò)層中P2P 網(wǎng)絡(luò)負(fù)責(zé)信息的廣播,數(shù)據(jù)層存放數(shù)據(jù)信息、時(shí)間戳等,激勵(lì)層包含以激勵(lì)的方式獲得收益所采用的機(jī)制[20-22],合約層主要是智能合約,應(yīng)用層是區(qū)塊鏈的應(yīng)用場景。Ethereum[23]和Hyperledger[24]等平臺(tái)利用智能合約,有效地解決了比特幣系統(tǒng)存在的交易處理速度慢和高延遲的問題。

圖3 比特幣系統(tǒng)運(yùn)行流程Fig.3 Operation flow of bitcoin system

圖4 區(qū)塊鏈2.0版本架構(gòu)Fig.4 Blockchain version 2.0 architecture

1.2 共識(shí)機(jī)制

去中心化是區(qū)塊鏈中的一個(gè)核心要素,每個(gè)節(jié)點(diǎn)的權(quán)力都是一樣的,為了保證各個(gè)節(jié)點(diǎn)之間相互協(xié)作需要一套算法,這套算法被稱為共識(shí)機(jī)制[25-26]。共識(shí)機(jī)制的研究起源比較早。1982 年,Lamport、Shostak 和Pease 提出了在遭受拜占庭節(jié)點(diǎn)的情況下如何達(dá)成一致性協(xié)議的拜占庭將軍問題,推動(dòng)了共識(shí)機(jī)制的發(fā)展[27-28]。

區(qū)塊鏈核心技術(shù)共識(shí)機(jī)制首先應(yīng)用于比特幣中,隨著區(qū)塊鏈技術(shù)的不斷發(fā)展與完善,共識(shí)機(jī)制也越來越成熟。常見的共識(shí)機(jī)制有工作量證明、權(quán)益證明(Proof of Stake,PoS)、授權(quán)股權(quán)證明、權(quán)威證明(Proof of Authority,PoA)、燃燒證明、貢獻(xiàn)證明(Proof of Contribution,PoC)、存在證明(Proof of Existence,PoE)[29]、數(shù)據(jù)可恢復(fù)證明(Proof of Retrievability,PoR)[30]、存儲(chǔ)證明(Proof of Storage)[31]、拜占庭容錯(cuò)(Byzantine Fault Tolerance,BFT)[32]、實(shí)用拜占庭容錯(cuò)(Practical BFT,PBFT)、簡化拜占庭容錯(cuò)(Simplified BFT,SBFT)[33]、MinBFT[34]、Honeybadge-BFT[35]、Algorand、Paxos[36]、Raft、Tendermint、埃歐塔(Internet of Things Application,IOTA)、Byteball、Hashgraph[37]、HashNet[38]、Ouroboros[39]等。

1.3 物聯(lián)網(wǎng)

物聯(lián)網(wǎng)通過連接互聯(lián)網(wǎng)和信息傳感設(shè)備,實(shí)現(xiàn)智能化控制和處理信息[40]。圖5 是物聯(lián)網(wǎng)層次結(jié)構(gòu),自底向上可分為三層:感知層、網(wǎng)絡(luò)層和應(yīng)用層。感知層能夠收集和處理信息;網(wǎng)絡(luò)層通過網(wǎng)絡(luò)傳輸完成信息交互;應(yīng)用層直接聯(lián)系具體業(yè)務(wù),如智慧城市[40]、智慧工廠[41]、智能家居[42]等。

物聯(lián)網(wǎng)通常包括資源約束的嵌入式設(shè)備,如射頻識(shí)別(Radio Frequency IDentification,RFID)和傳感器節(jié)點(diǎn)[43]。傳感器節(jié)點(diǎn)作為物聯(lián)網(wǎng)的重要組成部分,在實(shí)際應(yīng)用中會(huì)面臨一些技術(shù)挑戰(zhàn)[44-46]:第一,由于傳感器節(jié)點(diǎn)數(shù)量多,分布范圍廣,難以對(duì)節(jié)點(diǎn)進(jìn)行集中的管理和維護(hù);第二,由于體積小、功耗低、成本低,傳感器節(jié)點(diǎn)的能量、計(jì)算、存儲(chǔ)、通信能力受到限制,影響了網(wǎng)絡(luò)的擴(kuò)展能力;第三,由于大多數(shù)傳感器節(jié)點(diǎn)都部署在無人值守的區(qū)域,容易出現(xiàn)數(shù)據(jù)被篡改或遭受攻擊,安全性得不到保障;第四,傳感器節(jié)點(diǎn)容易損壞,一旦出現(xiàn)問題,就無法判斷是軟件問題、硬件問題還是系統(tǒng)故障,這是由于節(jié)點(diǎn)存儲(chǔ)空間有限,在節(jié)點(diǎn)端很難存儲(chǔ)過多的調(diào)試信息,沒有調(diào)試信息就不能夠找到錯(cuò)誤原因;第五,由于傳感器節(jié)點(diǎn)在共享信息時(shí),信息容易被泄露,面臨隱私泄露威脅。

圖5 物聯(lián)網(wǎng)層次結(jié)構(gòu)Fig.5 Hierarchical structure of internet of things

區(qū)塊鏈擁有安全可靠的加密技術(shù),并且憑借去中心化、共識(shí)機(jī)制、不可篡改的特性,能夠改善物聯(lián)網(wǎng)的安全和可擴(kuò)展性等問題[47]。區(qū)塊鏈去中心化的特點(diǎn)使物聯(lián)網(wǎng)設(shè)備不需要中心服務(wù)器直接進(jìn)行信息交互,解決中心機(jī)構(gòu)運(yùn)行成本高的問題。區(qū)塊鏈共識(shí)機(jī)制的特點(diǎn)能夠使物聯(lián)網(wǎng)設(shè)備之間保持信任,增強(qiáng)網(wǎng)絡(luò)的可靠性[48]。區(qū)塊鏈不可篡改的特點(diǎn)使得數(shù)據(jù)寫入?yún)^(qū)塊鏈就難以更改,實(shí)現(xiàn)物聯(lián)網(wǎng)設(shè)備中數(shù)據(jù)的追本溯源[49]。文獻(xiàn)[50]提出利用區(qū)塊鏈去中心化的特點(diǎn)解決物聯(lián)網(wǎng)集中訪問控制的問題,實(shí)現(xiàn)了去中心化訪問控制系統(tǒng)。文獻(xiàn)[51]為解決分布式物聯(lián)網(wǎng)內(nèi)的設(shè)備之間的信任問題,借助區(qū)塊鏈共識(shí)機(jī)制,提出了一種適用于分布式物聯(lián)網(wǎng)的信任管理方法,實(shí)現(xiàn)了數(shù)據(jù)共享與數(shù)據(jù)安全。將區(qū)塊鏈共識(shí)機(jī)制應(yīng)用于物聯(lián)網(wǎng)中,在物聯(lián)網(wǎng)設(shè)備之間實(shí)現(xiàn)共識(shí)過程,將增強(qiáng)物聯(lián)網(wǎng)的性能和安全性。

接下來,將詳細(xì)討論面向物聯(lián)網(wǎng)的各種共識(shí)機(jī)制,并對(duì)常見的共識(shí)機(jī)制進(jìn)行分類研究,分析共識(shí)機(jī)制是否適用于物聯(lián)網(wǎng)場景中。

2 共識(shí)算法

物聯(lián)網(wǎng)設(shè)備具有數(shù)量多、分布范圍廣、功耗低、計(jì)算能力弱和安全存在隱患的特征,因此分析區(qū)塊鏈共識(shí)機(jī)制的優(yōu)缺點(diǎn),對(duì)區(qū)塊鏈技術(shù)能否應(yīng)用于物聯(lián)網(wǎng)場景中具有至關(guān)重要的作用。隨著區(qū)塊鏈技術(shù)的發(fā)展,共識(shí)機(jī)制的數(shù)量與日俱增。本章將介紹在區(qū)塊鏈網(wǎng)絡(luò)中廣泛使用的共識(shí)機(jī)制,并討論它們的優(yōu)缺點(diǎn)。

根據(jù)生成新區(qū)塊的方式,可以把共識(shí)機(jī)制劃分為證明類、拜占庭類[7]和有向無環(huán)圖(Directed Acyclic Graph,DAG)類。下面將介紹各類共識(shí)機(jī)制(PoW、PoS、DPoS、PoA、PoC、Ouroboros、PBFT、Algorand、Tendermint、IOTA、Byteball),并對(duì)比分析共識(shí)機(jī)制在物聯(lián)網(wǎng)場景中的適應(yīng)度。

2.1 證明類共識(shí)機(jī)制

證明類共識(shí)需要在共識(shí)過程中證明自己滿足的特定條件,一般表示為“Proof of X”[52]。

2.1.1 PoW共識(shí)機(jī)制

PoW 共識(shí)機(jī)制,即工作量證明共識(shí)機(jī)制。其思想最早出現(xiàn)在1992 年由Dwork 和Naor 發(fā)表的論文中,被用來防止垃圾郵件問題[53]。比特幣成功利用PoW 共識(shí)機(jī)制在沒有中央機(jī)構(gòu)的情況下,使全網(wǎng)每個(gè)獨(dú)立的節(jié)點(diǎn)就交易信息的正確性達(dá)成一致,實(shí)現(xiàn)節(jié)點(diǎn)之間的相互信任,同時(shí)防止惡意節(jié)點(diǎn)制造假身份發(fā)起女巫攻擊[54]。

圖6 PoW共識(shí)機(jī)制工作原理Fig.6 Working principle of PoW consensus mechanism

難度目標(biāo)值的計(jì)算公式[55]為:

其中:newtarget表示生產(chǎn)新區(qū)塊的難度目標(biāo)值;oldtarget表示生產(chǎn)上一個(gè)區(qū)塊的難度目標(biāo)值;totaltime代表生產(chǎn)前2 016 個(gè)區(qū)塊所使用的時(shí)間。PoW 難度目標(biāo)值調(diào)整機(jī)制:newtarget變大,生產(chǎn)區(qū)塊所使用的時(shí)間會(huì)縮短;newtarget變小,生產(chǎn)區(qū)塊所使用的時(shí)間會(huì)變長。

SHA256哈希函數(shù):交易信息被編碼為固定長度的由字母和數(shù)字組成的字符串后寫入?yún)^(qū)塊鏈[13]。哈希函數(shù)滿足三個(gè)特性[17]:1)輸入長度不同,但是輸出長度卻是不變的。2)由輸出推導(dǎo)出輸入基本上是不可能發(fā)生的。對(duì)于給定的b,找到一個(gè)a,使Hash(a)=b,幾乎不可能。3)輸入不同,要產(chǎn)生相同的輸出是很難的。給定不相同的a和b,使Hash(a)=Hash(b)基本上不可能。

數(shù)字簽名:共識(shí)機(jī)制通過數(shù)字簽名的方式來核對(duì)發(fā)送者的身份,驗(yàn)證交易信息在傳輸過程中沒有被篡改過,保證交易信息的完整性。數(shù)字簽名的算法流程[17]如下:1)密鑰生成。首先對(duì)交易信息進(jìn)行加密,并且使用橢圓曲線密碼算法來產(chǎn)生公鑰和私鑰。2)簽名算法。接收者使用私鑰對(duì)接收到的消息進(jìn)行簽名,并且廣播出去。3)驗(yàn)證算法。對(duì)發(fā)送者的身份進(jìn)行確認(rèn),判斷身份是否正確。

PoW 共識(shí)機(jī)制的通信復(fù)雜度:通信復(fù)雜度是指共識(shí)過程中各個(gè)節(jié)點(diǎn)為了達(dá)成一致所需要的通信量。由于工作量證明采用哈希算法,通過尋找nonce值,重復(fù)計(jì)算區(qū)塊頭信息,礦工之間不需要通信,只有在生成區(qū)塊后才在全網(wǎng)進(jìn)行廣播,其他節(jié)點(diǎn)驗(yàn)證區(qū)塊有效性。因此,PoW 共識(shí)機(jī)制的通信復(fù)雜度為O(n)。

PoW共識(shí)機(jī)制的優(yōu)點(diǎn):

1)去中心化程度高。每個(gè)節(jié)點(diǎn)享有同等參與的權(quán)力,并且對(duì)產(chǎn)生的新區(qū)塊進(jìn)行驗(yàn)證工作。

2)安全性高?;谧铋L鏈原則的PoW 共識(shí)機(jī)制,產(chǎn)生區(qū)塊需要犧牲大量的算力,作惡成本高,避免雙花攻擊。

3)算法簡單,容易實(shí)現(xiàn)。生成和驗(yàn)證區(qū)塊是通過求解哈希函數(shù)來解決一個(gè)純粹的數(shù)學(xué)問題[56]。

PoW共識(shí)機(jī)制的缺點(diǎn):

1)高延遲。生成一個(gè)區(qū)塊需要花費(fèi)10 min,使得區(qū)塊的確認(rèn)時(shí)間長。

2)可擴(kuò)展性差。隨著交易數(shù)量的增加,處理交易的能力有限。

3)成本高。由于挖礦是一個(gè)不斷進(jìn)行哈希計(jì)算的過程,要以耗費(fèi)大量的算力為代價(jià),浪費(fèi)資源。

4)需要特殊的硬件設(shè)備,而且對(duì)帶寬的要求較高。

PoW共識(shí)機(jī)制與物聯(lián)網(wǎng)場景的適應(yīng)度:

PoW 共識(shí)機(jī)制應(yīng)用于物聯(lián)網(wǎng)場景中,受到四個(gè)因素限制:一是,挖礦需要消耗大量的算力資源,而物聯(lián)網(wǎng)設(shè)備由于計(jì)算能力弱不適合成為礦工節(jié)點(diǎn)[2];二是,完成共識(shí)過程需要消耗大量的能量,而物聯(lián)網(wǎng)設(shè)備具有低功耗的特征,而且大部分物聯(lián)網(wǎng)終端采用電池供電壽命有限,不能滿足能量的供應(yīng);三是,由于哈希函數(shù)求解的復(fù)雜性,解決此難題需要一些時(shí)間,使交易處理速度較慢,影響了出塊的時(shí)間,無法滿足物聯(lián)網(wǎng)應(yīng)用的低延遲需求;四是,工作量證明共識(shí)機(jī)制需要特殊的硬件設(shè)備來支持以及對(duì)帶寬有一定的要求,也不適合物聯(lián)網(wǎng)場景。

2.1.2 PoS共識(shí)機(jī)制

PoS 共識(shí)機(jī)制,即權(quán)益證明共識(shí)機(jī)制,也稱股權(quán)證明共識(shí)機(jī)制。其想法來源于Nick Szabo[18],之后在2011 年bitconitalk論壇上被Quantum Mechanic 正式提出[57],目的是解決PoW 共識(shí)機(jī)制存在處理速度慢、高延遲以及計(jì)算量大的問題。與PoW 相比,PoS 是用權(quán)益來代替算力,權(quán)益也被稱為幣齡。該算法的中心思想是通過權(quán)益大小來獲得生成區(qū)塊的權(quán)力,權(quán)益越大的節(jié)點(diǎn)越有可能先生成區(qū)塊,當(dāng)系統(tǒng)簽名一個(gè)區(qū)塊時(shí),其幣齡被置為零[57]。由于通過幣齡來產(chǎn)生區(qū)塊不需要消耗大量的算力,因此能量消耗少。

PoS 算法表示:coinage=coin*time,coinage表示該筆交易的幣齡,coin和time分別表示持有貨幣的數(shù)量和時(shí)間,持有貨幣的數(shù)量越多或者時(shí)間越長,則獲得產(chǎn)生區(qū)塊的難度越小。

PoS共識(shí)機(jī)制的優(yōu)點(diǎn):

1)節(jié)省資源。生產(chǎn)區(qū)塊不需要進(jìn)行大量的計(jì)算,消耗的能量少。

2)低延遲。節(jié)點(diǎn)挖礦不需要算力競爭,只需要權(quán)益證明,提高了確認(rèn)效率,從交易被打包裝入?yún)^(qū)塊到生成新區(qū)塊的共識(shí)過程的確認(rèn)時(shí)間大約是1 min[56]。

PoS共識(shí)機(jī)制的缺點(diǎn):

1)安全性差。由于挖礦成本不高,攻擊者可以累積一定量的幣齡,發(fā)起雙花攻擊。

2)可擴(kuò)展性差。由于交易數(shù)量的增加,網(wǎng)絡(luò)節(jié)點(diǎn)處理交易的能力有限。

3)激勵(lì)問題。因?yàn)镻oS共識(shí)機(jī)制在共識(shí)過程中不需要消耗大量的算力,相較于PoW,其激勵(lì)程度遠(yuǎn)遠(yuǎn)不及。

PoS共識(shí)機(jī)制與物聯(lián)網(wǎng)場景的適應(yīng)度:

PoS 共識(shí)機(jī)制應(yīng)用于物聯(lián)網(wǎng)場景中,受到兩個(gè)限制:一是,PoS 共識(shí)機(jī)制生成區(qū)塊成本低,惡意節(jié)點(diǎn)可以發(fā)起51%攻擊,而物聯(lián)網(wǎng)設(shè)備本身就容易遭受攻擊,因此不太適用于物聯(lián)網(wǎng)場景中[58];二是,由于其可擴(kuò)展性差,當(dāng)物聯(lián)網(wǎng)設(shè)備增加時(shí),網(wǎng)絡(luò)節(jié)點(diǎn)處理能力有限。

2.1.3 DPoS共識(shí)機(jī)制

DPoS[59]共識(shí)機(jī)制,即授權(quán)股份證明機(jī)制。DPoS 是在PoS的基礎(chǔ)上改進(jìn)的一種共識(shí)算法,與PoW 和PoS一樣,最長的有效區(qū)塊鏈即為最佳區(qū)塊鏈。相較于PoW 和PoS 共識(shí)機(jī)制,DPoS 共識(shí)機(jī)制提高了交易處理速度,大約每3 s 產(chǎn)生一個(gè)區(qū)塊。全網(wǎng)每個(gè)擁有權(quán)益的節(jié)點(diǎn)都具有投票的權(quán)力,投票選出一定數(shù)量的代表節(jié)點(diǎn),代表節(jié)點(diǎn)的職責(zé)是生產(chǎn)區(qū)塊并進(jìn)行區(qū)塊的驗(yàn)證,類似于現(xiàn)實(shí)中“民主集中”制度的記賬方式,可以在短時(shí)間內(nèi)達(dá)成共識(shí)[60]。圖7 是DPoS 共識(shí)機(jī)制的工作流程:每個(gè)擁有權(quán)益的用戶,投票選出100 個(gè)代表,代表節(jié)點(diǎn)以輪流的方式在規(guī)定的時(shí)間內(nèi)生產(chǎn)區(qū)塊,只有驗(yàn)證通過,才能產(chǎn)生有效區(qū)塊。此外,如果某一個(gè)代表節(jié)點(diǎn)長時(shí)間不在線或者多次產(chǎn)生無效區(qū)塊,其他節(jié)點(diǎn)將投票選出一個(gè)新代表節(jié)點(diǎn)。

圖7 DPoS共識(shí)機(jī)制的工作流程Fig.7 Workflow of DPoS consensus mechanism

DPoS共識(shí)機(jī)制的優(yōu)點(diǎn):

1)交易確認(rèn)速度快。代表節(jié)點(diǎn)的數(shù)量是有限的,使得短時(shí)間內(nèi)達(dá)成共識(shí),產(chǎn)生一個(gè)區(qū)塊僅僅需要大約3 s,相較于PoW 共識(shí)機(jī)制產(chǎn)生一個(gè)區(qū)塊需要10 min,明顯提高了確認(rèn)速度。

2)節(jié)約資源。在系統(tǒng)中投票選取少量的代表節(jié)點(diǎn),依靠每個(gè)代表節(jié)點(diǎn)輪流產(chǎn)生區(qū)塊,不需要消耗大量的算力資源。

3)可擴(kuò)展性好。由于代表節(jié)點(diǎn)處理交易能力強(qiáng),提高了節(jié)點(diǎn)處理交易的擴(kuò)展能力[60]。

4)抵御雙花攻擊。因?yàn)槊總€(gè)代表節(jié)點(diǎn)都擁有生成區(qū)塊的權(quán)力,一旦一個(gè)代表節(jié)點(diǎn)在規(guī)定的時(shí)間沒有生成區(qū)塊或者多次產(chǎn)生無效的區(qū)塊,那么這個(gè)代表節(jié)點(diǎn)會(huì)被其他代表節(jié)點(diǎn)投票剔除。

DPoS共識(shí)機(jī)制的缺點(diǎn):

1)將一些代表節(jié)點(diǎn)的權(quán)力中心化。因?yàn)槎鄠€(gè)代表節(jié)點(diǎn)能夠聯(lián)合起來共同作惡,影響共識(shí)過程。

2)代表節(jié)點(diǎn)可能遭受分布式拒絕服務(wù)攻擊(Distributed Denial of Service,DDoS)攻擊。因?yàn)楣粽呖梢詥为?dú)對(duì)每一個(gè)代表節(jié)點(diǎn)發(fā)起攻擊,從而影響代表節(jié)點(diǎn)在規(guī)定的時(shí)間內(nèi)生產(chǎn)區(qū)塊。

DPoS共識(shí)機(jī)制與物聯(lián)網(wǎng)場景的適應(yīng)度:

目前,采用DPoS 共識(shí)機(jī)制的區(qū)塊鏈應(yīng)用平臺(tái)是EOS 項(xiàng)目。EOS全稱EOS.IO軟件,通過構(gòu)建一個(gè)類似操作系統(tǒng)的體系結(jié)構(gòu)的應(yīng)用程序,來實(shí)現(xiàn)去中心化應(yīng)用程序的性能擴(kuò)展(每秒可以處理百萬級(jí)交易)[61]。EOS 項(xiàng)目的物聯(lián)網(wǎng)應(yīng)用是EOSIoT,利用智能合約和射頻識(shí)別(Radio Frequency Identification,RFID)系統(tǒng)傳送的電子標(biāo)簽,實(shí)現(xiàn)EOS 鏈服務(wù)于物聯(lián)網(wǎng)場景中[62]。

DPoS 共識(shí)機(jī)制完全應(yīng)用于物聯(lián)網(wǎng)場景中時(shí)會(huì)受到一些限制:DPoS 共識(shí)機(jī)制的共識(shí)過程雖然簡單高效,但是去中心化程度不高,不適用于分布范圍廣的物聯(lián)網(wǎng)設(shè)備;而且,當(dāng)物聯(lián)網(wǎng)設(shè)備少時(shí),代表性不強(qiáng)。對(duì)DPoS共識(shí)機(jī)制改進(jìn)的物聯(lián)網(wǎng)區(qū)塊鏈項(xiàng)目是IoTEX,通過隨機(jī)選擇代表節(jié)點(diǎn)發(fā)布區(qū)塊,進(jìn)一步增強(qiáng)了去中心化和可擴(kuò)展性方面的能力[63]。圖8 是IoTEX架構(gòu),根鏈負(fù)責(zé)維護(hù)子鏈,子鏈直接用來連接物聯(lián)網(wǎng)設(shè)備,當(dāng)子鏈出現(xiàn)故障時(shí),根鏈繼續(xù)正常運(yùn)行。

圖8 IoTEX架構(gòu)Fig.8 IoTEX architecture

2.1.4 PoA共識(shí)機(jī)制

PoA 共識(shí)機(jī)制,即權(quán)威證明共識(shí)機(jī)制,在PoS 的基礎(chǔ)上進(jìn)一步提高交易處理速度和可擴(kuò)展性。該機(jī)制把節(jié)點(diǎn)分為普通節(jié)點(diǎn)和驗(yàn)證者,由驗(yàn)證者輪流對(duì)區(qū)塊進(jìn)行簽名來判斷是否為驗(yàn)證者。以下是PoA共識(shí)機(jī)制的工作原理[64]:

1)系統(tǒng)根據(jù)節(jié)點(diǎn)信譽(yù)選出一定數(shù)量的驗(yàn)證者。

2)用戶或者智能合約向系統(tǒng)發(fā)起交易請(qǐng)求。

3)系統(tǒng)中的驗(yàn)證者接收到交易請(qǐng)求后,將交易打包到區(qū)塊中。

4)當(dāng)一個(gè)驗(yàn)證者將交易打包到區(qū)塊并確認(rèn)出塊,在全網(wǎng)進(jìn)行廣播,驗(yàn)證者對(duì)區(qū)塊進(jìn)行簽名,檢查該節(jié)點(diǎn)是否為驗(yàn)證者。如果該節(jié)點(diǎn)被確認(rèn)為驗(yàn)證者,則該區(qū)塊是有效的。

5)如果普通節(jié)點(diǎn)申請(qǐng)成為新的驗(yàn)證者,需要在驗(yàn)證者內(nèi)部投票決定。驗(yàn)證者將根據(jù)投票數(shù)量是否大于1/2,來對(duì)該節(jié)點(diǎn)進(jìn)行判斷。如果得到超過1/2的投票數(shù),該節(jié)點(diǎn)將成為新的驗(yàn)證者。

PoA共識(shí)機(jī)制的優(yōu)點(diǎn):

1)交易處理速度快。由于計(jì)算能力要求低,不需要進(jìn)行大量的計(jì)算,平均只需5 s即可生成區(qū)塊[65]。

2)安全性高。由于該機(jī)制需要對(duì)驗(yàn)證者的身份進(jìn)行確認(rèn),只有確認(rèn)合格才能發(fā)布區(qū)塊,所以驗(yàn)證者很難作惡,能夠有效避免雙花攻擊。

PoA共識(shí)機(jī)制的缺點(diǎn):

1)去中心化程度不高。因?yàn)閰⑴c共識(shí)過程的驗(yàn)證者數(shù)量較少。

2)驗(yàn)證者作惡。如果驗(yàn)證者在共識(shí)過程中選擇作惡,當(dāng)前有效的解決方法是使用多重簽名機(jī)制。

3)隱私威脅。由于驗(yàn)證者身份是公開的,個(gè)人信息容易被泄露。

PoA共識(shí)機(jī)制與物聯(lián)網(wǎng)場景的適應(yīng)度:

PoA 共識(shí)機(jī)制適用于解決物聯(lián)網(wǎng)面臨的處理能力弱、能量供應(yīng)有限等問題,但是應(yīng)用于物聯(lián)網(wǎng)場景中會(huì)受到一個(gè)限制:與DPoS共識(shí)機(jī)制類似,由于去中心化程度不高,不適用于分布范圍廣的物聯(lián)網(wǎng)設(shè)備。

2.1.5 PoC共識(shí)機(jī)制

PoC 共識(shí)機(jī)制,即貢獻(xiàn)證明共識(shí)機(jī)制,最早是由CyberVein 團(tuán)隊(duì)提出的,被用來解決區(qū)塊鏈中51%攻擊問題。PoC 共識(shí)機(jī)制生產(chǎn)區(qū)塊是通過貢獻(xiàn)算法選擇貢獻(xiàn)最多的節(jié)點(diǎn),貢獻(xiàn)算法的計(jì)算公式[66]:

其中:MC代表貢獻(xiàn)值;m和n表示節(jié)點(diǎn)的數(shù)量;ω1影響復(fù)原的時(shí)間;ω2與節(jié)點(diǎn)的初始狀態(tài)有關(guān);ω3是一個(gè)常數(shù)值;ω4是節(jié)點(diǎn)在線時(shí)間系數(shù);ΔT是一個(gè)時(shí)間差;kc表示節(jié)點(diǎn)狀態(tài)的相關(guān)系數(shù);T1代表共識(shí)結(jié)束時(shí)區(qū)塊的時(shí)間戳;T2代表初始的時(shí)間戳;T3代表用戶不在線的時(shí)間。

PoC共識(shí)機(jī)制的優(yōu)點(diǎn):

1)去中心化程度高。貢獻(xiàn)證明算法每次選擇貢獻(xiàn)最高的節(jié)點(diǎn)生產(chǎn)區(qū)塊,節(jié)點(diǎn)可以自由參與或者退出。

2)安全可靠。采用貢獻(xiàn)算法,以貢獻(xiàn)量最大的節(jié)點(diǎn)生產(chǎn)區(qū)塊,能夠避免雙花攻擊。

PoC共識(shí)機(jī)制的缺點(diǎn):

1)可擴(kuò)展性差。隨著交易量的增加,網(wǎng)絡(luò)節(jié)點(diǎn)處理交易的性能沒有改變。

PoC共識(shí)機(jī)制與物聯(lián)網(wǎng)場景的適應(yīng)度:

PoC 共識(shí)機(jī)制雖然能夠解決物聯(lián)網(wǎng)存在的安全問題,但是會(huì)受到一個(gè)限制:隨著物聯(lián)網(wǎng)設(shè)備日益增加,擴(kuò)展能力將受限。

2.1.6 Ouroboros共識(shí)機(jī)制

基于PoS 共識(shí)機(jī)制的Ouroboros,被用來防止自私挖礦等攻擊,保證系統(tǒng)安全性。在共識(shí)過程中,用slot 表示劃分的時(shí)間段,相鄰的幾個(gè)slot組成一個(gè)epoch。

Ouroboros共識(shí)機(jī)制的工作原理[39]:

1)獲取當(dāng)前epoch 的公鑰vk、權(quán)益s和初始化隨機(jī)種子ρ的信息。

2)由隨機(jī)變量F(S,ρ,slj)計(jì)算出領(lǐng)導(dǎo)者Ui負(fù)責(zé)生產(chǎn)區(qū)塊的概率,其中代表第j個(gè)slot。如果超過當(dāng)前slot 的時(shí)間,放棄當(dāng)前的slot 進(jìn)入下一個(gè);同時(shí),MPC 協(xié)議會(huì)產(chǎn)生一個(gè)隨機(jī)種子ρ作為下一個(gè)epoch 過程的函數(shù)信息。

3)當(dāng)前的epoch過程完成。

Ouroboros共識(shí)機(jī)制的優(yōu)點(diǎn):

1)安全性高。Ouroboros對(duì)安全性做了嚴(yán)格的數(shù)學(xué)論證,提出了一種新的激勵(lì)機(jī)制,讓誠實(shí)節(jié)點(diǎn)的行為是一個(gè)近似納什均衡,能夠防止惡意攻擊。

2)交易處理速度快。耗費(fèi)算力資源少,比PoW 和PoS 共識(shí)機(jī)制更高效,大約能夠在20 s達(dá)成共識(shí)完成出塊。

Ouroboros共識(shí)機(jī)制的缺點(diǎn):

1)容易遭受DDoS 攻擊。由于Ouroboros 共識(shí)機(jī)制能夠提前知道誰是下一個(gè)出塊者,攻擊者可以單獨(dú)發(fā)起對(duì)某一個(gè)出塊者的惡意行為。

2)去中心化程度低。在Ouroboros共識(shí)機(jī)制中,由于節(jié)點(diǎn)進(jìn)行選擇出塊候選人與代幣的分布有關(guān),會(huì)影響去中心化程度。

Ouroboros共識(shí)機(jī)制與物聯(lián)網(wǎng)場景的適應(yīng)度:

Ouroboros 共識(shí)機(jī)制提高了系統(tǒng)的安全性和交易速度,但由于后期去中心化程度的降低,不太適用于物聯(lián)網(wǎng)場景中。

2.2 拜占庭類共識(shí)機(jī)制

拜占庭類共識(shí)機(jī)制,是以BFT為基礎(chǔ)發(fā)展而來的。

2.2.1 PBFT共識(shí)機(jī)制

PBFT 共識(shí)算法,即實(shí)用拜占庭容錯(cuò)共識(shí)機(jī)制,最早是由Castro 和Liskov 在1999 年發(fā)表的論文中提出的[67]。節(jié)點(diǎn)間為了達(dá)成共識(shí)需要處理大量的消息,作出決定所需的消息數(shù)量取決于拜占庭節(jié)點(diǎn)的估計(jì)數(shù)量,通常用f表示拜占庭節(jié)點(diǎn)數(shù),n表示網(wǎng)絡(luò)中總節(jié)點(diǎn)數(shù),使用n與f的關(guān)系在分布式系統(tǒng)中達(dá)成共識(shí)。比特幣中n>2f+1,如果拜占庭節(jié)點(diǎn)數(shù)超過全網(wǎng)總節(jié)點(diǎn)數(shù)的1/2,會(huì)使區(qū)塊鏈分叉,遭受雙花攻擊。而PBFT共識(shí)機(jī)制采用的是n>3f+1,只要系統(tǒng)中正常工作的節(jié)點(diǎn)能夠達(dá)到2/3 就可以達(dá)成共識(shí)。PBFT 算法由請(qǐng)求、預(yù)準(zhǔn)備、準(zhǔn)備、提交和回復(fù)五個(gè)階段組成,一次共識(shí)過程中存在一個(gè)主節(jié)點(diǎn)和若干個(gè)備份節(jié)點(diǎn),如圖9 所示。PBFT 共識(shí)機(jī)制的工作過程[67]如下:

1)請(qǐng)求。網(wǎng)絡(luò)中的主節(jié)點(diǎn)接收客戶端發(fā)送的請(qǐng)求消息。

2)預(yù)準(zhǔn)備。主節(jié)點(diǎn)接收到消息后,計(jì)算預(yù)準(zhǔn)備消息為(預(yù)準(zhǔn)備,v,a,b),其中v表示視圖編號(hào),a表示序列號(hào),b為消息的摘要。

3)準(zhǔn)備。備份節(jié)點(diǎn)接收到預(yù)準(zhǔn)備消息后,計(jì)算準(zhǔn)備消息為(準(zhǔn)備,v,a,b,i),i為節(jié)點(diǎn)編號(hào)。同時(shí),每個(gè)節(jié)點(diǎn)需要檢驗(yàn)消息的有效性:如果驗(yàn)證有效,就會(huì)把消息寫到日志文件中。

4)提交。每個(gè)節(jié)點(diǎn)在收到準(zhǔn)備消息后,會(huì)對(duì)準(zhǔn)備消息進(jìn)行驗(yàn)證,只有通過驗(yàn)證客戶端才能收到回復(fù)。

5)回復(fù)。若客戶端收到的相同回復(fù)消息至少是f+1,則表示請(qǐng)求結(jié)束;否則,重新發(fā)起請(qǐng)求。

圖9 PBFT算法流程Fig.9 PBFT algorithm flow

文獻(xiàn)[68]針對(duì)PBFT 共識(shí)過程中需要進(jìn)行多次交互的問題,提出了一種基于信用的改進(jìn)PBFT共識(shí)機(jī)制的高效動(dòng)態(tài)的CPBFT 共識(shí)機(jī)制,該機(jī)制能夠減少交易確認(rèn)的時(shí)間和節(jié)點(diǎn)與節(jié)點(diǎn)之間的通信次數(shù),提高了系統(tǒng)的性能。文獻(xiàn)[69]提出采用多主節(jié)點(diǎn)的PBFT共識(shí)機(jī)制,有效地降低了拜占庭節(jié)點(diǎn)作為主節(jié)點(diǎn)的可能性。

PBFT共識(shí)機(jī)制的通信復(fù)雜度:由于算法共識(shí)過程的五個(gè)階段需要廣播大量的消息,所以PBFT共識(shí)機(jī)制的通信復(fù)雜度為O(n2)。

PBFT共識(shí)機(jī)制的優(yōu)點(diǎn):

1)共識(shí)效率高。在秒級(jí)內(nèi)就能夠生產(chǎn)區(qū)塊,效率高。

PBFT共識(shí)機(jī)制的缺點(diǎn):

1)適用范圍有限。PBFT 共識(shí)機(jī)制不適合采用公有鏈方式。

2)可擴(kuò)展性較差。在節(jié)點(diǎn)數(shù)增多后,網(wǎng)絡(luò)節(jié)點(diǎn)處理能力有限。

3)容錯(cuò)性低。PBFT 共識(shí)機(jī)制要求節(jié)點(diǎn)總數(shù)n>3f+1,即系統(tǒng)拜占庭節(jié)點(diǎn)數(shù)不超過全網(wǎng)節(jié)點(diǎn)數(shù)的1/3。

4)容易遭受拒絕服務(wù)(Denial of Service,DoS)攻擊。攻擊者發(fā)起對(duì)一筆交易的拒絕服務(wù)攻擊,使消息得不到傳播,阻礙成功完成交易。

PBFT共識(shí)機(jī)制與物聯(lián)網(wǎng)場景的適應(yīng)度:

PBFT 共識(shí)機(jī)制應(yīng)用于物聯(lián)網(wǎng)會(huì)受到一個(gè)限制:由于PBFT共識(shí)機(jī)制的安全性會(huì)隨著節(jié)點(diǎn)數(shù)量的增多而降低,而物聯(lián)網(wǎng)設(shè)備數(shù)量多,不能夠解決物聯(lián)網(wǎng)設(shè)備的安全威脅問題。

2.2.2 Algorand共識(shí)機(jī)制

Algorand 是一種將PoS 與BFT 共識(shí)機(jī)制結(jié)合的混合共識(shí)機(jī)制,解決了PoW 和PoS 共識(shí)機(jī)制中存在的交易延遲以及PBFT 共識(shí)機(jī)制的可擴(kuò)展性問題[70]。該共識(shí)機(jī)制以拜占庭協(xié)議為基礎(chǔ),在共識(shí)過程結(jié)束時(shí)生成一個(gè)區(qū)塊。因此,交易確認(rèn)時(shí)間比PoW 和PoS 共識(shí)機(jī)制短。而且,在Algorand 中會(huì)對(duì)每個(gè)用戶分配一個(gè)權(quán)重,該權(quán)重大小是根據(jù)用戶所占用資金數(shù)量決定的,只要系統(tǒng)中有占2/3 資金以上的誠實(shí)節(jié)點(diǎn),就可以避免雙花和分叉[43]。此外,通過隨機(jī)選擇領(lǐng)導(dǎo)者生產(chǎn)區(qū)塊和委員會(huì)成員投票決議(驗(yàn)證區(qū)塊)的方式實(shí)現(xiàn)共識(shí)過程,解決了PBFT共識(shí)機(jī)制的可擴(kuò)展性問題。

Algorand 共識(shí)過程[28]:①在當(dāng)前輪中,計(jì)算隨機(jī)數(shù)的數(shù)值,Qi-1是隨機(jī)種子,ci-1是上一輪的領(lǐng)導(dǎo)者表示ci-1對(duì)Qi-2的數(shù)字簽名,i-1表示輪數(shù)。②利用可驗(yàn)證隨機(jī)函數(shù)(Verifiable Random Function,VRF)選出領(lǐng)導(dǎo)者和委員會(huì)成員。③當(dāng)前被選中的領(lǐng)導(dǎo)者運(yùn)行委員會(huì)內(nèi)改進(jìn)的拜占庭共識(shí)算法BA★。

Algorand共識(shí)機(jī)制的優(yōu)點(diǎn):

1)交易處理速度快于PoW 和PoS 共識(shí)機(jī)制。Algorand 共識(shí)機(jī)制通過選取一部分節(jié)點(diǎn)完成共識(shí)過程,提高了交易處理的效率;而且采用改進(jìn)的拜占庭共識(shí)算法BA★,以很小的通信量使委員會(huì)成員達(dá)成一致,進(jìn)一步縮短了共識(shí)時(shí)間。

2)安全性高。由于采用了隨機(jī)選取領(lǐng)導(dǎo)者和委員會(huì)成員的方式,不能夠確定誰是下一個(gè)區(qū)塊的生產(chǎn)者,有效地抵御了攻擊者的任意行為。

Algorand共識(shí)機(jī)制的缺點(diǎn):

1)沒有激勵(lì)機(jī)制。由于沒有額外的獎(jiǎng)勵(lì),節(jié)點(diǎn)不會(huì)積極參與。

2)安全隱患。網(wǎng)絡(luò)用戶重復(fù)使用領(lǐng)導(dǎo)者和委員會(huì)成員的私鑰,使私鑰容易被泄露;此外,當(dāng)系統(tǒng)中惡意節(jié)點(diǎn)占有2/3以上資金時(shí),惡意節(jié)點(diǎn)可以發(fā)起任何行為的攻擊。

3)缺少懲罰機(jī)制。在共識(shí)過程中,如果存在惡意節(jié)點(diǎn),缺乏懲罰機(jī)制將不能阻止惡意行為攻擊。

Algorand共識(shí)機(jī)制與物聯(lián)網(wǎng)場景的適應(yīng)度:

Algorand 共識(shí)機(jī)制應(yīng)用于物聯(lián)網(wǎng)場景中會(huì)受到兩個(gè)限制:一是隱私泄露問題。由于在共識(shí)過程中會(huì)重復(fù)使用私鑰進(jìn)行簽名,可能會(huì)泄露用戶信息,而物聯(lián)網(wǎng)設(shè)備本身就存在隱私泄露問題;二是當(dāng)惡意節(jié)點(diǎn)掌握系統(tǒng)2/3 以上資金,會(huì)破壞共識(shí)過程,而物聯(lián)網(wǎng)設(shè)備本身就容易遭受安全威脅,這將使Algorand共識(shí)機(jī)制應(yīng)用于物聯(lián)網(wǎng)中面臨安全挑戰(zhàn)。

2.2.3 Tendermint共識(shí)機(jī)制

Tendermint 共識(shí)機(jī)制是基于PoS 和PBFT 的共識(shí)機(jī)制,目的是為了解決無利害關(guān)系問題[71]。Tendermint 共識(shí)機(jī)制受PBFT SMR 算法和DLS 算法的啟發(fā),與DLS 算法類似,Tendermint 以輪為單位進(jìn)行,每輪都有一個(gè)專用的提議者(協(xié)調(diào)者或領(lǐng)導(dǎo)者),流程進(jìn)入新一輪,作為正常處理的一部分[72]。Tendermint 共識(shí)算法中有兩個(gè)角色:1)驗(yàn)證者,在生產(chǎn)區(qū)塊階段擁有投票的權(quán)力;2)提議者,提議區(qū)塊。其共識(shí)過程分為三個(gè)核心步驟和兩個(gè)特殊步驟,也稱一輪。三個(gè)核心步驟是預(yù)投票、預(yù)提交、提交,兩個(gè)特殊步驟是提議者提議區(qū)塊、生成新區(qū)塊并且區(qū)塊鏈高度加1。

圖10 是共識(shí)過程[71]:首先隨機(jī)選擇一部分節(jié)點(diǎn)成為驗(yàn)證者,然后從驗(yàn)證者中選擇一個(gè)作為提議者,當(dāng)一個(gè)提議者完成對(duì)區(qū)塊的提議后,驗(yàn)證者將以循環(huán)的方式產(chǎn)生下一個(gè)提議者。提議者開始提議一個(gè)區(qū)塊,并向全網(wǎng)廣播,驗(yàn)證者在收到這個(gè)提議區(qū)塊后,驗(yàn)證該區(qū)塊的有效性,如果是有效區(qū)塊,就進(jìn)入到投票環(huán)節(jié)。在投票過程中,只有獲得2/3以上驗(yàn)證者同意的票數(shù)才能進(jìn)入到生產(chǎn)區(qū)塊的下一個(gè)階段。投票過程分為三個(gè)階段:第一階段預(yù)投票,如果有2/3 以上的驗(yàn)證者投票同意則進(jìn)入到第二階段預(yù)提交。同樣,在預(yù)提交階段如果有2/3以上的驗(yàn)證者投票同意則進(jìn)入到下一個(gè)階段提交。最終,提交產(chǎn)生一個(gè)新區(qū)塊,進(jìn)入下一輪。此外,如果提議者沒有在設(shè)置的時(shí)間內(nèi)提議區(qū)塊,系統(tǒng)不會(huì)等待而會(huì)生成一個(gè)空塊,進(jìn)入下一階段。在預(yù)投票階段,如果沒有獲得2/3 驗(yàn)證者投票的同意,系統(tǒng)也不會(huì)等待會(huì)生成一個(gè)空塊,進(jìn)入預(yù)提交階段。在預(yù)提交階段,如果沒有獲得2/3 驗(yàn)證者投票的同意,直接進(jìn)入下一輪,由下一個(gè)提議者開始提議區(qū)塊??諌K不含任何交易信息,不是一個(gè)真正意義上的區(qū)塊。

圖10 Tendermint共識(shí)機(jī)制工作原理Fig.10 Working principle of Tendermint consensus mechanism

Tendermint 共識(shí)機(jī)制的通信復(fù)雜度:因?yàn)樵谕镀彪A段,需要網(wǎng)絡(luò)中2/3 以上的驗(yàn)證者投票同意才可以發(fā)送消息,所以,Algorand共識(shí)機(jī)制的通信復(fù)雜度為O(n2)。

Tendermint共識(shí)機(jī)制的優(yōu)點(diǎn):

1)交易處理速度快。因?yàn)橹灰序?yàn)證者2/3 的投票同意就能夠生產(chǎn)區(qū)塊,可以在短時(shí)間內(nèi)處理大量的交易,系統(tǒng)交易吞吐量大[73]。

2)安全性高。Tendermint共識(shí)機(jī)制對(duì)有惡意行為的節(jié)點(diǎn)采取罰款的方式,保證了交易信息的正確性。

Tendermint共識(shí)機(jī)制的缺點(diǎn):

1)可能會(huì)遭受DoS 攻擊。由于以循環(huán)方式選擇提議者,可以針對(duì)某一個(gè)驗(yàn)證者節(jié)點(diǎn)發(fā)起攻擊,阻止交易完成。

2)最多能容忍1/3 拜占庭節(jié)點(diǎn)。因?yàn)門endermint 共識(shí)機(jī)制在共識(shí)過程中需要2/3 以上驗(yàn)證者投票同意才能進(jìn)入下一階段,能夠允許的最大拜占庭節(jié)點(diǎn)數(shù)是不超過全網(wǎng)總節(jié)點(diǎn)數(shù)的1/3。

Tendermint共識(shí)機(jī)制與物聯(lián)網(wǎng)場景的適應(yīng)度:

Tendermint 共識(shí)機(jī)制的高吞吐和低延遲提高了物聯(lián)網(wǎng)的性能,特別是通過Tendermint 實(shí)現(xiàn)的Ethermint 被認(rèn)為是物聯(lián)網(wǎng)區(qū)塊鏈結(jié)合的合適選擇[74]。相較于后面DAG 類共識(shí)機(jī)制,當(dāng)節(jié)點(diǎn)數(shù)量特別多時(shí)其交易處理速度、安全性以及可擴(kuò)展性不如IOTA以及Byteball共識(shí)機(jī)制。

2.3 DAG類共識(shí)機(jī)制

如果一個(gè)有向圖從某個(gè)頂點(diǎn)出發(fā),經(jīng)過若干條邊不能夠回到原點(diǎn),則這個(gè)圖就是一個(gè)DAG,DAG 結(jié)構(gòu)是一種新型區(qū)塊鏈技術(shù)[75]。區(qū)塊鏈在物聯(lián)網(wǎng)的運(yùn)用中存在很多問題,現(xiàn)有的共識(shí)機(jī)制PoW 和PoS 等,無法適用于物聯(lián)網(wǎng)場景中,因此,提出了面向物聯(lián)網(wǎng)場景的DAG(也稱為Tangle)技術(shù)。

2.3.1 IOTA共識(shí)機(jī)制

IOTA 是針對(duì)物聯(lián)網(wǎng)場景的應(yīng)用而提出的一種新型區(qū)塊鏈技術(shù),物聯(lián)網(wǎng)中的設(shè)備可以作為區(qū)塊鏈的參與節(jié)點(diǎn)[76]。在IOTA 中,一個(gè)區(qū)塊存放一個(gè)交易,圖11 是IOTA 架構(gòu):每個(gè)新加入的交易將會(huì)被放在后面指向之前的兩個(gè)交易。相較于鏈?zhǔn)絽^(qū)塊鏈,IOTA 結(jié)構(gòu)具有較好的可擴(kuò)展性,同時(shí)能夠處理大量的交易信息,減少了共識(shí)的時(shí)間。

為了解IOTA的運(yùn)行過程,需要知道交易的權(quán)重和累積權(quán)重。3n是權(quán)重,n是非負(fù)整數(shù)。交易的累積權(quán)重是通過該交易的自身權(quán)重和其他直接或者間接驗(yàn)證這個(gè)交易的所有交易的自身權(quán)重相加求和得出的[77]。圖11中,一個(gè)字母代表一個(gè)交易,如A、B,方框內(nèi)左上角的數(shù)字是交易的累積權(quán)重,右下角的數(shù)字是交易的自身權(quán)重。交易A指向交易B和C,那么A直接驗(yàn)證了B和C;交易A、B、C、D、E、F、G最終都指向H,則交易H的累積權(quán)重的計(jì)算結(jié)果是16。

圖11 IOTA架構(gòu)Fig.11 IOTA architecture

IOTA 共識(shí)機(jī)制的工作原理:節(jié)點(diǎn)發(fā)起一個(gè)交易,需要驗(yàn)證Tangle中先前的兩個(gè)交易,并將此交易指向他們。然后,通過花費(fèi)少量的PoW 計(jì)算權(quán)重和累積權(quán)重驗(yàn)證先前的兩個(gè)交易。隨著這個(gè)交易被之后新的交易直接或者間接驗(yàn)證,當(dāng)交易的累積權(quán)重足夠大時(shí),則認(rèn)為這個(gè)交易是有效的。利用累積權(quán)重大小來驗(yàn)證交易有效性,可能會(huì)受到雙花攻擊(典型的是寄生鏈攻擊)。為此,引入了馬爾可夫蒙特卡洛(Markov Chain Monte Carlo,MCMC)驗(yàn)證算法,節(jié)點(diǎn)先在累積權(quán)重r和2r之間隨機(jī)選擇m個(gè)交易,然后以式(3)[77]所示的概率向尖端交易(tips)進(jìn)行離散時(shí)間無規(guī)行走到tips,找到既定的目標(biāo):

其中:α>0,j→i代表由i轉(zhuǎn)到j(luò)。

IOTA共識(shí)機(jī)制的優(yōu)點(diǎn):

1)高吞吐量。在DAG 結(jié)構(gòu)下,只需要花費(fèi)少量的PoW來驗(yàn)證先前的兩筆交易,從而能夠并發(fā)處理大量的交易,減少了生成區(qū)塊的時(shí)間。

2)可擴(kuò)展性好。隨著交易數(shù)量的不斷增多,IOTA 的處理速度和擴(kuò)展能力得到相應(yīng)的提高;而且,交易量越大,系統(tǒng)變得越穩(wěn)定,安全性也會(huì)得到相應(yīng)的提高。

IOTA共識(shí)機(jī)制的缺點(diǎn):

1)交易時(shí)間不確定。由于IOTA 的交易驗(yàn)證是通過計(jì)算累積權(quán)重的方式,在交易量比較少時(shí),容易出現(xiàn)交易長時(shí)間得不到確認(rèn)。

2)安全性降低。在節(jié)點(diǎn)數(shù)過少時(shí),容易遭受雙花攻擊,系統(tǒng)安全性不如鏈?zhǔn)浇Y(jié)構(gòu)。

IOTA共識(shí)機(jī)制與物聯(lián)網(wǎng)場景的適應(yīng)度:

IOTA 共識(shí)機(jī)制應(yīng)用于物聯(lián)網(wǎng)需要解決一個(gè)技術(shù)挑戰(zhàn):由于物聯(lián)網(wǎng)設(shè)備具有分布范圍廣的特征,當(dāng)在一定范圍內(nèi)物聯(lián)網(wǎng)設(shè)備比較少而且分散時(shí),需要解決IOTA共識(shí)機(jī)制本身存在的交易時(shí)間不確認(rèn)、容易遭受雙花攻擊的難題。但是相比前面介紹的幾種共識(shí)算法,隨著物聯(lián)網(wǎng)設(shè)備呈指數(shù)級(jí)的增長,它在速度、安全、可擴(kuò)展性方面顯然更好,未來會(huì)適用于物聯(lián)網(wǎng)場景中。

2.3.2 Byteball共識(shí)機(jī)制

Byteball 是一個(gè)去中心化的系統(tǒng),它可以對(duì)貨幣、股權(quán)等數(shù)據(jù)進(jìn)行防篡改存儲(chǔ)[78]。單元包括要存儲(chǔ)的交易信息,他們之間相互鏈接,每一個(gè)新加入的單元直接或間接地被越來越多的包含哈希值的后續(xù)單元所確認(rèn)。如圖12 所示,頂點(diǎn)表示單元,一旦一個(gè)單元被確認(rèn),新的單元隨之而來。

圖12 Byteball結(jié)構(gòu)Fig.12 Byteball Structure

文獻(xiàn)[78]介紹了Byteball共識(shí)算法的原理:在Byteball中,引入12 個(gè)見證人,見證人用來記錄存儲(chǔ)單元。當(dāng)用戶發(fā)起交易時(shí),由一個(gè)頂端單元開始通過選擇算法選擇一個(gè)最優(yōu)父單元,直到構(gòu)成一條到達(dá)創(chuàng)世單元的最佳路徑稱為主鏈。DAG的每個(gè)頂端單元直接或者間接到達(dá)主鏈,把主鏈編號(hào)為MCI,創(chuàng)世單元的MCI設(shè)置為0,向后逐漸加1,主鏈上最先直接或者間接單元的MCI是不在主鏈上的單元的MCI。在發(fā)生雙重支付時(shí),MCI小的存儲(chǔ)單元被認(rèn)為是有效的。

Byteball共識(shí)機(jī)制的優(yōu)點(diǎn):

1)安全性強(qiáng)。Byteball 共識(shí)機(jī)制引入了見證人的方式,并且通過選擇算法來創(chuàng)建主鏈,提高了系統(tǒng)的安全性。

2)可擴(kuò)展性好。與IOTA 共識(shí)機(jī)制類似,交易量越多,系統(tǒng)越穩(wěn)定。

Byteball共識(shí)機(jī)制的缺點(diǎn):

1)當(dāng)存儲(chǔ)單元數(shù)量比較少時(shí),可能會(huì)發(fā)生雙花問題,因?yàn)榇鎯?chǔ)單元太少,使一些交易長期得不到確認(rèn),此時(shí)攻擊者可以發(fā)起交易,制造另一條鏈,并且讓其成為主鏈;而且,交易確認(rèn)的時(shí)間也是不確定的。

2)犧牲了去中心化程度。由于引入了12個(gè)見證人,沒有實(shí)現(xiàn)完全去中心化。

3)交易時(shí)間不確定。當(dāng)系統(tǒng)中交易量較少時(shí),會(huì)有一些交易長期得不到后續(xù)單元的確認(rèn)。

Byteball共識(shí)機(jī)制與物聯(lián)網(wǎng)場景的適應(yīng)度:

Byteball 和IOTA 共識(shí)機(jī)制相較于鏈?zhǔn)綌?shù)據(jù)結(jié)構(gòu)來說,能夠并發(fā)處理大量的交易,同時(shí)提高了擴(kuò)展能力,更適用于物聯(lián)網(wǎng)場景中。

2.3.3 DAG類共識(shí)機(jī)制分析對(duì)比

IOTA 和Byteball共識(shí)機(jī)制,有很多的共性,同時(shí)也會(huì)有很多的區(qū)別。表1 是DAG 類共識(shí)機(jī)制對(duì)比,Byteball 與IOTA 的主要區(qū)別是:①Byteball 比IOTA 多了交易費(fèi)用;②IOTA 相較于Byteball 用到了少量的PoW 來進(jìn)行驗(yàn)證工作;③IOTA 新發(fā)起的交易指向先前的兩個(gè)交易,而Byteball能夠指向先前的三個(gè)交易。

表1 DAG類共識(shí)機(jī)制對(duì)比Tab.1 Comparison of DAG consensus mechanisms

2.4 共識(shí)機(jī)制分析

研究區(qū)塊鏈共識(shí)機(jī)制,需要對(duì)影響區(qū)塊鏈共識(shí)機(jī)制的因素進(jìn)行分析并做一些相應(yīng)的比較。其影響因素如下:

1)去中心化程度。去中心化程度決定了參與共識(shí)節(jié)點(diǎn)的權(quán)力是掌握在少數(shù)人手里還是多數(shù)人手里。

2)交易處理速度。也叫交易吞吐量,是指在給定的時(shí)間段內(nèi)處理交易的數(shù)量。

3)交易確認(rèn)延遲是指交易從發(fā)起到生成區(qū)塊的時(shí)間也就是交易的響應(yīng)時(shí)間[79]。

4)安全性。共識(shí)機(jī)制中的安全性指的是在共識(shí)過程中,其所能夠承受惡意節(jié)點(diǎn)發(fā)起任意行為攻擊的能力。

5)可擴(kuò)展性是指網(wǎng)絡(luò)節(jié)點(diǎn)處理交易的能力,評(píng)價(jià)可擴(kuò)展性好壞的標(biāo)準(zhǔn)是隨著交易數(shù)量的增加,系統(tǒng)中節(jié)點(diǎn)處理交易的能力能否得到相應(yīng)的提高[80]。

表2 列出了各種共識(shí)機(jī)制的算法種類、提出年份、吞吐量、響應(yīng)時(shí)間、容錯(cuò)性和應(yīng)用平臺(tái)。表3 展示了各種共識(shí)機(jī)制在是否容易分叉、交易處理速度、交易確認(rèn)延遲、安全性以及可擴(kuò)展性上的優(yōu)缺點(diǎn)。通過表2 和表3 直觀的對(duì)各種共識(shí)機(jī)制進(jìn)行對(duì)比,分析面向物聯(lián)網(wǎng)應(yīng)用的共識(shí)機(jī)制。

PoW 共識(shí)機(jī)制采用公有鏈,每個(gè)節(jié)點(diǎn)都可以參與,因而去中心化程度高。表3 表明PoW 共識(shí)機(jī)制容易產(chǎn)生分叉,進(jìn)而如果攻擊者掌握了全網(wǎng)51%的算力,會(huì)發(fā)起51%攻擊;并且,PoW 共識(shí)機(jī)制也會(huì)遭受其他類型的攻擊,如日蝕攻擊、自私挖礦攻擊等。通常情況下,PoW 共識(shí)機(jī)制產(chǎn)生一個(gè)區(qū)塊需要花費(fèi)10 min,會(huì)帶來高延遲問題,而對(duì)于本身要求低延遲的物聯(lián)網(wǎng)設(shè)備顯然是不適用的。

相較于PoW 共識(shí)機(jī)制,PoS共識(shí)機(jī)制的出塊時(shí)間為1 min,而且依靠幣齡來產(chǎn)生區(qū)塊,不需要消耗大量的能量;但由于PoS 共識(shí)機(jī)制容易遭受51%攻擊以及無利害關(guān)系問題攻擊,使系統(tǒng)安全性得不到保障。PoS 共識(shí)機(jī)制雖然提高了交易處理的速度,但是在安全性和可擴(kuò)展性上沒有任何的優(yōu)勢(shì),不能解決物聯(lián)網(wǎng)面臨的現(xiàn)狀問題。

DPoS 共識(shí)機(jī)制交易處理速度比PoW 和PoS 更快,不容易產(chǎn)生分叉,安全性比PoW 和PoS更好;缺點(diǎn)是只有少量的代表節(jié)點(diǎn)參與共識(shí)過程,而物聯(lián)網(wǎng)設(shè)備具有分布范圍廣的特點(diǎn),節(jié)點(diǎn)太少不具有代表性。因此,DPoS 共識(shí)機(jī)制不能夠直接應(yīng)用于物聯(lián)網(wǎng)設(shè)備,只能通過改進(jìn)DPoS共識(shí)機(jī)制使其適用于物聯(lián)網(wǎng)設(shè)備。

PoA 共識(shí)機(jī)制具有交易處理速度快、共識(shí)時(shí)間短、擴(kuò)展性好的特點(diǎn);但算法實(shí)現(xiàn)起來比較困難,而且還存在隱私泄露問題,給物聯(lián)網(wǎng)與區(qū)塊鏈的結(jié)合帶來困擾。

PoC 共識(shí)機(jī)制不容易產(chǎn)生分叉,其安全性高;但是由于可擴(kuò)展性比較差很難適合數(shù)量不斷增加的物聯(lián)網(wǎng)設(shè)備。

Ouroboros 是一個(gè)可證明其安全性高的共識(shí)機(jī)制,其交易處理速度比PoW 和PoS 共識(shí)機(jī)制快;但由于后期去中心化程度的降低,會(huì)影響其在物聯(lián)網(wǎng)場景中的使用。

PBFT共識(shí)機(jī)制的優(yōu)點(diǎn)是不容易產(chǎn)生分叉,交易處理速度快。但是,這種共識(shí)機(jī)制容易遭受DoS 的攻擊;而且,PBFT 共識(shí)機(jī)制只能容忍不超過1/3的拜占庭節(jié)點(diǎn),隨著節(jié)點(diǎn)數(shù)量的增加,在安全性上得不到保障,不能解決物聯(lián)網(wǎng)的安全問題。

Algorand 共識(shí)機(jī)制具有交易處理速度快的優(yōu)點(diǎn)。但是,容易遭受系統(tǒng)中有占2/3 資金以上的不誠實(shí)節(jié)點(diǎn)攻擊;而且,當(dāng)物聯(lián)網(wǎng)設(shè)備的數(shù)量特別多時(shí),可擴(kuò)展性方面存在不足,會(huì)給物聯(lián)網(wǎng)和區(qū)塊鏈的結(jié)合帶來麻煩。

Tendermint 共識(shí)機(jī)制具有低延遲和可擴(kuò)展性好的優(yōu)點(diǎn),對(duì)于物聯(lián)網(wǎng)區(qū)塊鏈結(jié)合來說是適合的。但是,如果故障節(jié)點(diǎn)或惡意節(jié)點(diǎn)數(shù)超過1/3以上時(shí),安全性則得不到保證;而且,隨著物聯(lián)網(wǎng)設(shè)備的大量增多,在交易處理速度和可擴(kuò)展性上不如IOTA和Byteball共識(shí)機(jī)制。

IOTA 和Byteball 共識(shí)機(jī)制是一種新型加密技術(shù),其在交易吞吐量和可擴(kuò)展性上比傳統(tǒng)的區(qū)塊鏈共識(shí)機(jī)制有了很大的改進(jìn);但是在交易數(shù)量過少的情況下,IOTA 和Byteball的安全性低,而且容易發(fā)生交易長時(shí)間得不到確認(rèn)等問題。

根據(jù)共識(shí)機(jī)制在去中心化程度、交易處理速度、交易確認(rèn)延遲、安全性和可擴(kuò)展性方面對(duì)物聯(lián)網(wǎng)產(chǎn)生的影響,要因地制宜地選擇適用于物聯(lián)網(wǎng)場景的共識(shí)機(jī)制。在大多數(shù)情況下,PoW、PoS 共識(shí)機(jī)制不適合于物聯(lián)網(wǎng)場景中;DPoS 由于節(jié)點(diǎn)數(shù)量太少,不適用于分布范圍廣的物聯(lián)網(wǎng)體系;PBFT 在安全性要求低的物聯(lián)網(wǎng)場景中可以使用。隨著物聯(lián)網(wǎng)設(shè)備的增多,PoC、Ouroboros、Algorand、Tendermint、POA 和PoC 在吞吐量和可擴(kuò)展性上不如IOTA 和Byteball,IOTA 和Byteball 所具有的特點(diǎn)更適用于物聯(lián)網(wǎng)場景。文獻(xiàn)[81]研究了PoW、PoS 共識(shí)機(jī)制和利用DAG 技術(shù)的共識(shí)機(jī)制,根據(jù)生成區(qū)塊的平均時(shí)間、交易確認(rèn)的延遲、每秒處理交易的數(shù)量(Transaction Per Second,TPS)和確認(rèn)失敗的概率評(píng)估共識(shí)算法的性能,結(jié)果表明PoW 和PoS 對(duì)網(wǎng)絡(luò)資源的變化更敏感,而DAG 對(duì)網(wǎng)絡(luò)負(fù)載條件更為敏感。

表2 共識(shí)機(jī)制對(duì)比Tab.2 Comparison of consensus mechanisms

表3 共識(shí)機(jī)制優(yōu)缺點(diǎn)對(duì)比Tab.3 Comparison of advantages and disadvantages of consensus mechanisms

3 結(jié)語

物聯(lián)網(wǎng)技術(shù)實(shí)現(xiàn)了物與物之間的互聯(lián),推動(dòng)了生產(chǎn)力的發(fā)展。但是,物聯(lián)網(wǎng)存在中心機(jī)構(gòu)運(yùn)行成本高、可擴(kuò)展性差和安全性低等缺陷,限制了物聯(lián)網(wǎng)的發(fā)展。而區(qū)塊鏈具有去中心化、開放性、共識(shí)機(jī)制和不可篡改等特點(diǎn),剛好彌補(bǔ)了物聯(lián)網(wǎng)的缺陷。在區(qū)塊鏈架構(gòu)中,物聯(lián)網(wǎng)設(shè)備利用區(qū)塊鏈的特點(diǎn),實(shí)現(xiàn)數(shù)據(jù)的安全存儲(chǔ)[82],將區(qū)塊鏈應(yīng)用于物聯(lián)網(wǎng)場景中,被認(rèn)為是區(qū)塊鏈3.0 版本[83]。文獻(xiàn)[84]提出物聯(lián)網(wǎng)能夠?qū)崿F(xiàn)物與物之間相互通信,但在數(shù)據(jù)隱私和安全方面還存在缺陷,利用區(qū)塊鏈去中心化的特點(diǎn),提供可靠的數(shù)據(jù)共享環(huán)境,實(shí)現(xiàn)物聯(lián)網(wǎng)系統(tǒng)的透明性、安全性和隱私性等。共識(shí)機(jī)制是區(qū)塊鏈技術(shù)的核心要素,將影響物聯(lián)網(wǎng)的發(fā)展。文獻(xiàn)[85]針對(duì)物聯(lián)網(wǎng)面臨的設(shè)備數(shù)量多、結(jié)構(gòu)復(fù)雜、計(jì)算能力弱等問題,提出利用區(qū)塊鏈的去中心化和共識(shí)機(jī)制的特點(diǎn),實(shí)現(xiàn)物聯(lián)網(wǎng)與區(qū)塊鏈的有效結(jié)合。本文通過對(duì)各種共識(shí)機(jī)制的優(yōu)缺點(diǎn)進(jìn)行對(duì)比,發(fā)現(xiàn)當(dāng)需要處理大量交易時(shí),IOTA 和Byteball 比其他共識(shí)機(jī)制在交易處理速度和可擴(kuò)展性等方面更有優(yōu)勢(shì),更適用于物聯(lián)網(wǎng)場景中。雖然IOTA和Byteball已經(jīng)開始應(yīng)用于物聯(lián)網(wǎng)場景,但是仍然存在很多的問題:

1)去中心化程度不徹底。IOTA 共識(shí)機(jī)制采用協(xié)調(diào)器來控制和處理信息,而Byteball共識(shí)機(jī)制引入見證人來維護(hù)網(wǎng)絡(luò)信息,因此他們都沒有實(shí)現(xiàn)完全去中心化。

2)安全問題。當(dāng)交易數(shù)量較少時(shí),IOTA 和Byteball 共識(shí)機(jī)制容易遭受雙花攻擊,而且交易可能長時(shí)間得不到確認(rèn),將他們應(yīng)用于物聯(lián)網(wǎng)場景,需要解決這一問題。

3)信息存儲(chǔ)。由于物聯(lián)網(wǎng)設(shè)備的存儲(chǔ)能力有限,在IOTA和Byteball 共識(shí)機(jī)制應(yīng)用于物聯(lián)網(wǎng)設(shè)備時(shí),需要解決存儲(chǔ)問題。本文通過分析區(qū)塊鏈共識(shí)機(jī)制的工作原理與優(yōu)缺點(diǎn)以及與物聯(lián)網(wǎng)的適應(yīng)度,希望給未來物聯(lián)網(wǎng)區(qū)塊鏈的融合帶來一些啟示。

猜你喜歡
可擴(kuò)展性共識(shí)區(qū)塊
共識(shí) 共進(jìn) 共情 共學(xué):讓“溝通之花”綻放
區(qū)塊鏈:一個(gè)改變未來的幽靈
科學(xué)(2020年5期)2020-11-26 08:19:12
論思想共識(shí)凝聚的文化向度
區(qū)塊鏈:主要角色和衍生應(yīng)用
科學(xué)(2020年6期)2020-02-06 08:59:56
商量出共識(shí)
區(qū)塊鏈+媒體業(yè)的N種可能
讀懂區(qū)塊鏈
恩智浦推出全新i.MX 8X 處理器,為工業(yè)應(yīng)用帶來更高的安全性、可靠性和可擴(kuò)展性
汽車零部件(2017年3期)2017-07-12 17:03:58
電力監(jiān)控軟件的可擴(kuò)展性設(shè)計(jì)
基于微軟技術(shù)的高可擴(kuò)展性中小企業(yè)系統(tǒng)解決方案研究
404 Not Found

404 Not Found


nginx
404 Not Found

404 Not Found


nginx
404 Not Found

404 Not Found


nginx
404 Not Found

404 Not Found


nginx
404 Not Found

404 Not Found


nginx
沭阳县| 隆尧县| 阳高县| 胶州市| 宁城县| 富宁县| 凭祥市| 阿克苏市| 庆元县| 浮山县| 洪江市| 临武县| 通江县| 竹北市| 清水河县| 林甸县| 灵石县| 吴忠市| 灵宝市| 乡宁县| 普安县| 胶州市| 通河县| 新竹市| 筠连县| 新郑市| 棋牌| 庆云县| 同仁县| 郸城县| 龙里县| 大名县| 濮阳县| 共和县| 论坛| 阜平县| 杨浦区| 呼伦贝尔市| 肇庆市| 泌阳县| 新河县|