王勁松,楊唯正,趙澤寧,魏佳佳
(1.天津理工大學(xué)計算機科學(xué)與工程學(xué)院,天津 300384;2.智能計算及軟件新技術(shù)天津市重點實驗室,天津 300384;3.計算機病毒防治技術(shù)國家工程實驗室,天津 300457)
區(qū)塊鏈概念自2008 年被提出以來,引起了全世界廣泛關(guān)注,常見的區(qū)塊鏈應(yīng)用有比特幣[1]、以太坊[2]、EOS[3]、Hyperledger Fabric[4]、波卡[5]等。近年來,區(qū)塊鏈逐漸演變?yōu)橐环N提供可信溯源服務(wù)的服務(wù)架構(gòu),各個行業(yè)都在積極探索區(qū)塊鏈的落地應(yīng)用[6]。然而,傳統(tǒng)區(qū)塊鏈只有一條單鏈,打包出塊無法并發(fā)執(zhí)行。為了提高傳統(tǒng)區(qū)塊鏈系統(tǒng)的交易執(zhí)行速度,一些研究者提出了多層區(qū)塊鏈、分片區(qū)塊鏈等技術(shù)。文獻[7]提出混合協(xié)商一致協(xié)議Goshawk,將兩層鏈式結(jié)構(gòu)、兩級工作量證明(Proof of Work,PoW)挖掘策略和票證投票機制巧妙地結(jié)合起來。文獻[8]提出的HIBEChain 是一個分層區(qū)塊鏈系統(tǒng),可實現(xiàn)物聯(lián)網(wǎng)(Internet of Things,IoT)設(shè)備和數(shù)據(jù)的可擴展和可問責(zé)管理,其由多個許可區(qū)塊鏈組成,這些區(qū)塊鏈形成一個層次樹結(jié)構(gòu)。HIBEChain 通過將區(qū)塊鏈分片并行處理的方案實現(xiàn)了高可擴展性。為了支持HIBEChain 的層次結(jié)構(gòu),該文作者設(shè)計了一個基于身份的分散層次簽名方案DHIBS,使物聯(lián)網(wǎng)設(shè)備能夠?qū)⑵渖矸萦米鞴€。
在上述研究基礎(chǔ)上,如果改變區(qū)塊的鏈式存儲結(jié)構(gòu),將單鏈結(jié)構(gòu)轉(zhuǎn)變?yōu)橛邢驘o環(huán)圖(Directed Acyclic Graph,DAG)的網(wǎng)狀拓撲結(jié)構(gòu),就可以實現(xiàn)并發(fā)寫入,提高交易確認速度和吞吐量。假設(shè)在區(qū)塊打包時間不變的情況下網(wǎng)絡(luò)中可以并行打包n個區(qū)塊,則交易確認速度就提高了n倍。由此,DAG 區(qū)塊鏈技術(shù)開始迅速發(fā)展。
本文介紹DAG 區(qū)塊鏈概念的提出和演化革新過程,對比分析該技術(shù)與傳統(tǒng)區(qū)塊鏈技術(shù),歸納現(xiàn)有的DAG區(qū)塊鏈評估系統(tǒng)、方法以及評估結(jié)論。同時,從交易確認速度、系統(tǒng)吞吐量、安全性、存儲結(jié)構(gòu)等4 個方面對DAG 區(qū)塊鏈的優(yōu)化方法進行總結(jié)分析,介紹DAG 區(qū)塊鏈目前在數(shù)據(jù)管理、數(shù)據(jù)共享、數(shù)據(jù)安全等場景中的應(yīng)用。在此基礎(chǔ)上,闡述DAG 區(qū)塊鏈技術(shù)的研究現(xiàn)狀,并展望未來的發(fā)展方向。
2013 年,ID 為avivz78 的以色列希伯來大學(xué)學(xué)者在bitcointalik.org 上首次將DAG 概念引入?yún)^(qū)塊鏈中作為共識算法(即GHOST 協(xié)議),將其作為比特幣的交易處理能力擴容解決方案。
2015 年,LERNER[9]提出一種基于DAG 結(jié)構(gòu)的加密貨幣設(shè)計DagCoin,其中沒有固定的塊,并且每個交易都有自己的工作證明。此外,還提出了2 種優(yōu)化方法,允許存儲和動態(tài)更新更低CPU 資源消耗的DAG 區(qū)塊鏈。通過將最新的交易存儲在快速緩存中,并在不能引用舊交易的地方使用檢查點,系統(tǒng)可以達到與比特幣一樣快的速度,甚至更快,DAG區(qū)塊鏈由此產(chǎn)生。DAG 區(qū)塊鏈是面向未來的新一代區(qū)塊鏈,是區(qū)塊鏈從容量到速度的一次革新。從圖論拓撲模型角度宏觀來看,其從單鏈結(jié)構(gòu)革新到樹狀和網(wǎng)狀結(jié)構(gòu),從區(qū)塊粒度結(jié)構(gòu)細化到交易粒度結(jié)構(gòu),并從單點寫入過程優(yōu)化到并發(fā)寫入過程。
隨著DAG 區(qū)塊鏈技術(shù)的發(fā)展,早期形成了以IOTA、Byteball、NANO 等3 種結(jié)構(gòu)為代表的DAG 區(qū)塊鏈體系,而后發(fā)展產(chǎn)生了前景良好的Conflux。目前,這4 個項目是落地運行的主流DAG 區(qū)塊鏈項目。
2016 年,POPOV[10]提出了IOTA,其中最主要的創(chuàng)新是基于DAG設(shè)計的分布式賬本結(jié)構(gòu)——纏結(jié)(Tangle),其是一個既沒有區(qū)塊也沒有鏈的區(qū)塊鏈。在Tangle中,每一個節(jié)點代表的是一個交易。IOTA中沒有區(qū)塊的概念,也沒有挖礦和礦工的概念,沒有挖礦和礦工就代表沒有交易費,整個網(wǎng)絡(luò)的吞吐量也很高,這是IOTA的顯著特點。IOTA DAG 區(qū)塊鏈結(jié)構(gòu)如圖1所示。
圖1 IOTA DAG 區(qū)塊鏈結(jié)構(gòu)Fig.1 IOTA DAG based blockchain structure
2016 年,CHURYUMOV[11]提出了Byteball,其在DAGCoin 的基礎(chǔ)上,創(chuàng)新性地引入主鏈與見證人的概念,鼓勵驗證多個父輩交易單元,形成一個隨著交易增長、相互驗證、安全性不斷加強的數(shù)字簽名Hash網(wǎng)絡(luò)。Byteball中包含一種創(chuàng)新的“主鏈”概念,即經(jīng)見證人認定的最短路徑MC 的Parents 優(yōu)選算法。主鏈創(chuàng)造了一個全網(wǎng)共識確定的交易時間序列,巧妙地避免了雙花問題。
文獻[12]提出的NANO 使用了委托權(quán)益證明(Delegated Proof of Stake,DPOS)共識機制,賬戶可以指定代表為其投票,得票最多的代表將處理分叉,這個代表會將分叉廣播到網(wǎng)絡(luò),并觀察來自高權(quán)賬戶節(jié)點在固定時間內(nèi)的投票結(jié)果,以此來確定保留哪一個區(qū)塊。NANO 通過DPOS 機制保證了區(qū)塊的合理低能耗運行,同時,其也使用到了PoW 機制,以確認交易需要非常少的工作量證明。
Conflux[13]是一家公有區(qū)塊鏈系統(tǒng)研發(fā)商,其使用DAG 結(jié)構(gòu)并結(jié)合獨特的算法,使共識不再是擴容的瓶頸。Conflux 協(xié)議將區(qū)塊組織成一個新的樹圖區(qū)塊鏈結(jié)構(gòu),這是一個嵌入到有向無環(huán)圖中的樹。Conflux 為每個塊指定一個權(quán)重,該權(quán)重表示這個塊最終對其祖先塊的貢獻度。為了進一步適應(yīng)環(huán)境變化,文獻[14]重新設(shè)計了Conflux 的共識協(xié)議,編碼了2 種不同的塊生成策略:一種允許快速確認的樂觀策略,以及一種確保交易共識的保守策略。Conflux 使用自適應(yīng)權(quán)重機制將這2 種策略結(jié)合到一個統(tǒng)一的一致性協(xié)議中,以應(yīng)對不同的工作場景。
隨著DAG 區(qū)塊鏈技術(shù)的不斷發(fā)展,研究者提出了許多新的DAG 區(qū)塊鏈技術(shù)(如Hashgraph 共識機制、SPECTRE 協(xié)議、PHANTOM 協(xié)議等),在去中心化機制、速度與并發(fā)方面都取得了進展,但這些技術(shù)迄今為止還未落地實施。
文獻[15]提出的Hashgraph 在公鏈環(huán)境下實現(xiàn)了異步BFT 共識。傳統(tǒng)BFT 的一大問題是消息復(fù)雜度太高,大量消耗網(wǎng)絡(luò)帶寬,且無法很好地應(yīng)對動態(tài)網(wǎng)絡(luò),而Hashgraph 引入了Gossip 協(xié)議,同時運用虛擬投票機制,避免在共識時引起突發(fā)大規(guī)模消息傳遞風(fēng)暴。文獻[16]分析了一種非常強大的區(qū)塊鏈替代技術(shù)——Hashgraphs,并解釋其架構(gòu)和功能,給出進一步開發(fā)的方向和預(yù)測。文獻[17]對基于DAG 的模型IOTA 和Hashgraph 進行了對比分析,并且對模型特征和功能進行概述。同時,定義評估這2種區(qū)塊鏈所需標準,對2個系統(tǒng)進行了深入分析,并確定了IOTA 和Hashgraph 在IoT 中的應(yīng)用面臨的挑戰(zhàn)。
文獻[18]提出的SPECTRE協(xié)議采用了Block+DAG的“區(qū)塊有向無環(huán)圖”技術(shù),可以并行挖礦,從而獲得更大的吞吐量和更快的交易確認速度。該項技術(shù)是對中本聰提出的區(qū)塊鏈的泛化,解決了前者需要在安全性與擴容能力之間進行取舍的問題,因而更適合建立速度更快或規(guī)模更大的區(qū)塊。但是該協(xié)議在受到“雙花”攻擊時,攻擊區(qū)塊在發(fā)布以前幾乎不會與誠實節(jié)點產(chǎn)生的區(qū)塊相關(guān)聯(lián),因為在這個階段誠實區(qū)塊不知道這些攻擊區(qū)塊的存在,所以自然不會引用它們。綜合來看,這些惡意攻擊都有一個顯著特點:惡意節(jié)點產(chǎn)生的區(qū)塊與誠實節(jié)點產(chǎn)生的區(qū)塊之間的連通度比較低,反之,誠實節(jié)點產(chǎn)生的區(qū)塊之間的連通度會比較高。文獻[19]中的Hycon 使用SPECTRE 協(xié)議作為共識機制來保證交易速度和靈活性,其主要特性是快速交易確認時間、鏈上交易擴展性(在2 MB/s 的連接中高達3 000 筆交易每秒的吞吐量)、同步出塊(基于DAG 結(jié)構(gòu)位置而不是時間先后鏈接區(qū)塊)以及智能合約。
文獻[20]介紹了一種在任何網(wǎng)絡(luò)狀況下都是安全的交易確認協(xié)議PHANTOM。PHANTOM 不會受到比特幣協(xié)議所面臨的安全性和可擴展性需要權(quán)衡的問題,其利用帶區(qū)塊的有向無環(huán)圖blockDAG 作為比特幣區(qū)塊鏈的一個擴展,支持生成更快和更大的區(qū)塊,但需要更長的時間傳播。PHANTOM 在blockDAG 上使用貪婪算法來區(qū)分誠實節(jié)點正確挖礦的區(qū)塊和選擇偏離挖礦協(xié)議的非合作節(jié)點創(chuàng)建的塊。利用這一特點,PHANTOM 在blockDAG 上提供了一個健壯的完整命令,最終使得所有誠實節(jié)點達成共識。文獻[21]提出的PHANTOM 協(xié)議的投票原則正是基于這個原理,通過判斷不同區(qū)塊間的連通度進行投票。
傳統(tǒng)的區(qū)塊鏈將交易打包在塊中形成鏈式結(jié)構(gòu)[22],而基于DAG 的分布式賬本將交易作為邊存儲在有向無環(huán)圖中,這就使得傳統(tǒng)區(qū)塊鏈在安全性方面更加突出[23],而DAG 區(qū)塊鏈在效率上更為突出。文獻[24]比較了傳統(tǒng)區(qū)塊鏈和DAG 區(qū)塊鏈在分布式設(shè)計上相關(guān)的特性,同時研究了優(yōu)化分類賬戶維護、共識機制、交易確認可信度、分類賬戶大小以及可擴展性問題的數(shù)據(jù)結(jié)構(gòu)。文獻[25]研究了區(qū)塊鏈中的3 種主流共識機制,即PoW、權(quán)益證明(Proof of Stake,PoS)和有向無環(huán)圖,并根據(jù)生成新區(qū)塊的平均時間、確認延遲、每秒交易確認數(shù)(Transactions Per Second,TPS)和交易確認失敗概率進行評價。結(jié)果表明,共識過程受網(wǎng)絡(luò)資源(包括計算能力、緩沖區(qū)大小等)和網(wǎng)絡(luò)負載條件的影響,且PoW 和PoS對網(wǎng)絡(luò)資源的變化更敏感,而DAG 對網(wǎng)絡(luò)負載條件更敏感。與PoW 和PoS 不同,在DAG 中創(chuàng)建新區(qū)塊不存在競爭,所有交易都是直接或間接關(guān)聯(lián)的。文獻[26]從數(shù)據(jù)結(jié)構(gòu)、共識機制、交易模型這3 個方面對物聯(lián)網(wǎng)的分散共識系統(tǒng)進行了研究。對基于鏈式結(jié)構(gòu)區(qū)塊鏈的系統(tǒng)(如比特幣和以太坊)和基于DAG 的分布式賬本(如IOTA 和Byteball)進行了綜合比較,通過分析和總結(jié)利弊,發(fā)現(xiàn)基于DAG 的分布式賬本在可擴展性、交易確認速度和分散性方面更優(yōu)異。文獻[27]指出,基于DAG 的分布式賬本因其具有高并發(fā)特性,有望突破傳統(tǒng)區(qū)塊鏈中的性能瓶頸,且在基于DAG 的分布式賬本中,最為核心和關(guān)鍵的技術(shù)是共識機制,并為此對該關(guān)鍵技術(shù)進行了深入研究。本文對DAG 區(qū)塊鏈技術(shù)與傳統(tǒng)區(qū)塊鏈技術(shù)進行了對比,如表1 所示。
表1 DAG 區(qū)塊鏈技術(shù)與傳統(tǒng)區(qū)塊鏈技術(shù)的對比Table 1 Comparison of DAG based blockchain technology and traditional blockchain technology
DAG 區(qū)塊鏈采用不同的優(yōu)化機制,為評估這些優(yōu)化機制的有效性,一些研究者設(shè)計實現(xiàn)了DAG 區(qū)塊鏈仿真系統(tǒng)對DAG 區(qū)塊鏈的關(guān)鍵指標進行評估。文獻[28]提出了一個基于DAG 的可配置交互式分布式賬本技術(shù)(Distributed Ledger Technology,DLT)仿真框架CIDDS,以實現(xiàn)數(shù)千節(jié)點級的大規(guī)模仿真,使用戶能夠使用數(shù)千個節(jié)點執(zhí)行大規(guī)模模擬,并在受控條件下研究網(wǎng)絡(luò)的不同特性。文獻[29]為基于DAG 的加密貨幣提供了一個異步、連續(xù)時間和多代理的仿真框架DAGsim,對系統(tǒng)中誠實和半誠實的參與者進行建模,以分析特定加密貨幣IOTA 的行為。模擬結(jié)果表明,具有低延遲和高連接度的代理在網(wǎng)絡(luò)中以誠實和半誠實策略接受交易的概率更高。文獻[30]擴展了DAGsim 模擬器,提出分層分析模型來探索確認正態(tài)分布,并發(fā)現(xiàn)確認正態(tài)分布在DAG 層中,這導(dǎo)致了高斯模型的特征化。同時,利用該模型估計專用物聯(lián)網(wǎng)的RWT,并通過實驗結(jié)果進行驗證。文獻[31]提出一個DAG 區(qū)塊鏈的性能評估框架DAGBENCH。該框架提供了許多示例工作負載和適配器,可以有效且輕松地評估不同的DAG,從吞吐量、延遲、可擴展性、成功指標、資源消耗、交易數(shù)據(jù)大小、交易費用等各個方面衡量性能。
一些研究者對現(xiàn)有DAG 區(qū)塊鏈系統(tǒng)不同方面的屬性進行了評估。文獻[32]對基于DAG 的區(qū)塊鏈系統(tǒng)進行了全面分析,通過解構(gòu)開源系統(tǒng)和回顧學(xué)術(shù)研究,總結(jié)系統(tǒng)的主要組成部分和特征屬性,并提出了建立DAG 區(qū)塊鏈的方法。該文指出:1)基于DAG 的區(qū)塊鏈由于其不兼容的設(shè)計、缺乏標準、不可靠的安全性、不同的性能和未完成的實現(xiàn),距離商業(yè)應(yīng)用仍然較遠;2)DAG 結(jié)構(gòu)有可能提高可擴展性和性能,但不可避免地會犧牲某些屬性,如一致性和終結(jié)性;3)基于DAG的系統(tǒng)各不相同,一個統(tǒng)一的形式化模型很難涵蓋所有關(guān)鍵點,相反地,一個松散和非正式的模型對于更好地理解不同的DAG區(qū)塊鏈系統(tǒng)非常有益;4)雖然將DAG結(jié)構(gòu)應(yīng)用于經(jīng)典的分布式系統(tǒng)和區(qū)塊鏈系統(tǒng)是一個相當具有挑戰(zhàn)性的問題,但許多相關(guān)系統(tǒng)的研究已經(jīng)取得了很大的進展。文獻[33]研究了物聯(lián)網(wǎng)中網(wǎng)絡(luò)負載對基于DAG 的區(qū)塊鏈共識過程的影響,利用馬爾科夫鏈模型說明基于DAG 的區(qū)塊鏈網(wǎng)絡(luò)的共識中的動態(tài)過程,在交易到達率波動引起的不穩(wěn)定狀態(tài)下,分析了累積權(quán)重和交易確認延遲等關(guān)鍵性能指標。文獻[34]對具有代表性的基于DAG 的區(qū)塊鏈IOTA 進行了一系列全面的實驗研究,主要從性能和安全兩個方面特性出發(fā),揭示了以下事實:1)物聯(lián)網(wǎng)的吞吐量高于傳統(tǒng)區(qū)塊鏈結(jié)構(gòu)的吞吐量,但是即使是在放大配置的情況下也遠低于白皮書中報告的數(shù)千TPS;2)數(shù)據(jù)庫查詢嚴重影響物聯(lián)網(wǎng)的性能,甚至超過PoW 計算過程。文獻[35]介紹了一組關(guān)于IOTA的綜合性實驗研究。IOTA是DAG 區(qū)塊鏈的代表,該文主要從性能、安全性、系統(tǒng)魯棒性等3 個方面展示其獨特的特性,同時開發(fā)了一系列基準工具,并進行了基礎(chǔ)配置,以使用現(xiàn)實中的私有物聯(lián)網(wǎng)進行實驗測試。文獻[36]通過調(diào)查研究發(fā)現(xiàn),基于DAG 的分布式賬本缺乏詳細的性能評估,與傳統(tǒng)區(qū)塊鏈相比,基于DAG 的DLT 在設(shè)計上提供了更好的性能和可擴展性,并且重點研究了DAG 區(qū)塊鏈在物聯(lián)網(wǎng)中的性能評估。綜上所述,DAG 區(qū)塊鏈在交易確認速度、吞吐量以及可擴展性方面相對于傳統(tǒng)區(qū)塊鏈有較大提升,但在安全性、技術(shù)標準、可實施性等方面較傳統(tǒng)區(qū)塊鏈還有較大的差距。
DAG 區(qū)塊鏈具有可擴展、不兼容等特性,因此,研究者在設(shè)計時對交易確認速度、系統(tǒng)吞吐量、安全性、存儲結(jié)構(gòu)等方面進行優(yōu)化,以使其適用于不同的應(yīng)用場景。
現(xiàn)有優(yōu)化交易確認速度的方法主要有:1)通過優(yōu)化交易網(wǎng)絡(luò)結(jié)構(gòu)增強并發(fā)性,加快交易確認速度;2)通過優(yōu)化纏結(jié)共識算法加快交易確認速度;3)通過優(yōu)化交易傳輸加快交易確認速度。表2 簡要結(jié)歸納了部分DAG 區(qū)塊鏈優(yōu)化交易確認速度的方法。
表2 DAG 區(qū)塊鏈優(yōu)化交易確認速度的方法歸納Table 2 Induction of method for optimizing transaction confirmation speed in DAG based blockchain
文獻[37-41]針對交易網(wǎng)絡(luò)進行優(yōu)化。文獻[37]描述了DAG 區(qū)塊鏈的優(yōu)勢,解決了傳統(tǒng)區(qū)塊鏈技術(shù)交易確認速度慢、擴展性差等問題,并表明有向無環(huán)圖是通過形成平行鏈而不是普通區(qū)塊鏈網(wǎng)絡(luò)中的單個鏈來優(yōu)化網(wǎng)絡(luò)節(jié)點之間的交易速度和擴展信道寬度的。文獻[38]提出一個可擴展性模型3D-DAG。該模型由主鏈和側(cè)鏈兩層組成,分別用于維護軸心序列和提高并行性。主鏈使用經(jīng)典的區(qū)塊鏈數(shù)據(jù)結(jié)構(gòu)和PoW 共識機制來繼承比特幣對資產(chǎn)交易的強大信任和安全性,而DAG用于構(gòu)建側(cè)鏈,以實現(xiàn)細粒度的并行交易處理。文獻[39]對基于DAG 加密貨幣的固有結(jié)構(gòu)進行了分析,通過對現(xiàn)有基于區(qū)塊鏈的加密貨幣進行多次嘗試,突破交易處理速度的限制,產(chǎn)生了多種形式的解決方案,如側(cè)鏈、鏈外或數(shù)據(jù)分片,其中,基于DAG 的加密貨幣具有更快的交易發(fā)行和確認速度。然而,現(xiàn)有基于DAG 的加密貨幣也存在性能不穩(wěn)定的問題,因此,研究者構(gòu)建了基于DAG 的加密貨幣在計算參數(shù)時的通用性能模型。根據(jù)導(dǎo)出的模型,提出一些新的策略來提高基于DAG 的加密貨幣系統(tǒng)的性能,該系統(tǒng)鼓勵加密貨幣的參與者(包括交易者和節(jié)點)在保持賬本健壯性的同時提高交易處理速度。文獻[40]提出一種無權(quán)限區(qū)塊鏈DLattice,該區(qū)塊鏈具有一種新的雙DAG體系結(jié)構(gòu)DLattice,其中每個賬戶都有自己的賬戶DAG,所有賬戶組成一個更大的節(jié)點DAG 結(jié)構(gòu)。DLattice 使每個帳戶的DAG 的增長并行,且不受其他帳戶無關(guān)交易的影響。文獻[41]提出一種輕型區(qū)塊鏈體系結(jié)構(gòu)V-lattice,該體系結(jié)構(gòu)使用了VANET的DAG晶格結(jié)構(gòu)。在V-Lattice 中,每個節(jié)點(車輛或路邊單元)都有自己的賬戶鏈,其生成的電子交易可以異步和并行地添加到區(qū)塊鏈中,資源受限的車輛可以存儲修剪后的區(qū)塊鏈,并正常執(zhí)行與區(qū)塊鏈相關(guān)的操作。
文獻[42-44]針對共識算法進行優(yōu)化。文獻[42]介紹了Re Tangle,這是一種新型的基于DAG 的區(qū)塊鏈加速架構(gòu),其探索了以低能耗成本執(zhí)行大規(guī)模并行操作的可能性。文獻[43]對IOTA DAG 架構(gòu)中的纏結(jié)連接機制進行了簡單優(yōu)化,以確保所有交易在有限時間內(nèi)得到驗證,并保留蒙特卡羅選擇算法的基本特征。該文提出一種新的混合小費選擇算法,解決了DAG 區(qū)塊鏈的分叉問題,并可以在有限時間內(nèi)驗證所有交易。改進后的算法提高了交易入鏈的速度,但在一定程度上降低了原算法的安全性,可能導(dǎo)致惡意纏繞鏈的現(xiàn)象,如雙花攻擊。文獻[44]指出,有向無環(huán)圖正成為分布式賬本技術(shù)替代傳統(tǒng)區(qū)塊鏈體系結(jié)構(gòu)的一個有效的替代方案,通過對IOTA DAG 架構(gòu)中纏結(jié)連接機制改進,能夠確保所有交易在有限時間內(nèi)得到驗證。
文獻[45-46]針對數(shù)據(jù)交易傳輸過程進行優(yōu)化。文獻[45]闡述了區(qū)塊鏈和DAG 有向無環(huán)圖的基礎(chǔ)及其演變過程,DAG 試圖解決區(qū)塊鏈中的大多數(shù)問題,并為物聯(lián)網(wǎng)產(chǎn)業(yè)構(gòu)建一個穩(wěn)定的系統(tǒng)。其中,MAM 是一種輔助數(shù)據(jù)通信協(xié)議,其增加了通過DAG 釋放和訪問加密數(shù)據(jù)流(如RSS)的能力。文獻[46]提出了拜占庭共識協(xié)議Blockmania,其中,節(jié)點發(fā)出的塊形成一個有向無環(huán)圖,隨后由每個節(jié)點分別解釋,以確保安全、活躍和最終的一致性,由于解釋由每個節(jié)點獨立執(zhí)行,因此不需要跨節(jié)點在消息中攜帶證據(jù),從而提高了效率。
優(yōu)化DAG 區(qū)塊鏈系統(tǒng)的吞吐量可以進一步增強其應(yīng)對短時高并發(fā)數(shù)據(jù)的處理能力,更加適用于物聯(lián)網(wǎng)等環(huán)境。目前在該方向中有分片并行計算、修改區(qū)塊鏈結(jié)構(gòu)、優(yōu)化共識機制這3 種方法。表3 簡要歸納了DAG 區(qū)塊鏈優(yōu)化系統(tǒng)吞吐量的方法。
表3 DAG 區(qū)塊鏈優(yōu)化系統(tǒng)吞吐量的方法歸納Table 3 Induction of method for optimizing system throughput in DAG based blockchain
文獻[47-48]提出分片并行計算方法。文獻[47]設(shè)計了一個新的區(qū)塊鏈系統(tǒng)DEXON。首先,為區(qū)塊鏈提供了一個高度可擴展、采用任意數(shù)量的單鏈分片框架,并將該框架轉(zhuǎn)換為塊晶格數(shù)據(jù)結(jié)構(gòu),實現(xiàn)了高可擴展性和低交易確認延遲,且具有漸近最優(yōu)的通信開銷。塊晶格結(jié)構(gòu)是由許多單鏈組成的有向無環(huán)圖。然后,使用總排序算法在區(qū)塊鏈上達成共識,從而確保所有用戶認可所有區(qū)塊的排序。由于單鏈可以同時增長,因此DEXON 的吞吐量可以很容易地擴展。文獻[48]則構(gòu)建一個并行挖掘模型來提高基于狀態(tài)的區(qū)塊鏈的TPS。
文獻[13-14,49-51]針對DAG 區(qū)塊鏈結(jié)構(gòu)進行優(yōu)化。除了上文提到的Conflux 協(xié)議[13-14]之外,文獻[49]分析了比特幣和基于區(qū)塊鏈的比特幣NG 系統(tǒng)的特點,提出了一種改進的區(qū)塊鏈系統(tǒng)實現(xiàn)方法,用圖形數(shù)據(jù)結(jié)構(gòu)代替原有的區(qū)塊鏈結(jié)構(gòu)GraphChain。GraphChain是一種特制的數(shù)據(jù)結(jié)構(gòu),并非典型的DAG,其中每個區(qū)塊代表一筆交易,同時包含交易員的余額狀態(tài),通過將原有爭奪采礦者的方式改為選舉和平行開采來提高資源利用率。文獻[50]提出了一種鏈的替代結(jié)構(gòu),由帶區(qū)塊的有向無環(huán)圖組成,其允許以更高的速率運行。DAG 結(jié)構(gòu)是通過允許塊引用多個前輩而創(chuàng)建的,并且需要交易接受規(guī)則,這些規(guī)則甚至包含來自看似沖突的塊的交易。該規(guī)則從DAG 內(nèi)選擇主鏈,然后有選擇地將鏈外區(qū)塊的內(nèi)容合并到日志中,前提是它們與以前包含的內(nèi)容不沖突。因此,系統(tǒng)可以容忍傳播時間較長的較大數(shù)據(jù)塊,并且可以增加交易量。文獻[51]提出了收斂有向無環(huán)圖CDAG 以替代其他區(qū)塊鏈協(xié)議中使用的鏈和DAG 結(jié)構(gòu)。CDAG 允許對分類賬進行多次并行更新,并在下一步將其聚合,從而保證了區(qū)塊鏈的最終一致性。CDAG 將更新劃分為不相交的交易桶,以防止沖突塊的生成,并將時間劃分為多個時隙,以便為它們在網(wǎng)絡(luò)中傳播提供足夠的時間,通過多個同步更新提高吞吐量。
文獻[52-54]針對共識機制進行優(yōu)化。文獻[52]介紹了一個新型亞穩(wěn)態(tài)無領(lǐng)導(dǎo)拜占庭容錯協(xié)議族。這些協(xié)議在拜占庭對手面前提供了強大的概率安全保障,同時并發(fā)性使它們能夠?qū)崿F(xiàn)高吞吐量和可擴展性。與依賴工作量證明的區(qū)塊鏈不同,在Avalanche 協(xié)議的網(wǎng)絡(luò)系統(tǒng)中,如果有人想在2 筆交易中花費同一筆錢,那么鑒于Avalanche 協(xié)議本身的屬性,無法在這2 筆交易中做出選擇,從而會導(dǎo)致這筆錢丟失,間接地懲罰了嘗試攻擊者。因為Avalanche 協(xié)議的重點只是達成共識,并不是做出選擇。文獻[53]提出的Perlin 是一個強化并推廣了Avalanche 一致性協(xié)議的分布式賬本,其在有向無環(huán)圖上基于亞穩(wěn)態(tài)機制構(gòu)建部分同步拜占庭容錯協(xié)議,以實現(xiàn)極高的吞吐量和可擴展性。文獻[54]提出一種基于DAG 的聯(lián)盟區(qū)塊鏈拜占庭容錯共識算法Jointgraph,以提高安全性和效率。在Jointgraph 中,交易被打包到事件中,并由不少于2/3 的所有成員驗證。在該文設(shè)計中,引入了一位監(jiān)督人以監(jiān)督成員的行為,提高共識效率。
一些研究者注重于優(yōu)化DAG 區(qū)塊鏈的系統(tǒng)安全性,即提高DAG區(qū)塊鏈系統(tǒng)對于抵抗各種攻擊的能力。他們主要從DAG 區(qū)塊鏈系統(tǒng)安全性分析、優(yōu)化協(xié)議和共識機制提高安全性、修改DAG 區(qū)塊鏈架構(gòu)提高安全性等3 個方面進行系統(tǒng)安全性優(yōu)化。表4 簡要歸納了DAG 區(qū)塊鏈優(yōu)化系統(tǒng)安全性的方法。
表4 DAG 區(qū)塊鏈優(yōu)化系統(tǒng)安全性的方法歸納Table 4 Induction of method for optimizing system security in DAG based blockchain
文獻[55-58]針對系統(tǒng)安全性進行分析。文獻[55]指出,在設(shè)計基于DAG 的區(qū)塊鏈系統(tǒng)時,基于Tangle的結(jié)構(gòu)是較好的解決方案,但性能提升可能會帶來潛在的安全風(fēng)險。該文提出3 種綜合評估的攻擊類型,即寄生蟲攻擊、雙花攻擊和混合攻擊,以分層建立攻擊策略。在此基礎(chǔ)上,對不同的攻擊進行了多維度分析。文獻[56]考慮了基于DAG 的DLT 不同體系結(jié)構(gòu)在物聯(lián)網(wǎng)領(lǐng)域應(yīng)用的適用性,并著重考慮賬本的防篡改安全性。該文分析了一種常見的攻擊場景——“寄生蟲鏈攻擊”,此攻擊在于破壞IOTA 基金會的基于DAG 的系統(tǒng)中的分類帳的不可逆性,同時使用馬爾科夫鏈模型,研究IOTA的核心提示選擇方法針對該攻擊的漏洞,并對算法進行擴展,以提高該場景中賬本的彈性,其中重點討論了基于有向無環(huán)圖的DLT 的不同體系結(jié)構(gòu)。文獻[57]研究了最典型的DAG 共識機制Tangle,并分析網(wǎng)絡(luò)負載對區(qū)塊鏈性能和安全性的影響??紤]到網(wǎng)絡(luò)負載的不穩(wěn)定,首先提出一個馬爾科夫鏈模型描述動態(tài)負載條件下DAG一致性過程的行為,然后利用一個隨機模型分析在不同的網(wǎng)絡(luò)負載情況下成功進行雙花攻擊的概率。文獻[58]對基于DAG 的區(qū)塊鏈架構(gòu)進行分析,包括Nxt、IOTA、Orumesh、DagCoin、Byteball、Nano和XDAG,比較基于維護分類賬的功能數(shù)據(jù)結(jié)構(gòu)、共識算法、交易驗證、分類賬大小、可擴展性和流行性,并提取各種基于DAG 的區(qū)塊鏈的最佳特征,通過對上述基于DAG 的區(qū)塊鏈進行對比分析,制定出一個安全的DAG 區(qū)塊鏈架構(gòu)框架。
文獻[59-63]針對協(xié)議和共識機制進行優(yōu)化。文獻[59]設(shè)計了一個基于壓縮有向無環(huán)圖高效、安全的區(qū)塊鏈協(xié)議CoDAG。在該協(xié)議中,區(qū)塊按級別和寬度進行組織,新生成的區(qū)塊將被適當放置,并指向上一層的區(qū)塊,使其成為一個連接良好的通道,并且網(wǎng)絡(luò)中的交易將在確定的時間段內(nèi)確認,同時協(xié)議保持簡單的數(shù)據(jù)結(jié)構(gòu)。文獻[60]提出了一種新的交易驗證機制。該機制依賴于參與節(jié)點合作驗證新交易,在將交易包附加到Tangle之前,節(jié)點應(yīng)選擇2個最新提示并被批準。在基于DAG 的分散環(huán)境中,必須構(gòu)建一個健壯的選擇提示算法。設(shè)計這種算法的目的是推動節(jié)點選擇未經(jīng)批準的交易包,并解決檢查交易、雙重支出和偽造交易的沖突。文獻[61]指出,基于有向無環(huán)圖的模型旨在通過采用與BoStand 鏈中使用的不同協(xié)議來避免交易費用。該模型使用馬爾科夫鏈蒙特卡羅算法更新分布式賬本。然而,關(guān)于協(xié)調(diào)器節(jié)點集中化的問題仍然存在,并且選擇算法的經(jīng)濟激勵不足。該文提出了一種輕型高效的分布式賬本更新算法,通過貝葉斯推理,只考慮每一步的子角度。文獻[62]介紹了一種新的共識協(xié)議STAIR,實現(xiàn)基于DAG 的無信任系統(tǒng)中的快速協(xié)商一致。STAIR 使用了一種在每個節(jié)點上創(chuàng)建局部塊DAG 的新方法x-DAG,其構(gòu)建StakeDag 框架,根據(jù)參與者的利害關(guān)系將參與者區(qū)分為用戶和驗證器,其中兩者都可以創(chuàng)建和驗證交易塊。與StakeDag 的DAG不同,x-DAG 確保每個新塊都必須有來自用戶和驗證者的父塊,以實現(xiàn)更安全的效果。文獻[63]從DAG 的特殊結(jié)構(gòu)出發(fā),采用POS-PBFT 作為主鏈共識算法,將鏈式共識算法與DAG 相結(jié)合,提出一種區(qū)塊鏈新模型SDAG。該模型提高了系統(tǒng)的擴展性,并且使交易數(shù)據(jù)的一致性和時序性優(yōu)于鏈式結(jié)構(gòu)。
文獻[64-67]針對DAG 區(qū)塊鏈架構(gòu)進行優(yōu)化。文獻[64]提出了一種新型的DAG 結(jié)構(gòu)IDAG,其工作原理與DAG 類似,但沒有包含結(jié)果節(jié)點,而是包含因果效應(yīng)節(jié)點。IDAG 允許以直觀和嚴格的方式演示交互,有助于區(qū)分效應(yīng)變異背后的因果機制和非因果機制。該文通過實驗研究了如何以經(jīng)驗評估節(jié)點相互作用,以及如何在保證區(qū)塊鏈整體性能的基礎(chǔ)上總結(jié)區(qū)塊鏈接規(guī)律。文獻[65]描述了一個輕量級、有彈性的分布式賬本系統(tǒng)DLedger,通過將DLedger 安裝到存儲受限的物聯(lián)網(wǎng)設(shè)備中,當供應(yīng)的空間接近耗盡時,實體可以經(jīng)過修剪一段時間后保持未確認的所有記錄來減小本地DAG的大小,并取出遠離尾部記錄的歷史確認記錄。利用DAG 和PoA,即使是受限制的設(shè)備也可以通過“挖掘”自己的記錄并得到確認來參與,從而提高數(shù)據(jù)的可用性、完整性和真實性。文獻[66]利用形式化方法設(shè)計了一種塊DAG 架構(gòu),并且提出了維護該架構(gòu)所需的協(xié)議。DAG 區(qū)塊本質(zhì)上是將塊之間的關(guān)系用Lamport編碼,且任何確定性拜占庭容錯協(xié)議都可以嵌入到這個塊DAG 中,同時保持其安全性和靈活性。文獻[67]介紹了一個具有三維賬本架構(gòu)的安全、高性能區(qū)塊鏈系統(tǒng)Spacechain,以實現(xiàn)區(qū)塊鏈在物聯(lián)網(wǎng)中的開放性。首先,設(shè)計一個具有新穎數(shù)據(jù)結(jié)構(gòu)的三維體系結(jié)構(gòu),使用宏塊構(gòu)造有向無環(huán)圖;然后,將許多微型塊連接到DAG區(qū)塊鏈形成第3 個維度,從而應(yīng)對物聯(lián)網(wǎng)網(wǎng)絡(luò)的異構(gòu)性和可擴展性;最后,提出空間鏈的三維貪婪最重觀測子樹(3D-GHOST)一致性機制,以提高安全性和網(wǎng)絡(luò)性能。
除了DAG 區(qū)塊鏈共識機制和架構(gòu),DAG 區(qū)塊鏈交易的存儲和查找也是限制DAG 區(qū)塊鏈系統(tǒng)性能的重要問題,一些學(xué)研究者對此進行了研究。表5 簡要歸納了DAG 區(qū)塊鏈優(yōu)化存儲結(jié)構(gòu)的方法。
表5 DAG 區(qū)塊鏈優(yōu)化存儲結(jié)構(gòu)的方法歸納Table 5 Induction of method for optimizing storage structure in DAG based blockchain
文獻[68]提出一種基于有向無環(huán)圖的新通證設(shè)計模型,允許在不檢查整個區(qū)塊鏈的情況下有效地探索通證歷史。該模型將通證的每個狀態(tài)從過去關(guān)聯(lián)到最新,并涵蓋通證之間關(guān)系的表達式,例如合并和拆分,這不僅提高了跟蹤效率,而且還有助于跟蹤溯源,包括合并、拆分、分支通證歷史。
文獻[69-71]針對數(shù)據(jù)存儲方法進行優(yōu)化。文獻[69]提出了一種基于輕量級有向無環(huán)圖的區(qū)塊鏈LDV,并提出了基于社會的數(shù)據(jù)約簡方法。具體而言,每個節(jié)點只在感興趣的主題組中存儲感興趣的數(shù)據(jù),而忽略不感興趣的數(shù)據(jù)。為了避免在具有大量數(shù)據(jù)的大型組中產(chǎn)生巨大的存儲成本,進一步提出了組內(nèi)歷史數(shù)據(jù)剪枝方法,通過減少每個節(jié)點中存儲的重復(fù)數(shù)據(jù)數(shù)量來滿足存儲需求。文獻[70]為物聯(lián)網(wǎng)區(qū)塊鏈設(shè)計一種高效的共識算法Teegraph,其包括基于Gossip協(xié)議的消息通信機制,以生成用于高效共識過程的基于有向無環(huán)圖的數(shù)據(jù)結(jié)構(gòu)。當沒有創(chuàng)建新交易時,Teegraph 就像一種節(jié)省資源的機制,可以減少通信開銷并節(jié)省存儲空間。文獻[71]基于改進的區(qū)塊鏈方法,利用有向無環(huán)圖,為NMG 提出一個安全的隨機能源管理框架,使用分散透明的區(qū)塊鏈技術(shù)提高網(wǎng)絡(luò)安全性并降低風(fēng)險,從而消除金融欺詐,降低總運營成本。為解決傳統(tǒng)區(qū)塊鏈模型中由于哈希地址計算的存儲和高復(fù)雜性問題,該文提出一種基于DAG 方法的改進區(qū)塊鏈技術(shù),此外,還設(shè)計新的數(shù)據(jù)恢復(fù)技術(shù),以適當精度恢復(fù)數(shù)據(jù)。
唯一地址檢查是確保每個用戶帳戶(錢包)的每筆交易都與唯一的私鑰/公鑰對相關(guān)聯(lián)的基本過程,其中公鑰和私鑰將分別用作交易的地址和簽名。目前,基于DAG 的區(qū)塊鏈系統(tǒng)通常采用基于數(shù)據(jù)庫的方法,依靠耗時耗空間的數(shù)據(jù)庫查詢來執(zhí)行唯一地址檢查過程。文獻[72-74]針對此問題進行研究。文獻[72]設(shè)計了一個嵌入IOTA 輕量級客戶端的布谷鳥過濾器,以幫助加速地址檢查過程。這種設(shè)計基于這樣一種假設(shè),即在快照之后可以重用地址,快照會定期執(zhí)行以減少纏結(jié)大小。該文為當前混亂中的地址構(gòu)建bloom 過濾器,以保證唯一性。然而,這種假設(shè)是不現(xiàn)實的,使得這種設(shè)計很難在實踐中部署。文獻[73]提出了一種稱為ABACUS 的方法,利用兩級分區(qū)bloom 過濾器執(zhí)行地址檢查。分區(qū)bloom 過濾器負責(zé)根據(jù)其前綴存儲所有已用地址,每個分區(qū)bloom 過濾器的一個SBF(子bloom過濾器)保存在內(nèi)存中并寫入緩沖區(qū)。然而,這種方法的重點是優(yōu)化bloom 過濾器更新操作,以加速唯一地址檢查。此外,ABACUS 假設(shè)所有地址檢查過程都在支付帳戶內(nèi)執(zhí)行,而忽略地址的時間位置。文獻[74]提出了一種熱感知細粒度bloom 過濾器HF-BF,用于對基于DAG 的區(qū)塊鏈進行唯一地址檢查。BFU 是細粒度bloom 過濾器散列函數(shù),為了管理BFU 的大存儲空間并盡可能減少用于檢查地址的I/O 數(shù)量,該文設(shè)計了一種自適應(yīng)BFU 管理方案,在內(nèi)存和磁盤之間調(diào)度活動BFU。但是此解決方案具有一定的安全性風(fēng)險,由于地址未存儲,一旦區(qū)塊鏈網(wǎng)絡(luò)發(fā)生錯誤,交易就無法被追溯,從而導(dǎo)致交易無法確認。
DAG 區(qū)塊鏈通常應(yīng)用在節(jié)點計算能力不足、對交易處理時間要求高而對單筆交易可信性要求不嚴格的場景中。本節(jié)主要介紹DAG 區(qū)塊鏈目前在數(shù)據(jù)管理、數(shù)據(jù)共享以及數(shù)據(jù)安全等場景中的應(yīng)用。
DAG 區(qū)塊鏈因其速度更快、無交易費用同時也無需挖礦等特點,被廣泛應(yīng)用于物聯(lián)網(wǎng)等數(shù)據(jù)并發(fā)量大但設(shè)備算力不足的場景中。
文獻[75]對物聯(lián)網(wǎng)環(huán)境的特點,包括其安全性和性能要求,以及區(qū)塊鏈技術(shù)的進展進行了系統(tǒng)研究,并且提出一種基于DAG 的區(qū)塊鏈來解決區(qū)塊鏈在物聯(lián)網(wǎng)中應(yīng)用面臨的一些重大挑戰(zhàn)。文獻[65]描述了一個輕量級、有彈性的分布式賬本系統(tǒng)DLedger。DLedger在一個有向無環(huán)圖上構(gòu)建分類賬,而不是一個單一的區(qū)塊鏈。DLedger沒有使用計算密集型工作量證明,而是使用身份驗證證明(PoA),其輕量級操作對物聯(lián)網(wǎng)友好以達成共識。此外,DLedger建立在一個名為命名數(shù)據(jù)網(wǎng)絡(luò)(NDN)的以數(shù)據(jù)為中心的網(wǎng)絡(luò)上,這有助于異構(gòu)物聯(lián)網(wǎng)中的對等數(shù)據(jù)傳播。文獻[76]提出一種應(yīng)用層協(xié)議,稱為流式數(shù)據(jù)支付協(xié)議SDPP。該協(xié)議規(guī)定,數(shù)據(jù)提供者可以發(fā)送自動發(fā)票,數(shù)據(jù)消費者可以提供簽字收據(jù),以便將數(shù)據(jù)存儲在不可變的分布式賬本上,用于審計和爭議解決。SDPP 是第一個針對物聯(lián)網(wǎng)類型流式數(shù)據(jù)的集成數(shù)據(jù)支付記錄協(xié)議,其利用了傳統(tǒng)的TCP/IP 以及創(chuàng)新的基于區(qū)塊鏈和DAG 的分布式賬本技術(shù)。文獻[77]提出一種基于有向無環(huán)圖的分布式賬本技術(shù)PowerGraph,及其在智能電網(wǎng)中生成、驗證和確認電力交易的方案。由于基于DAG 的分布式賬本不需要生成用于確認的數(shù)據(jù)塊,PowerGraph 的每筆交易都會單獨經(jīng)歷驗證和確認過程。此外,PowerGraph中能夠跟蹤能源交易以及其他各種類型的交易,實現(xiàn)智能電網(wǎng)網(wǎng)絡(luò)中交易的完全跟蹤。
在大規(guī)模網(wǎng)絡(luò)環(huán)境下難以實現(xiàn)去中心的數(shù)據(jù)共享,而DAG 區(qū)塊鏈可以在一定程度上解決這一問題。為了應(yīng)對使用異構(gòu)設(shè)備管理大規(guī)模物聯(lián)網(wǎng)網(wǎng)絡(luò)的挑戰(zhàn),文獻[78]提出一種有向無環(huán)圖區(qū)塊鏈增強的用戶自治頻譜共享模型。由于所提出的一致性規(guī)則與系統(tǒng)效用密切相關(guān),用戶群智能在區(qū)塊鏈一致性過程中逐漸達到收斂點。此外,常用的分布式數(shù)據(jù)共享方法還包括邊緣計算、聯(lián)邦學(xué)習(xí)等。
4.2.1 邊緣計算
文獻[79]提出一種稱為安全無人機網(wǎng)絡(luò)邊緣服務(wù)(SDNES)的創(chuàng)新架構(gòu),該架構(gòu)將邊緣計算和基于DAG的區(qū)塊鏈集成到無人機網(wǎng)絡(luò)中,為無人機提供實時可靠的網(wǎng)絡(luò)服務(wù),并有效避免惡意行為。文獻[80]提出基于DAG 的分布式邊緣技術(shù),旨在為物聯(lián)網(wǎng)系統(tǒng)提供安全和隱私以及新的附加功能,解決物聯(lián)網(wǎng)系統(tǒng)的現(xiàn)有問題,同時并使用IOTA 的屏蔽認證消息(MAM)成功地實現(xiàn)了物聯(lián)網(wǎng)傳感器數(shù)據(jù)的TAM 認證和安全傳輸,確保了數(shù)據(jù)機密性和數(shù)據(jù)認證。文獻[81]提出一個跨鏈框架來集成多個區(qū)塊鏈,以實現(xiàn)高效、安全的物聯(lián)網(wǎng)數(shù)據(jù)管理,并基于Hyperledge Fabric 和IOTA Tangle實現(xiàn)了該框架的原型。在此過程中,一個挑戰(zhàn)是物聯(lián)網(wǎng)區(qū)塊鏈的可擴展性。由于區(qū)塊鏈上的每個條目都需要所有網(wǎng)絡(luò)節(jié)點達成共識,因此基于單一架構(gòu)的區(qū)塊鏈無法很好地擴展。為了解決這個問題,該文使用有向無環(huán)圖數(shù)據(jù)結(jié)構(gòu)引入纏結(jié),并將網(wǎng)絡(luò)分解為多個類似于“側(cè)鏈”的較小子纏結(jié)。然后,將這些側(cè)鏈網(wǎng)絡(luò)連接起來,形成一個分散的網(wǎng)絡(luò)。文獻[82]研究使用了一個基于物聯(lián)網(wǎng)和區(qū)塊鏈技術(shù)的集成框架,該框架結(jié)合了有向無環(huán)圖配置的無線傳感器網(wǎng)絡(luò)(Wireless Sensor Network,WSN)和用于水污染源實時追蹤的GIS工具。這項研究的新框架使用基于區(qū)塊鏈的技術(shù)、DAG 配置中的無線傳感器網(wǎng)絡(luò)和GIS 技術(shù)從灌溉取水數(shù)據(jù)中追蹤污染路徑。區(qū)塊鏈和GIS 工具被用于追蹤繪制的灌溉單元的污染,并在空間上識別灌溉進水口的上游污染單元。文獻[83]為IIoT 提供了一個基于信用的共識機制的區(qū)塊鏈系統(tǒng)。該文提出一種基于信用的物聯(lián)網(wǎng)設(shè)備工作量證明機制,可以同時保證系統(tǒng)安全和交易效率,其系統(tǒng)基于有向無環(huán)圖結(jié)構(gòu)區(qū)塊鏈構(gòu)建,利用異步一致性模型提高了系統(tǒng)吞吐量,在性能上比比特幣式區(qū)塊鏈更高效。文獻[84]介紹了一個可分區(qū)的區(qū)塊鏈Vegvisir,用于網(wǎng)絡(luò)連接有限、功率受限的物聯(lián)網(wǎng)環(huán)境,其為一個經(jīng)過許可的、有向無環(huán)圖結(jié)構(gòu)的區(qū)塊鏈,可用于創(chuàng)建一個共享的、防篡改的數(shù)據(jù)存儲庫,以跟蹤數(shù)據(jù)來源。文獻[85]提出了一個分片有向無環(huán)圖區(qū)塊鏈DagGridLedger,為可信的DNS 管理提供了可擴展的大數(shù)據(jù)體系結(jié)構(gòu),其將區(qū)塊鏈分片和DNS 解析器端的DAG 技術(shù)相結(jié)合,能夠增強大規(guī)模DNS 系統(tǒng)的安全性和穩(wěn)定性。
4.2.2 聯(lián)邦學(xué)習(xí)
文獻[86]提出了一種基于模型更新的有向無環(huán)圖聯(lián)邦學(xué)習(xí)中去中心化方法,客戶端不需要訓(xùn)練統(tǒng)一的全局模型,而是專注于本地數(shù)據(jù),同時根據(jù)各自數(shù)據(jù)的相似性使用其他客戶機的模型更新。這種特性隱式地出現(xiàn)在基于DAG 的通信和模型更新的選擇中。與傳統(tǒng)基于DAG 的共識機制相比,其DAG 模型中的交易不屬于絕對類別“有效”或“無效”。為解決聯(lián)邦學(xué)習(xí)(Federated Learning,F(xiàn)L)中的設(shè)備異步和異常檢測問題,同時避免區(qū)塊鏈造成的額外資源消耗,文獻[87]構(gòu)建一個基于DAG 的區(qū)塊鏈系統(tǒng)授權(quán)聯(lián)邦學(xué)習(xí)的框架DAG-FL。首先從三層架構(gòu)詳細介紹了DAG-FL,然后設(shè)計了運行在不同節(jié)點上的DAG-FL 控制和DAG-FL更新2 種算法,最后詳細闡述了DAG-FL 共識機制的運行過程。該文作者還在文獻[88]中介紹了一個基于DAG的區(qū)塊鏈系統(tǒng)授權(quán)聯(lián)邦學(xué)習(xí)的框架,并建立了一個泊松過程模型,討論了在不同的聯(lián)邦學(xué)習(xí)任務(wù)中如何設(shè)置部署參數(shù)以保持DAG-FL 的穩(wěn)定。
目前DAG 區(qū)塊鏈應(yīng)用于數(shù)據(jù)安全的場景主要有訪問控制和隱私保護2 種。
4.3.1 訪問控制
文獻[89]推出了一個基于區(qū)塊鏈的物聯(lián)網(wǎng)系統(tǒng)B-IoT,該系統(tǒng)包含基于信用的共識機制。為了保護敏感物聯(lián)網(wǎng)數(shù)據(jù)的機密性,該文設(shè)計一種數(shù)據(jù)權(quán)限管理方法來規(guī)范對傳感器數(shù)據(jù)的訪問。同時,基于有向無環(huán)圖結(jié)構(gòu)的區(qū)塊鏈構(gòu)建系統(tǒng),得到較比特幣類型的區(qū)塊鏈更高的效率。文獻[90]介紹了一個許可的區(qū)塊鏈系統(tǒng)CAPER,用于支持協(xié)作分布式應(yīng)用程序的內(nèi)部和跨應(yīng)用程序交易。在CAPER 中,區(qū)塊鏈分類賬形成為一個DAG,其中每個應(yīng)用程序只訪問和維護自己的分類賬視圖,包括其內(nèi)部和所有跨應(yīng)用程序交易。CAPER 還引入了3 種一致性協(xié)議,用于在具有不同內(nèi)部一致性協(xié)議的應(yīng)用程序之間全局排序跨應(yīng)用程序交易。文獻[91]介紹了一種無信任系統(tǒng)的通用模型StakeDag,其目的是在基于DAG的無信任系統(tǒng)中實現(xiàn)PoS 共識。在該模型中,參與者通過他們的利益或信任來區(qū)分用戶和驗證器。用戶是沒有假定信任的正常參與者,而驗證器是具有已建立信任的知名參與者。
4.3.2 隱私保護
文獻[92]提出并調(diào)查了物聯(lián)網(wǎng)的主要安全問題。除了用于網(wǎng)絡(luò)、通信和管理的協(xié)議外,還審查并分類了物聯(lián)網(wǎng)分層體系結(jié)構(gòu)方面的常見安全問題,并提出了一種DAG 區(qū)塊鏈解決方案。文獻[93]指出,基于DAG 的分布式賬本可以通過設(shè)計來解決性能和可擴展性問題。首先對分布式賬本技術(shù)在物聯(lián)網(wǎng)中的應(yīng)用以及這種分散系統(tǒng)的性能進行全面的評估;然后在對不同基于DAG 的分布式賬本技術(shù)進行簡要描述,同時對物聯(lián)網(wǎng)進行了詳細的技術(shù)概述;最后利用物聯(lián)網(wǎng)協(xié)議并遵循關(guān)注點分離(Separation of Concerns,SoC)設(shè)計原則,提出一種可擴展的交易式智能家居基礎(chǔ)設(shè)施。文獻[94]通過利用基于有向無環(huán)圖的DLT 并遵循SoC 設(shè)計原則,提出一種可擴展的交易式智能家居基礎(chǔ)設(shè)施,并對40 個家庭節(jié)點進行了實驗驗證。結(jié)果表明,此解決方案具有高TPS/CTP和良好的可擴展性,以及在物聯(lián)網(wǎng)環(huán)境中重要的數(shù)據(jù)安全和小額支付方面的良好性能。文獻[95]針對電動汽車需要的充電樁數(shù)量有限且充電比加油更耗時的情況,提出一種基于DAG 區(qū)塊鏈和雙拍賣機制的安全高效的計費調(diào)度系統(tǒng),同時設(shè)計一個輕量級計費調(diào)度框架,該框架集成了DAG 區(qū)塊鏈和現(xiàn)代密碼技術(shù),能夠確保在執(zhí)行調(diào)度和完成交易期間的安全性和可擴展性。
DAG 區(qū)塊鏈吞吐量高、交易處理速度快等特性使其與傳統(tǒng)區(qū)塊鏈技術(shù)的優(yōu)劣對比十分明顯,但在單筆交易安全性上卻存在不足。未來研究可從以下4 個方面進行展開:
1)研究能夠落地應(yīng)用的高效DAG 區(qū)塊鏈技術(shù)。盡管目前針對DAG 區(qū)塊鏈的研究有較大進展,但是部分協(xié)議距離落地應(yīng)用還存在一定距離,并且現(xiàn)有的DAG 區(qū)塊鏈技術(shù)形式多樣,難以統(tǒng)一且未形成標準,在未來這些方面還需要完善。
2)優(yōu)化存儲結(jié)構(gòu),加快交易查找速度。在DAG區(qū)塊鏈共識過程中,數(shù)據(jù)庫交易查找嚴重影響區(qū)塊鏈性能,如何創(chuàng)建高效的數(shù)據(jù)索引結(jié)構(gòu)加快交易查找速度,以及如何減少共識過程中的交易查找數(shù)量,是優(yōu)化DAG 區(qū)塊鏈的重要研究方向。
3)優(yōu)化共識機制,提高DAG 區(qū)塊鏈抗攻擊能力。目前采用DAG 區(qū)塊鏈會讓交易序列化變得復(fù)雜,“雙花”問題難以得到解決,且DAG 區(qū)塊鏈中的交易確認是概率可信,難以實現(xiàn)最終一致性的共識。因此,改進DAG 區(qū)塊鏈共識機制,提高DAG 區(qū)塊鏈抗攻擊能力是未來重要的研究方向。
4)探索DAG 區(qū)塊鏈在工業(yè)互聯(lián)網(wǎng)等領(lǐng)域的應(yīng)用。工業(yè)互聯(lián)網(wǎng)是新一代信息通信技術(shù)與工業(yè)經(jīng)濟深度融合的新型基礎(chǔ)設(shè)施、應(yīng)用模式和工業(yè)生態(tài)。工業(yè)互聯(lián)網(wǎng)具備和物聯(lián)網(wǎng)相同的計算能力差、數(shù)據(jù)高并發(fā)等問題,因此,DAG 區(qū)塊鏈在工業(yè)互聯(lián)網(wǎng)等領(lǐng)域,尤其是在工業(yè)互聯(lián)網(wǎng)產(chǎn)品溯源、故障處置、供應(yīng)鏈等方面具有廣泛的應(yīng)用前景。
本文從DAG 區(qū)塊鏈的發(fā)展、評估、優(yōu)化、應(yīng)用等方面出發(fā),闡述DAG 區(qū)塊鏈技術(shù)的研究進展,同時指出現(xiàn)有DAG 區(qū)塊鏈技術(shù)形式多樣未能統(tǒng)一,并且其商業(yè)化應(yīng)用仍存在技術(shù)難以落地和安全性問題等諸多不足。在目前DAG 區(qū)塊鏈技術(shù)不斷創(chuàng)新發(fā)展且新應(yīng)用大量涌現(xiàn)的背景下,未來將對區(qū)塊鏈架構(gòu)、存儲結(jié)構(gòu)、共識機制等方面進行深入研究,探索提高DAG 區(qū)塊鏈系統(tǒng)運行效率和安全性的有效方法。