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

?

應(yīng)用于工業(yè)物聯(lián)網(wǎng)的DAG區(qū)塊鏈模型

2020-05-12 12:02:12張震
現(xiàn)代計算機(jī) 2020年10期
關(guān)鍵詞:主鏈子圖哈希

張震

(四川大學(xué)計算機(jī)學(xué)院,成都610065)

0 引言

自2005年國際電信聯(lián)盟正式提出物聯(lián)網(wǎng)(Inter?net of Things,IoT)概念以來,物聯(lián)網(wǎng)產(chǎn)業(yè)發(fā)展迅猛,目前被廣泛地應(yīng)用于環(huán)境監(jiān)測與保護(hù)、智能交通、移動醫(yī)療、食品安全和物流供應(yīng)鏈管理等諸多領(lǐng)域[1]。根據(jù)Statistic門戶網(wǎng)站統(tǒng)計數(shù)據(jù),預(yù)計到2020年將增長至307.3 億[2],市場規(guī)模將達(dá) 7.1 萬億美元[3]。在動態(tài)聯(lián)網(wǎng)設(shè)備和系統(tǒng)中,設(shè)備與其環(huán)境進(jìn)行通信、感知和交互,產(chǎn)生的數(shù)據(jù)通過傳感器進(jìn)行采集和傳輸[4-5],實現(xiàn)信息的實時傳遞,這個特點使得物聯(lián)網(wǎng)的相關(guān)應(yīng)用迅猛增長,取代了傳統(tǒng)行業(yè)(如制造業(yè))的部分工作[6]。

隨著物聯(lián)網(wǎng)技術(shù)的快速發(fā)展,在中國制造2025、美國先進(jìn)制造伙伴計劃、德國工業(yè)4.0等一系列國家戰(zhàn)略提出和實施的背景下,工業(yè)物聯(lián)網(wǎng)應(yīng)運而生,成為全球工業(yè)體系智能化變革的重要推手[7]。根據(jù)工信部《2017年工業(yè)物聯(lián)網(wǎng)白皮書》中對工業(yè)物聯(lián)網(wǎng)的相關(guān)定義可知:工業(yè)物聯(lián)網(wǎng)是通過工業(yè)資源的網(wǎng)絡(luò)互連、數(shù)據(jù)互通和系統(tǒng)互操作,實現(xiàn)制造環(huán)境的快速適應(yīng),達(dá)到資源的高效利用,從而構(gòu)建服務(wù)驅(qū)動型的新工業(yè)生態(tài)體系。

工業(yè)物聯(lián)網(wǎng)作為物聯(lián)網(wǎng)的工業(yè)級應(yīng)用,在設(shè)備運行、管理運營和數(shù)據(jù)處理方面要求更苛刻。這一點突出體現(xiàn)在工業(yè)設(shè)備的相互連通、彈性擴(kuò)展、可編程自動化、高精度和高可靠要求,管理運營的彈性高效、自動安全和貼近設(shè)備要求,數(shù)據(jù)處理的即時高效、精準(zhǔn)安全和彈性冗余要求。針對工業(yè)物聯(lián)網(wǎng)的這些痛點,可以通過對設(shè)備進(jìn)行分布式部署管理,構(gòu)造與之配套的彈性數(shù)據(jù)管理運營體系解決。

區(qū)塊鏈技術(shù)具有高度去中心化的性質(zhì),能夠通過運用哈希加密、時間戳、分布式共識和智能合約等手段,在分布式物聯(lián)網(wǎng)系統(tǒng)中,實現(xiàn)去中心化的交互方式,為解決中心化架構(gòu)普遍存在的安全性和可伸縮性問題提供了解決途徑[8]。對區(qū)塊鏈技術(shù)的研究呈現(xiàn)爆發(fā)式增長態(tài)勢,被認(rèn)為是繼大型機(jī)、個人電腦、互聯(lián)網(wǎng)、移動/社交網(wǎng)絡(luò)之后計算范式的第五次顛覆式創(chuàng)新[9]。在Gartner技術(shù)成熟度曲線中,區(qū)塊鏈技術(shù)處于高期望值區(qū)[10];2016年,工信部發(fā)布了《中國區(qū)塊鏈技術(shù)和應(yīng)用發(fā)展白皮書》[11];在國務(wù)院發(fā)布的《“十三五”國家信息化規(guī)劃》中[12],明確指出要加強(qiáng)區(qū)塊鏈等新技術(shù)的基礎(chǔ)研發(fā)和前沿布局,正式從國家科技戰(zhàn)略層面肯定了區(qū)塊鏈的技術(shù)與社會價值。區(qū)塊鏈可以為工業(yè)物聯(lián)網(wǎng)提供分布式設(shè)備管理方案和彈性數(shù)據(jù)管理運營體系。

1 鏈?zhǔn)絽^(qū)塊鏈和DAG式區(qū)塊鏈

傳統(tǒng)的鏈?zhǔn)絽^(qū)塊鏈模型發(fā)源于中本聰對比特幣底層技術(shù)的設(shè)計模型,核心是通過礦工(記賬權(quán))的唯一性來確保合法數(shù)據(jù)鏈的唯一性。鏈?zhǔn)絽^(qū)塊鏈的基本組成單位是區(qū)塊,區(qū)塊之間通過哈希指針相連,哈希指針確保數(shù)據(jù)的完整性、連續(xù)性和合法性。

每個區(qū)塊由區(qū)塊頭和區(qū)塊體組成。區(qū)塊由礦工產(chǎn)生,礦工收集一定時間內(nèi)的交易進(jìn)行打包,再結(jié)合時間戳、非對稱加密等技術(shù)進(jìn)行封裝。最后礦工將其廣播給其他用戶,收到該區(qū)塊的用戶對本地數(shù)據(jù)視圖進(jìn)行延伸完善。

相比于鏈?zhǔn)絽^(qū)塊鏈,DAG(Directed Acyclic Graph)式區(qū)塊鏈的優(yōu)勢在于良好的擴(kuò)展性。鏈?zhǔn)絽^(qū)塊鏈?zhǔn)芟抻趯?shù)據(jù)的鏈?zhǔn)浇M織方式,任何分叉會被認(rèn)為是不合法的。對數(shù)據(jù)庫寫入的權(quán)限唯一性和數(shù)據(jù)的單向延伸極大地限制了鏈?zhǔn)絽^(qū)塊鏈的擴(kuò)展性和并發(fā)性。

在數(shù)據(jù)組織方式上,DAG式區(qū)塊鏈中允許每個區(qū)塊有兩個或者兩個以上的哈希指針,一段時間內(nèi)的區(qū)塊就會構(gòu)成一個有向無環(huán)圖。在寫入權(quán)限上,DAG式區(qū)塊鏈允許多個(甚至每一個)用戶擁有寫入權(quán)限。每個區(qū)塊的產(chǎn)生者可以自主選擇引用多個歷史區(qū)塊,再將其廣播,收到區(qū)塊的用戶將其保存在本地數(shù)據(jù)庫中。這兩個方面的改進(jìn)使得DAG式區(qū)塊鏈獲得了擴(kuò)展性和并發(fā)性上的大幅度提升。

無論是鏈?zhǔn)絽^(qū)塊鏈,還是DAG式區(qū)塊鏈,它們的交易確認(rèn)機(jī)制可以被分為累積概率性確認(rèn)和即時性確認(rèn)。在累積概率性確認(rèn)機(jī)制中,系統(tǒng)在一定時間段內(nèi)收集到足夠多認(rèn)可某個區(qū)塊的選票,那么該區(qū)塊中被包含的交易就被確認(rèn)了。如比特幣[13]中需要等待后續(xù)6個后續(xù)區(qū)塊的確認(rèn),IOTA[14]通過統(tǒng)計某個交易被新交易的認(rèn)可度來衡量交易是否被確認(rèn)。在即時性確認(rèn)機(jī)制中,待確認(rèn)區(qū)塊迅速獲得全體投票人的多數(shù)認(rèn)可進(jìn)而被確認(rèn)。如Fabric通過單輪投票即可對目標(biāo)區(qū)塊進(jìn)行確認(rèn),Tendermint[15]同樣可以在單輪投票過后對目標(biāo)區(qū)塊獲得即時性確認(rèn)。值得注意的是,即時性確認(rèn)機(jī)制中的投票人大多數(shù)情況下是代表全體用戶利益的某些用戶。

2 DAG式區(qū)塊鏈和工業(yè)物聯(lián)網(wǎng)

由于工業(yè)物聯(lián)網(wǎng)有低時延、可擴(kuò)展和高并發(fā)等需求,DAG式區(qū)塊鏈具有較為明顯的優(yōu)勢。

自2015年Lerner提出了DagCoin[16]以來,DAG式區(qū)塊鏈發(fā)展迅速。總體來說,DAG式區(qū)塊鏈可以分為含主鏈的DAG式區(qū)塊鏈和不包含主鏈的DAG式區(qū)塊鏈。

含主鏈的DAG式區(qū)塊鏈通常由某種機(jī)制從過去一段時間內(nèi)的區(qū)塊中篩選出某些父子相連的區(qū)塊組成主鏈。如ByteBall[17]存在12位見證人,在一段時間內(nèi),有向無環(huán)圖中富集見證人交易最多的那條鏈成為主鏈,Conflux[18]采用的GHOST協(xié)議將子樹權(quán)重最多的區(qū)塊添加為主鏈區(qū)塊。主鏈的主要作用是對該時段內(nèi)的無序交易進(jìn)行排序。區(qū)塊的有序性是智能合約執(zhí)行的基礎(chǔ)。

不包含主鏈的DAG式區(qū)塊鏈可以分為每個用戶一條鏈的多鏈DAG式區(qū)塊鏈和不可排序的無序DAG式區(qū)塊鏈,前者中如Hashgraph[19]通過對事件(event)的歷史哈希指針還原得到交易的順序,后者中如IOTA采用的累計權(quán)重確認(rèn)方式則完全不能對所有區(qū)塊進(jìn)行排序。

工業(yè)物聯(lián)網(wǎng)對區(qū)塊鏈有可編程、自動化、即時性等需求,這些需求可以通過區(qū)塊鏈的智能合約進(jìn)行解決。這意味著含主鏈的DAG式區(qū)塊鏈比較適合應(yīng)用于工業(yè)物聯(lián)網(wǎng)領(lǐng)域。

IOTA是一個較為著名的應(yīng)用于物聯(lián)網(wǎng)領(lǐng)域的DAG式區(qū)塊鏈模型,參與的節(jié)點是物聯(lián)網(wǎng)中的設(shè)備。IOTA中的區(qū)塊只包含一個交易,每筆交易必須引用節(jié)點當(dāng)前視圖中的兩個交易才算合法。任何一個設(shè)備節(jié)點都可以發(fā)送交易到區(qū)塊鏈數(shù)據(jù)庫中,所以會存在惡意節(jié)點使用泛洪攻擊發(fā)送大量垃圾交易,故而IOTA要求每筆交易發(fā)布前必須進(jìn)行一定POW計算,但是這也對物聯(lián)網(wǎng)設(shè)備提出了較高要求。由于IOTA的交易確認(rèn)機(jī)制是累積權(quán)重,所以在交易量不穩(wěn)定的時候,系統(tǒng)容易出現(xiàn)交易長時間未被確認(rèn)的情況,尤其是交易量持續(xù)遞減的時候,歷史交易長期難以被確認(rèn)。針對此問題,官方使用了協(xié)調(diào)器進(jìn)行管理。協(xié)調(diào)器是官方節(jié)點,規(guī)定被協(xié)調(diào)器引用的交易可以無需等待,立即被確認(rèn)。此外,IOTA的模型使得所有交易難以被排序。

IOTA中交易不能被排序、交易確認(rèn)時間不穩(wěn)定、無法支持輕節(jié)點和設(shè)備要有一定計算能力等要求使得其難以被應(yīng)用于工業(yè)互聯(lián)網(wǎng)。

3 應(yīng)用于工業(yè)物聯(lián)網(wǎng)的區(qū)塊鏈模型IDAG

針對工業(yè)物聯(lián)網(wǎng)的即時確認(rèn)、設(shè)備性能低、高并發(fā)和支持智能合約的需求,本文采用一種新的區(qū)塊鏈模型 IDAG(Industry Directed Acyclic Graph)。

本文模型屬于含主鏈的DAG式區(qū)塊鏈,規(guī)定每個交易必須引用兩個或者兩個以上的歷史交易。選擇計算能力較高的部分節(jié)點作為全網(wǎng)節(jié)點的委員會節(jié)點,委員會節(jié)點之間使用PBFT共識算法進(jìn)行共識。目前含主鏈的DAG式區(qū)塊鏈中,主鏈區(qū)塊是連續(xù)的父子區(qū)塊。不同于此,本文模型的主鏈交易(區(qū)塊)間是離散的,不存在父子關(guān)系。

3.1 IDAG 中的模型結(jié)構(gòu)

本文提出的IDAG模型結(jié)構(gòu)如圖1。設(shè)備數(shù)據(jù)層中,在所有設(shè)備中選擇出性能較高的4個節(jié)點作為委員會節(jié)點,其他節(jié)點作為普通用戶節(jié)點。網(wǎng)絡(luò)層使用點對點通信方式,保證網(wǎng)絡(luò)的可拓展性。共識層使用PBFT共識算法。合約層分為緊急措施、管理運營和數(shù)據(jù)監(jiān)控三類合約。應(yīng)用層主要是產(chǎn)能分析、供應(yīng)鏈和數(shù)據(jù)共享三類應(yīng)用。

圖1 IDAG模型結(jié)構(gòu)

3.2 交易的組織方式

IDAG中的用戶節(jié)點分為普通用戶和委員會用戶,后者是性能較高的用戶節(jié)點。如圖2中所示,IDAG中的交易分為兩類,一類是普通交易(空心圓),一類是主鏈交易(實心圓)。普通交易定義為設(shè)備產(chǎn)生的包含生產(chǎn)數(shù)據(jù)的交易。定義兩個主鏈交易之間的普通交易為交易子圖。主鏈交易定義為包含交易子圖拓?fù)浣Y(jié)構(gòu)和普通交易的頭信息兩部分。

普通交易需要引用兩個或兩個以上歷史交易,主鏈交易則需要引用用戶當(dāng)前本地視圖中的所有葉子節(jié)點。普通交易的發(fā)送者隨時可以向網(wǎng)絡(luò)中發(fā)送交易,主鏈交易則只能在委員會用戶共識之后產(chǎn)生。在最新主鏈交易獲得共識之后,交易子圖中和主鏈交易拓?fù)浣Y(jié)構(gòu)一致的普通交易得到確認(rèn)。由于委員會用戶共識的速度較快,所以交易的共識過程可以被認(rèn)為是即時的。

圖2 IDAG的數(shù)據(jù)組織方式

3.3 IDAG 中的共識機(jī)制

IDAG中委員會用戶之間通過PBFT算法進(jìn)行共識,由于該算法最少需要4個節(jié)點才可以運行,所以設(shè)定委員會用戶固定為4個席位。

PBFT[20]算法中有三種角色:客戶端、主節(jié)點、從節(jié)點??蛻舳说墓δ苁前l(fā)送交易請求消息。主節(jié)點的功能是將接收到的消息排序編號,廣播消息給從節(jié)點。從節(jié)點的作用是驗證從主節(jié)點和其他從節(jié)點處接收到的消息并回應(yīng)。如果所有節(jié)點中存在f個個惡意節(jié)點,那么PBFT算法需要2f+1個誠實節(jié)點就可以保證系統(tǒng)的正常運行。

如圖3所示,PBFT共有五個階段:request、preprepare、prepare、commit和 reply。

圖3 PBFT的共識階段

一個交易經(jīng)過3個階段驗證,就會被系統(tǒng)中的絕大部分用戶節(jié)點確認(rèn),那么該交易就可以被認(rèn)為是完全確認(rèn)的。設(shè)定4個具有較高計算能力和存儲能力的節(jié)點所謂委員會節(jié)點,對一定時間內(nèi)的交易子圖進(jìn)行確認(rèn)。交易子圖的大小并不固定,可以根據(jù)節(jié)點性能和網(wǎng)絡(luò)狀況彈性變化。

3.4 IDAG 中的主鏈交易

如圖4,主鏈交易分為頭信息和交易子圖拓?fù)浣Y(jié)構(gòu)兩部分。頭信息包含主鏈交易序號、時間戳、簽名信息和葉子交易哈希。其中葉子交易哈希指的是,除了主鏈交易以外未被任何交易引用的交易所對應(yīng)的哈希值。

圖4 主鏈交易

由于交易子圖中的交易之間存在哈希引用的關(guān)系,所以所有用戶節(jié)點的交易子圖中只要保證本地視圖中的葉子交易和主鏈交易中葉子交易完全一致,那么該交易子圖也是完全一致的。如果葉子交易哈希存在偏差,那么用戶節(jié)點只需要依據(jù)交易子圖拓?fù)浣Y(jié)構(gòu)從委員會節(jié)點引入缺失部分即可。主鏈交易的易驗證性可以為IDAG提供輕節(jié)點支持。主鏈交易可以保證所有用戶本地視圖的一致性,同時IDAG采用的共識機(jī)制為即時性確認(rèn)機(jī)制,這兩者保證了IDAG模型支持智能合約的基礎(chǔ)。

4 結(jié)語

工業(yè)物聯(lián)網(wǎng)作為物聯(lián)網(wǎng)的工業(yè)級應(yīng)用,在設(shè)備運行、管理運營和數(shù)據(jù)處理方面要求更苛刻。針對規(guī)模日益猛增的工業(yè)物聯(lián)網(wǎng)設(shè)備,提出一種應(yīng)用于工業(yè)物聯(lián)網(wǎng)領(lǐng)域的含主鏈的DAG式區(qū)塊鏈模型。該模型使用彈性共識機(jī)制和DAG數(shù)據(jù)組織方式,支持高并發(fā),易擴(kuò)展,支持智能合約,支持輕節(jié)點等重要功能,為工業(yè)物聯(lián)網(wǎng)的需求提供了較好的解決方案。

猜你喜歡
主鏈子圖哈希
“鹵代烴”知識概要
WDC主鏈正式啟動創(chuàng)世區(qū)塊已誕生
臨界完全圖Ramsey數(shù)
有機(jī)化合物命名易錯題直擊
“烷烴”的五字命名方針
基于頻繁子圖挖掘的數(shù)據(jù)服務(wù)Mashup推薦
基于OpenCV與均值哈希算法的人臉相似識別系統(tǒng)
基于維度分解的哈希多維快速流分類算法
不含2K1+K2和C4作為導(dǎo)出子圖的圖的色數(shù)
基于同態(tài)哈希函數(shù)的云數(shù)據(jù)完整性驗證算法
民权县| 蛟河市| 息烽县| 江城| 贵阳市| 衡阳县| 溧阳市| 内丘县| 合水县| 台前县| 洛扎县| 措勤县| 灵川县| 汾西县| 错那县| 高尔夫| 宜城市| 昌平区| 克什克腾旗| 察雅县| 合水县| 汶上县| 株洲县| 新宁县| 盐亭县| 益阳市| 临武县| 潢川县| 武夷山市| 常熟市| 波密县| 新兴县| 泰安市| 辽宁省| 蓝田县| 泰顺县| 陇西县| 阜平县| 海林市| 肥东县| 江西省|