趙 駿,戴 歡,2+,唐 毅,2,索梓翔,孫 立
(1.蘇州科技大學(xué) 電子與信息工程學(xué)院,江蘇 蘇州 215009;2.蘇州和數(shù)區(qū)塊鏈應(yīng)用研究院有限公司,江蘇 蘇州 215000)
近年來(lái),隨著物聯(lián)網(wǎng)等新興技術(shù)不斷興起,助推了智慧城市的發(fā)展[1]。智慧城市包括了數(shù)以萬(wàn)計(jì)的感知設(shè)備、大量的網(wǎng)絡(luò)基礎(chǔ)設(shè)施以及智能信息處理和控制系統(tǒng)[2]。中心化網(wǎng)絡(luò)結(jié)構(gòu)的智慧城市信息系統(tǒng)存在著安全性低、隱私泄露和擴(kuò)展性能差等問(wèn)題。
區(qū)塊鏈的去中心化、防篡改和可溯源等優(yōu)點(diǎn)對(duì)解決當(dāng)前物聯(lián)網(wǎng)數(shù)據(jù)存儲(chǔ)和共享的安全問(wèn)題提供了解決方案[3-5],但區(qū)塊鏈與物聯(lián)網(wǎng)的結(jié)合尚存在一些技術(shù)問(wèn)題,比如存儲(chǔ)膨脹[6,7]、性能低和設(shè)備資源受限等問(wèn)題。
本文設(shè)計(jì)了一種基于雙賬本的物聯(lián)網(wǎng)數(shù)據(jù)存儲(chǔ)與共享模型,通過(guò)邊緣服務(wù)器對(duì)感知數(shù)據(jù)進(jìn)行預(yù)處理,將計(jì)算任務(wù)分配到邊緣,利用新型分布式賬本技術(shù)IOTA Tangle網(wǎng)絡(luò)[8]的零值交易和掩碼認(rèn)證傳輸分布式存儲(chǔ)大量底層的感知數(shù)據(jù),利用區(qū)塊鏈賬本技術(shù)存儲(chǔ)預(yù)處理后的物聯(lián)網(wǎng)數(shù)據(jù)報(bào)告和數(shù)據(jù)摘要,結(jié)合改進(jìn)的DPoS共識(shí)算法[9],有效解決節(jié)點(diǎn)投票不積極和惡意賄賂問(wèn)題,提高了系統(tǒng)共享數(shù)據(jù)的安全性。
近年來(lái),國(guó)內(nèi)外的研究人員已經(jīng)將區(qū)塊鏈技術(shù)運(yùn)用于物聯(lián)網(wǎng)數(shù)據(jù)的存儲(chǔ)與共享,并取得了顯著的成效。文獻(xiàn)[10]構(gòu)造了基于區(qū)塊鏈技術(shù)的去中心化物聯(lián)網(wǎng)數(shù)據(jù)共享和存儲(chǔ)架構(gòu),設(shè)計(jì)了存儲(chǔ)證明的共識(shí)算法,并提出了基于Gossip協(xié)議的分層傳播方案,大幅降低了區(qū)塊傳播時(shí)延。文獻(xiàn)[11]設(shè)計(jì)了基于區(qū)塊鏈的物聯(lián)網(wǎng)隱私數(shù)據(jù)共享框架,提出了數(shù)據(jù)壓縮機(jī)制和一個(gè)混合訪問(wèn)控制機(jī)制,提高了區(qū)塊鏈上產(chǎn)品數(shù)據(jù)存儲(chǔ)的效率和安全保護(hù)方面的可行性。文獻(xiàn)[12]設(shè)計(jì)了基于閃電網(wǎng)絡(luò)的5G物聯(lián)網(wǎng)數(shù)據(jù)共享的鏈下交易機(jī)制,可以顯著增加交易吞吐量、減少交易時(shí)延。文獻(xiàn)[13]構(gòu)建了一個(gè)基于有向無(wú)環(huán)圖(directed acyclic graph,DAG)結(jié)構(gòu)的區(qū)塊鏈系統(tǒng)應(yīng)用于工業(yè)物聯(lián)網(wǎng),設(shè)計(jì)了基于信譽(yù)的工作量證明共識(shí)機(jī)制,保證了系統(tǒng)的安全性和交易的效率。文獻(xiàn)[14]提出了一個(gè)基于區(qū)塊鏈的森林火災(zāi)監(jiān)視系統(tǒng),加入了邊緣計(jì)算和邊緣無(wú)人機(jī),設(shè)計(jì)了一種全新架構(gòu)BESDDFFS以提高森林火災(zāi)監(jiān)視數(shù)據(jù)存儲(chǔ)與交付的安全性。文獻(xiàn)[15]提出了一種基于區(qū)塊鏈的森林野火數(shù)據(jù)傳輸框架BSSFFS,設(shè)計(jì)并實(shí)現(xiàn)了一個(gè)高效且節(jié)能的信心證明共識(shí)算法,能夠很好應(yīng)對(duì)資源受限的物聯(lián)網(wǎng)設(shè)備。文獻(xiàn)[16]提出了一種基于有向無(wú)環(huán)圖結(jié)構(gòu)的IOTA分布式賬本技術(shù),其本身的數(shù)據(jù)防篡改、零值交易、資源需求低和高度可擴(kuò)展等優(yōu)點(diǎn),能夠很好適配資源受限的物聯(lián)網(wǎng)設(shè)備。隨著2021年下半年IOTA 2.0開(kāi)發(fā)網(wǎng)以及可編程智能合約Beta版的發(fā)布,IOTA刪除了協(xié)調(diào)器,實(shí)現(xiàn)了一種高效的調(diào)度算法,確保了交易的公平性和短的延遲。
本文采用IOTA分布式賬本+區(qū)塊鏈賬本(Blockchain,BC)的雙賬本結(jié)構(gòu),提出了物聯(lián)網(wǎng)數(shù)據(jù)存儲(chǔ)與共享模型(Internet of things data storage and sharing model,IOTDS),優(yōu)化了物聯(lián)網(wǎng)數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu),使得監(jiān)測(cè)系統(tǒng)間的數(shù)據(jù)存儲(chǔ)與共享安全得到保證,模型整體架構(gòu)如圖1所示,該模型包含感知層、網(wǎng)絡(luò)層、數(shù)據(jù)層和用戶(hù)層:
圖1 整體架構(gòu)
(1)感知層:該層由多類(lèi)型底層物聯(lián)網(wǎng)感知設(shè)備組成,例如溫濕度傳感器、煙霧傳感器、電流互感器和傾角傳感器等。每個(gè)物聯(lián)網(wǎng)感知設(shè)備在初始化時(shí)會(huì)生成一個(gè)賬戶(hù),即一對(duì)公鑰/私鑰,第l類(lèi)物聯(lián)網(wǎng)感知設(shè)備的第j個(gè)設(shè)備生成的公私鑰定義為
(1)
(2)
(2)網(wǎng)絡(luò)層:該層由眾多區(qū)域化的邊緣服務(wù)器和基站組成。一方面,作為IOTA賬本全節(jié)點(diǎn)的邊緣服務(wù)器負(fù)責(zé)接收來(lái)自輕節(jié)點(diǎn)的底層物聯(lián)網(wǎng)感知設(shè)備的原始數(shù)據(jù)以進(jìn)一步將其連接到Tangle網(wǎng)絡(luò);另一方面,邊緣服務(wù)器解密數(shù)據(jù)后就對(duì)其進(jìn)行處理分析并定期生成總結(jié)報(bào)告,總結(jié)報(bào)告里會(huì)記錄一些輕度異常的數(shù)據(jù),說(shuō)明哪些地方可能會(huì)發(fā)生意外情況需要留意或者去核實(shí)一下,如遇到緊急情況就會(huì)立即生成緊急報(bào)告,然后將得到的分析報(bào)告與相關(guān)的數(shù)據(jù)摘要通過(guò)Internet發(fā)送至相鄰的其它邊緣服務(wù)器,以同步到BC鏈,解密過(guò)程定義為
(3)
(3)數(shù)據(jù)層:該層包括了IOTA賬本和區(qū)塊鏈賬本。IOTA賬本為原始數(shù)據(jù)存儲(chǔ)賬本,其Tangle網(wǎng)絡(luò)中包含著所有物聯(lián)網(wǎng)數(shù)據(jù)摘要組成的全部零值交易,由各個(gè)物聯(lián)網(wǎng)感知設(shè)備主動(dòng)生成并上傳。BC的區(qū)塊中包含著所有物聯(lián)網(wǎng)數(shù)據(jù)分析處理后生成的數(shù)據(jù)報(bào)告和相關(guān)的數(shù)據(jù)摘要。
(4)用戶(hù)層:具有設(shè)備管理權(quán)限,能夠獲取BC中的物聯(lián)網(wǎng)數(shù)據(jù)報(bào)告和數(shù)據(jù)摘要。系統(tǒng)管理員的公鑰PKM被硬編碼到邊緣服務(wù)器的軟件中,這意味著只有系統(tǒng)管理員有權(quán)發(fā)布設(shè)備的授權(quán)列表。系統(tǒng)管理員可以通過(guò)啟動(dòng)一個(gè)記錄已授權(quán)物聯(lián)網(wǎng)感知設(shè)備公鑰PK的交易來(lái)管理底層物聯(lián)網(wǎng)感知設(shè)備(add/delete)。這筆交易被定義為
(4)
如圖2所示,IOTDS數(shù)據(jù)流圖底層物聯(lián)網(wǎng)感知設(shè)備對(duì)目標(biāo)狀態(tài)進(jìn)行監(jiān)測(cè),并通過(guò)無(wú)線通信(NB-IOT/5G)向邊緣服務(wù)器發(fā)送相關(guān)加密監(jiān)測(cè)數(shù)據(jù),邊緣服務(wù)器接收物聯(lián)網(wǎng)感知設(shè)備的原始數(shù)據(jù)解密后對(duì)其進(jìn)行處理分析并定期生成總結(jié)報(bào)告,同時(shí)將原始數(shù)據(jù)進(jìn)一步連接到Tangle網(wǎng)絡(luò)。這些分析報(bào)告與相關(guān)的數(shù)據(jù)摘要將會(huì)通過(guò)Internet發(fā)送至相鄰的其它邊緣服務(wù)器,經(jīng)過(guò)一輪共識(shí)后同步到區(qū)塊鏈,系統(tǒng)管理員可隨時(shí)獲取區(qū)塊鏈中的物聯(lián)網(wǎng)數(shù)據(jù)報(bào)告和數(shù)據(jù)摘要。IOTA與BC通過(guò)原始數(shù)據(jù)哈希值錨定鏈接,在發(fā)生或者有可能發(fā)生突發(fā)情況的時(shí)候,管理員可以根據(jù)數(shù)據(jù)摘要快速定位到發(fā)生或有可能發(fā)生突發(fā)情況的具體位置,如果有查看原始數(shù)據(jù)的需要,則可以通過(guò)原始數(shù)據(jù)的Hasho索引到IOTA中的原始數(shù)據(jù)。為了應(yīng)對(duì)智慧城市大量的物聯(lián)網(wǎng)傳感器的數(shù)據(jù)安全存儲(chǔ)與訪問(wèn),減輕區(qū)塊鏈打包壓力,IOTDS模型底層采用基于DAG的IOTA分布式賬本,利用其零值交易、掩碼認(rèn)證傳輸、不可篡改性和更快的交易速度等優(yōu)點(diǎn),保證了物聯(lián)網(wǎng)數(shù)據(jù)存儲(chǔ)的吞吐量以及完整性和可溯性。IOTDS模型的上層由于沒(méi)有大容量數(shù)據(jù)存儲(chǔ)的要求,所以采用了區(qū)塊鏈賬本,BC鏈中節(jié)點(diǎn)通過(guò)智能合約對(duì)物聯(lián)網(wǎng)數(shù)據(jù)進(jìn)行分析,將分析后的報(bào)告以及物聯(lián)網(wǎng)數(shù)據(jù)摘要等信息存儲(chǔ)在區(qū)塊上,結(jié)果公開(kāi)可供系統(tǒng)管理員查看,使得物聯(lián)網(wǎng)數(shù)據(jù)不可篡改、可溯源、多方可驗(yàn)證和可信共享。
圖2 IOTDS數(shù)據(jù)流
海量、實(shí)時(shí)和高并發(fā)是物聯(lián)網(wǎng)數(shù)據(jù)的特點(diǎn),傳統(tǒng)的PoW、PoS等共識(shí)算法能夠滿(mǎn)足現(xiàn)有公有鏈的需求,但其吞吐量太低,遠(yuǎn)不能滿(mǎn)足實(shí)際物聯(lián)網(wǎng)應(yīng)用的需求。作為當(dāng)前主流共識(shí)算法之一的DPoS共識(shí)算法,摒棄了傳統(tǒng)區(qū)塊鏈通過(guò)挖礦生產(chǎn)區(qū)塊的方式,采用選舉部分特殊節(jié)點(diǎn)代理網(wǎng)絡(luò)中其余節(jié)點(diǎn)的方式,降低了對(duì)帶寬的需求,將出塊時(shí)間從10分鐘減至數(shù)秒,實(shí)現(xiàn)區(qū)塊生成效率的成倍增加,使得交易確認(rèn)速度加快。但傳統(tǒng)DPoS算法在共識(shí)過(guò)程中容易出現(xiàn)以下風(fēng)險(xiǎn):一是由于競(jìng)選記賬節(jié)點(diǎn)會(huì)消耗大量時(shí)間和算力,從而使得部分普通節(jié)點(diǎn)不愿積極參與到投票的過(guò)程;二是由于網(wǎng)絡(luò)中的任何一個(gè)持幣節(jié)點(diǎn)都能參加記賬節(jié)點(diǎn)的選舉和投票流程,并且每個(gè)節(jié)點(diǎn)選票的權(quán)重都與自己的持幣量成正相關(guān),所以可能會(huì)存在惡意節(jié)點(diǎn)賄賂權(quán)重較大的節(jié)點(diǎn)給自己投票的潛在安全隱患。而且一旦惡意節(jié)點(diǎn)當(dāng)選記賬節(jié)點(diǎn),為了自己的利益而沒(méi)有能力去生產(chǎn)新的區(qū)塊,則可能會(huì)造成整個(gè)區(qū)塊鏈系統(tǒng)的生產(chǎn)力降低,從而損害其它節(jié)點(diǎn)的權(quán)益。本文提出了一種基于聲譽(yù)的DPoS共識(shí)算法,加入了聲譽(yù)積分機(jī)制和新的獎(jiǎng)勵(lì)機(jī)制選舉記賬節(jié)點(diǎn),能夠有效解決點(diǎn)投票不積極和惡意節(jié)點(diǎn)賄賂,提高系統(tǒng)共享數(shù)據(jù)的安全性。
IOTDS采用分布式的網(wǎng)絡(luò)結(jié)構(gòu),各節(jié)點(diǎn)之間采用P2P的連接方式,避免了單一節(jié)點(diǎn)的故障引起整個(gè)網(wǎng)絡(luò)的癱瘓或者數(shù)據(jù)安全問(wèn)題。
節(jié)點(diǎn)按功能分為4類(lèi):見(jiàn)證人節(jié)點(diǎn)、候選人節(jié)點(diǎn)、普通節(jié)點(diǎn)和惡意節(jié)點(diǎn)。
(1)見(jiàn)證人節(jié)點(diǎn):區(qū)塊鏈的記賬節(jié)點(diǎn),負(fù)責(zé)區(qū)塊的驗(yàn)證及其打包,由每輪投票的普通節(jié)點(diǎn)中的總得票數(shù)的前10%擔(dān)任,進(jìn)入打包隊(duì)列,見(jiàn)證人節(jié)點(diǎn)每輪結(jié)束都要變更,確保那些不穩(wěn)定或者做壞事的節(jié)點(diǎn)及時(shí)地被剔除。
(2)候選人節(jié)點(diǎn):由普通節(jié)點(diǎn)選出來(lái)的備選記賬節(jié)點(diǎn),按總得票數(shù)從高到低進(jìn)入候選隊(duì)列,見(jiàn)證人節(jié)點(diǎn)負(fù)責(zé)打包區(qū)塊,而候選人節(jié)點(diǎn)負(fù)責(zé)對(duì)見(jiàn)證人節(jié)點(diǎn)生成的區(qū)塊進(jìn)行驗(yàn)證及替換不合格的見(jiàn)證人節(jié)點(diǎn)。候選人節(jié)點(diǎn)的總得票數(shù)從高到低為10%~15%。
(3)普通節(jié)點(diǎn):系統(tǒng)中占比最大的節(jié)點(diǎn),它們具有選舉權(quán)和被選舉權(quán)。它們的總得票數(shù)位于從高到低為15%~90%。
(4)惡意節(jié)點(diǎn):指那些未正常參與交易或者打包區(qū)塊的節(jié)點(diǎn),包括定義交易格式或內(nèi)容不合格,執(zhí)行交易失敗,未按規(guī)定出塊,短期內(nèi)大量請(qǐng)求智能合約等行為。它們的總得票數(shù)位于最后的10%。
在本文提出的共識(shí)算法中,采用了聲譽(yù)積分(reputation credit,RC)的概念,聲譽(yù)積分模型是一種平衡共識(shí)效率和安全性的解決方案,它根據(jù)節(jié)點(diǎn)的聲譽(yù)積分來(lái)評(píng)價(jià)節(jié)點(diǎn)的好壞。聲譽(yù)積分越高則代表它在之前的交易或者打包過(guò)程中表現(xiàn)越好,該節(jié)點(diǎn)值得信任,聲譽(yù)積分低則代表該節(jié)點(diǎn)有可能為惡意節(jié)點(diǎn)。本文提出了節(jié)點(diǎn)聲譽(yù)積分計(jì)算公式
(5)
(6)
式中:Tranp為該節(jié)點(diǎn)參與合法上鏈交易的數(shù)量;Packp為該節(jié)點(diǎn)作為見(jiàn)證人節(jié)點(diǎn)按時(shí)打包區(qū)塊并上鏈的次數(shù);SuccVp為該節(jié)點(diǎn)作為普通節(jié)點(diǎn)投票給成功按時(shí)出塊且上鏈的見(jiàn)證人節(jié)點(diǎn)的次數(shù);Voteb為該節(jié)點(diǎn)成功投票給惡意節(jié)點(diǎn)的次數(shù);ξ1、ξ2、ξ3和ξ4為權(quán)重系數(shù),可以根據(jù)需求自由調(diào)整。如果節(jié)點(diǎn)表現(xiàn)出正常的行為,那么它的聲譽(yù)積分將會(huì)增加。
(7)
式中:Badnoden為該節(jié)點(diǎn)作為惡意節(jié)點(diǎn)的次數(shù);Packn為該節(jié)點(diǎn)作為見(jiàn)證人節(jié)點(diǎn)未按時(shí)打包區(qū)塊并上鏈的次數(shù);FailVn為該節(jié)點(diǎn)作為普通節(jié)點(diǎn)投票給未按時(shí)成功出塊且上鏈的見(jiàn)證人節(jié)點(diǎn)的次數(shù);δ1、δ2和δ3為權(quán)重系數(shù),可以根據(jù)需求自由調(diào)整。當(dāng)節(jié)點(diǎn)表現(xiàn)出異常行為時(shí)會(huì)扣除一定的聲譽(yù)積分,特別地在作為見(jiàn)證人節(jié)點(diǎn)時(shí)發(fā)生故障時(shí)不僅會(huì)扣除聲譽(yù)積分還會(huì)踢出打包隊(duì)列,由下一位候選人節(jié)點(diǎn)頂替。
聲譽(yù)積分在增長(zhǎng)到一定程度后,需要輕微重置以平衡和其它節(jié)點(diǎn)的關(guān)系。設(shè)α為閾值,β為RC最大值,一旦節(jié)點(diǎn)自身RC達(dá)到最大值,它的RC將會(huì)被重置為閾值α,這將有利于系統(tǒng)的良性循環(huán),保證了其它節(jié)點(diǎn)的選舉積極性。RC值不足0,則記為0。
在傳統(tǒng)的DPoS共識(shí)機(jī)制中,見(jiàn)證人節(jié)點(diǎn)來(lái)自于普通節(jié)點(diǎn),見(jiàn)證人節(jié)點(diǎn)的選舉是通過(guò)計(jì)算該節(jié)點(diǎn)的得票數(shù)來(lái)確定的。本文對(duì)傳統(tǒng)的DPoS共識(shí)機(jī)制進(jìn)行了改良,每個(gè)節(jié)點(diǎn)都有基于打包隊(duì)列節(jié)點(diǎn)數(shù)量的贊成票、反對(duì)票和棄權(quán)票,它們可以向值得信賴(lài)的節(jié)點(diǎn)投贊成票(positive vote,PV),向不信任的節(jié)點(diǎn)投反對(duì)票(negative vote,NV),向不確定的節(jié)點(diǎn)投棄權(quán)票(abstention vote,AV)以避免惡意節(jié)點(diǎn)進(jìn)入打包隊(duì)列。
節(jié)點(diǎn)總得票數(shù)(total votes,TV)
(8)
取Tv值最高的前10%進(jìn)入打包隊(duì)列,成為見(jiàn)證人節(jié)點(diǎn),對(duì)區(qū)塊進(jìn)行打包;取Tv值前10%~15%為候選節(jié)點(diǎn),僅參與驗(yàn)證區(qū)塊和替換不合格的見(jiàn)證人節(jié)點(diǎn)。Tv值低于-50,將Tv值計(jì)為-50。
在傳統(tǒng)的DPoS共識(shí)機(jī)制中會(huì)對(duì)那些正確打包區(qū)塊并上鏈的見(jiàn)證人節(jié)點(diǎn)和成功投票給這些見(jiàn)證人節(jié)點(diǎn)的其它節(jié)點(diǎn)給予一些獎(jiǎng)勵(lì)reward(Re)。這些獎(jiǎng)勵(lì)能夠提高整個(gè)網(wǎng)絡(luò)中的節(jié)點(diǎn)的投票積極性。成功打包區(qū)塊的見(jiàn)證人節(jié)點(diǎn)則會(huì)獲得和它們聲譽(yù)值高低相關(guān)的獎(jiǎng)勵(lì)。
節(jié)點(diǎn)獲得獎(jiǎng)勵(lì)Re為
(9)
節(jié)點(diǎn)成功投票和當(dāng)選見(jiàn)證人節(jié)點(diǎn)能夠成功打包區(qū)塊并上鏈的獎(jiǎng)勵(lì)機(jī)制與聲譽(yù)積分的獎(jiǎng)懲機(jī)制理論上能夠有效提高節(jié)點(diǎn)的投票積極性以及遏制惡意節(jié)點(diǎn)賄賂。
本文對(duì)提出的基于聲譽(yù)的DPoS共識(shí)算法進(jìn)行了仿真實(shí)驗(yàn),實(shí)驗(yàn)?zāi)M了100個(gè)節(jié)點(diǎn)進(jìn)行200輪的投票,并從不同的實(shí)驗(yàn)指標(biāo)對(duì)其結(jié)果進(jìn)行重點(diǎn)分析。系統(tǒng)設(shè)定網(wǎng)絡(luò)中存在惡意節(jié)點(diǎn)的占比為10%,α=160,β=200,μ=80。
本文實(shí)驗(yàn)環(huán)境及配置見(jiàn)表1。
表1 實(shí)驗(yàn)環(huán)境及配置
圖3 節(jié)點(diǎn)的Tv值變化趨勢(shì)
本文通過(guò)進(jìn)行200輪的投票實(shí)驗(yàn),比較了不同類(lèi)型的節(jié)點(diǎn)的總得票數(shù)Tv的變化趨勢(shì),如圖4所示。
通過(guò)多輪投票的對(duì)比分析,見(jiàn)證人節(jié)點(diǎn)和候選人節(jié)點(diǎn)的總得票數(shù)從一開(kāi)始就有著顯著的領(lǐng)先優(yōu)勢(shì)并長(zhǎng)期保持,這表明它們自身?yè)碛兄€(wěn)定的表現(xiàn),因此其它的節(jié)點(diǎn)更愿意投贊成票給它們以期望能獲得更多的獎(jiǎng)勵(lì)和聲譽(yù)積分;普通節(jié)點(diǎn)由于正常參與交易并且正確投票給表現(xiàn)較好的節(jié)點(diǎn),所以它們的總得票數(shù)會(huì)出現(xiàn)平緩上升的趨勢(shì);而惡意節(jié)點(diǎn)一開(kāi)始總得票數(shù)與普通節(jié)點(diǎn)差不多,但是后續(xù)因?yàn)樽陨肀憩F(xiàn)不穩(wěn)定,未正常參與交易或者打包區(qū)塊等原因,其它節(jié)點(diǎn)會(huì)傾向于投反對(duì)票給它們以期望得到更多的獎(jiǎng)勵(lì),這樣就會(huì)導(dǎo)致惡意節(jié)點(diǎn)的總得票數(shù)急劇下跌至最低值附近。通過(guò)這樣一種獎(jiǎng)懲措施,能夠讓那些表現(xiàn)穩(wěn)定且聲譽(yù)積分高的節(jié)點(diǎn)總得票數(shù)不斷增加,繼而當(dāng)選后續(xù)的見(jiàn)證人節(jié)點(diǎn);而那些未正常參與交易或者打包區(qū)塊的節(jié)點(diǎn)會(huì)因?yàn)榈玫竭^(guò)多的反對(duì)票進(jìn)而導(dǎo)致總得票數(shù)不斷下跌,特別地在作為見(jiàn)證人節(jié)點(diǎn)發(fā)生故障時(shí)不僅會(huì)扣除聲譽(yù)積分還會(huì)踢出打包隊(duì)列,由下一位候選人節(jié)點(diǎn)頂替,這樣即使那些惡意節(jié)點(diǎn)通過(guò)賄賂權(quán)重較大的節(jié)點(diǎn)給自己投票從而進(jìn)入打包隊(duì)列,也能夠被及時(shí)的剔除,有效地遏制了惡意節(jié)點(diǎn)賄賂,提高了系統(tǒng)的安全性。
本文比較了不同類(lèi)型節(jié)點(diǎn)在100次交易中的RC值變化趨勢(shì)。從結(jié)果來(lái)看,各類(lèi)型節(jié)點(diǎn)的RC值趨勢(shì)符合預(yù)期。其中,見(jiàn)證人節(jié)點(diǎn)由于表現(xiàn)良好,參與的幾乎都是成功的交易,它的RC值會(huì)持續(xù)穩(wěn)定升高,在達(dá)到實(shí)驗(yàn)所設(shè)置的最大值200后,會(huì)重置為閾值160,然后繼續(xù)重復(fù)增長(zhǎng),如圖5(a)所示;候選人節(jié)點(diǎn)參與的失敗交易會(huì)比見(jiàn)證人節(jié)點(diǎn)稍多點(diǎn),整體趨勢(shì)上漲較快,如圖5(b)所示;普通節(jié)點(diǎn)由于參與的多是成功的交易,它們的RC值總體趨勢(shì)也是緩慢增長(zhǎng),如圖5(c)所示;而惡意節(jié)點(diǎn)由于參與的多是失敗的交易,它的RC值則會(huì)不斷下跌,如圖5(d)所示。
圖5 不同類(lèi)型的節(jié)點(diǎn)RC值變化趨勢(shì)
本文從共識(shí)機(jī)制、存儲(chǔ)與安全性和效率等方面將IOTDS與其它相關(guān)模型進(jìn)行對(duì)比,見(jiàn)表2。IOTA賬本+區(qū)塊鏈賬本的雙賬本架構(gòu)相對(duì)于其它解決方案能夠減輕存儲(chǔ)資源壓力,相較于傳統(tǒng)數(shù)據(jù)庫(kù)方案則更加安全,結(jié)合提出的改進(jìn)的DPoS共識(shí)機(jī)制能提高系統(tǒng)的工作效率,更好地實(shí)現(xiàn)物聯(lián)網(wǎng)數(shù)據(jù)的安全存儲(chǔ)與共享。
表2 IOTDS與其它解決方案對(duì)比
隨著區(qū)塊鏈技術(shù)的不斷發(fā)展,區(qū)塊鏈與智慧城市的結(jié)合將會(huì)越來(lái)越多。物聯(lián)網(wǎng)數(shù)據(jù)的隱私安全與數(shù)據(jù)共享等問(wèn)題已經(jīng)得到越來(lái)越多的關(guān)注。本文提出了一種基于雙賬本的物聯(lián)網(wǎng)數(shù)據(jù)存儲(chǔ)與共享模型,將IOTA賬本與區(qū)塊鏈賬本的進(jìn)行結(jié)合,利用新型分布式賬本技術(shù)IOTA Tangle網(wǎng)絡(luò)分布式存儲(chǔ)大量底層的感知數(shù)據(jù),利用區(qū)塊鏈賬本技術(shù)存儲(chǔ)預(yù)處理后的物聯(lián)網(wǎng)數(shù)據(jù)報(bào)告和數(shù)據(jù)摘要,結(jié)合改進(jìn)的DPoS共識(shí)算法,有效解決節(jié)點(diǎn)投票不積極和惡意賄賂問(wèn)題,提高了系統(tǒng)共享數(shù)據(jù)的安全性。在下一步的工作中,我們將針對(duì)物聯(lián)網(wǎng)數(shù)據(jù)的細(xì)粒度訪問(wèn)控制和檢索方法進(jìn)行進(jìn)一步研究。