物聯網與區塊鏈結合仿真實驗與結果分析

來源: www.cdduwq.com.cn 作者:gufeng 發布時間:2019-10-04 論文字數:4214字
論文編號: sb2019100423155528083 論文語言:中文 論文類型:碩士畢業論文
本文是一篇物聯網技術專業碩士畢業論文,本章對物聯網與區塊鏈結合仿真實驗與結果進行了分析。

本篇文章目錄導航
題目:物聯網與區塊鏈結合環境下對數據確認時間的研究
第一章 物聯網與區塊鏈結合的研究緒論
第二章 物聯網與區塊鏈結合的國內外研究現狀
第三章 物聯網技術區塊鏈中數據確認時間
第四章 物聯網技術區塊鏈確認時間模型的建立
第五章 物聯網與區塊鏈結合仿真實驗與結果分析
第六章 物聯網與區塊鏈結合總結與展望及致謝、參考文獻

第五章 仿真實驗與結果分析


5.1 仿真實驗
本章旨在分析區塊鏈網絡中存在攻擊節點的情況下,等待不同的確認時間對于抵御攻擊節點效果的影響。換個角度講,即是區塊鏈網絡存在一定攻擊節點q以及應用對數據不可用的容忍程度r存在一定要求的情況下,理論上該應用至少應等待的確認時間。由于本文所規定的物聯網應用是使用實際的以太坊來傳輸物聯網數據的,數據進入到以太坊網絡中會作為區塊中的交易存在。但本文的實驗對象是包含物聯網數據的區塊,因此不需要帶入該物聯網數據本身的特性,只要數據所在的區塊被挖出后就可以直接計算該數據的確認時間,因而無須對物聯網數據的發送頻率以及數據大小等參數進行設置。實驗分為兩部分,第一部分是通過Matlab工具對以太坊區塊傳播模型進行仿真,首先得到區塊在誠實者主鏈上的概率 隨時間的變化關系,與公式(4-1)結合得到至少應滿足的確認區塊數n1與q,r的關系;第二部分是將利用泊松過程得到區塊的平均確認區塊數n2隨時間變化的關系與第一部分結合,提取使n2大于n1的時間段,最終得到確認時間的最小值。


5.1.1 預估實驗結果
由于所研究區塊被挖出后的一段時間內空白節點占比較高,網絡中極易出現分叉,當區塊鏈出現分叉后,由于分叉區塊間會產生競爭,因此某區塊被其余分叉區塊替代的可能性是很大的。但隨著時間的推移,經過一段時間區塊會傳播至大部分節點,若在該時間內沒有出現分叉區塊,這段時間內分叉區塊出現的概率應呈遞減趨勢。若區塊始終沒有產生分叉,則隨著分叉概率的下降,區塊在誠實者主鏈上的概率 也應呈現遞增趨勢。與 的遞增對應,由于網絡中存在攻擊節點,且攻擊節點始終在其所創造的攻擊鏈條上挖礦,因此,攻擊節點所創造的分叉鏈條區塊數必然會隨著時間的推移而增加,保證數據安全至少需要的確認區塊數也應為遞增趨勢。對于最少確認區塊,當攻擊節點增多時,預計數據不可用的概率隨時間的增長呈遞增趨勢;當數據不可用概率升高時,預期可抵御的攻擊節點算力隨時間遞增。最短的確認時間也應隨著攻擊算力的增多以及數據不可用概率的增加而遞增。


5.1.2 實驗環境及參數確定
根據第4.2節傳播模型的建立可知模型中需要三個仿真參數分別為網絡中總節點數N、區塊傳播周期T以及對等節點數n,本文從實際的以太坊公鏈上獲取。(一)網絡中總節點數N的確定Etherscan[33]是一個針對以太坊的區塊瀏覽器和數據分析平臺。本文從Etherscan站點所發布的數據提取并統計2018/12/23至2019/1/22一個月內的每日以太坊在線節點數,并取其平均值8142作為網絡中總節點數的取值。

(二)區塊傳播周期T的確定EthStats[34]是一個用于跟蹤以太坊網絡狀態的可視化平臺,它使用WebSockets技術從正在運行中的節點中接收統計信息并通過不同的方法來輸出數據,使用者可以通過該網站直觀地了解以太坊節點的運行情況。其中包括區塊傳播時延和節點的對等節點數量。本文提取EthStats中各節點接收區塊的平均時延,并使用多種概率分布函數擬合,發現使用對數正態分布擬合的誤差平方和最小,區塊傳播時延T的擬合圖像如圖5.2所示:
最終得到區塊傳播時延的概率分布函數如公式(5-1)所示: n  nn  (5-1)本文以該對數正態分布作為仿真參數在實驗中的每個周期依概率提取區塊傳播時延。(三)對等節點數n的確定提取EthStats.net中各測試節點發現的對等節點數,經過對對等節點數據擬合的實驗,對等節點的數量并不滿足任意一種概率分布。本文將提取的數據轉化為數組,在實驗中的每個周期內數組中的元素等概率被選區為節點的對等節點數。


5.2 仿真實驗及結果分析
第一部分實驗是對最少確認區塊數量進行仿真,但通過本文在 3.1 小節的分析,需先得到區塊在主鏈區塊上的概率 ,之后帶入公式(4-1)進行分析。本文使用 Matlab 仿真工具對以太坊的傳播模型進行 500 次仿真實驗,統計區塊各時刻在主鏈上的概率,結果如圖 5.3 所示:
圖5.3表示區塊在主鏈上的概率與時間的關系。圖中橫軸為所研究的區塊在被挖出后經過的時間,縱軸表示區塊在誠實者主鏈上的概率。圖線總體呈先驟增再趨于平緩的趨勢,并且隨著時間地推移概率逐漸趨于1。圖線的拐點為第5秒左右。通過圖線和數據可以得到:區塊在被挖出之后的5秒內,區塊在主鏈的概率遞增且具有很高的速率。由得出的數據可知在5秒時概率增加至95.07%,之后概率仍然遞增但增長速率逐漸趨于0,概率也逐漸趨于1。由于區塊在被挖出后的一段時間內只被少部分節點接收,尚未被網絡中大部分區塊鏈節點所認可,因而其在主鏈上的概率較低。此外該區塊在向全網廣播的過程中還面臨著其他等高度分叉區塊對于主鏈的競爭,當分叉區塊出現后,所研究的區塊需要等待自身確認區塊的出現來超越分叉區塊的確認區塊數并成為主鏈區塊。本實驗給出了在沒有攻擊節點的情況下,區塊等待一段時間后在主鏈上的概率。換句話說,區塊被挖出后經過5秒,區塊在誠實者主鏈上的概率至少為95.07%。通過圖像和數據還可以得知:除 之外的其他分叉區塊上的數據在 5 秒后在主鏈上的概率始終低于 4.93%。因此,若應用數據保存在其他分叉區塊中,那么隨著時間的增加,區塊中的數據幾乎是不可用的。本文為實驗第一部分設計了兩組實驗來分析應滿足的確認區塊數在不同的 q 和 r 下的變化趨勢以及得出具體數值,詳細說明如下:第一組實驗測試了應用可以容忍的數據不可用概率 r 分別取值為 10%、5%和 1%下最少確認區塊數 n1與時間和攻擊節點算力占比 q 的關系。由于當攻擊節點占比大于 50%等同于占全網 33%以上,網絡已經滿足不了拜占庭容錯[35],即區塊鏈節點判斷不了接收到區塊的正確性,導致整個網絡無法運作。因此本文將 q 的研究范圍規定為 0~45%。由于物聯網中在滿足高效的數據傳輸的同時更要保證數據的安全性,因此區塊中數據不可用的概率不宜過高,本文將 r 的研究范圍規定為 0%~10%。本實驗的目的是為對于安全性與時延具有不同要求的物聯網應用分別給出其至少應滿足的確認區塊數。第二組實驗測試在不同的攻擊節點與誠實節點算力之比 q 分別取值為 15%,30%和 45%時應用至少要滿足的確認區塊數 n1與時間和數據不可用的概率 r 的關系。q 取 15%、30%、45%相當于攻擊節點占全網的 31.03%、23%和 13%。實驗的目的是探究在網絡環境不安全的情況下,應用等待不同的確認區塊數時數據不可用概率的表現情況。第一組實驗結果如圖 5.4 至圖 5.6 所示:
圖5.4至圖5.6表示給定不同的數據不可用概率下,時間與最少確認區塊數的關系,其中橫軸表示區塊被挖出后經過的時間,縱軸表示最少確認區塊數。圖線左端的下降趨勢是由于在區塊在被挖出后的一段時間內,分叉區塊產生的概率較高,區塊間競爭主鏈區塊的程度也更激烈,此時需要區塊在短時間內產生更多的確認區塊來保證不被分叉鏈條超越。而隨著時間增長,其他分叉區塊的確認區塊數也逐漸增加,需要更多的確認區塊來維持更大的區塊樹重量。此外,通過不同攻擊節點算力的對比可以看出:不同圖線增加區塊的間隔時間不同,是由于攻擊節點占比越高,在短時間內分叉區塊的確認區塊增加得越快,因此需要更快速地增加區塊。從0時刻起有一段時間的區塊數表現為無窮大,其意義是在該時間段里確認數據后數據必然會使得區塊中的數據在一段時間后失效。當r=1%時,至少等待56.2秒才能開始確認區塊,在此時間內確認區塊都是不安全的;當r=5%時,至少需等待20秒;而當容忍度為10%時,等待時長至少為7.75秒。當r固定時,對比不同圖線可以發現,增加一個確認區塊所需要的時間間隔不同,是由于攻擊節點占比越高,在短時間內分叉區塊的后續區塊增加得越快,所以需要更快速地增加區塊。此外,隨著q的遞增,圖線的斜率也依次遞增,意味著若攻擊者算力增多,誠實者需要更快地增加確認區塊數。第二組實驗結果如圖 5.7 至 5.9 所示:
圖5.7至圖5.9表示給定不同的數據不可用概率下,確認時間與應滿足的確認區塊數的關系,其中橫軸表示區塊被挖出后經過的時間,縱軸表示至少應滿足的確認區塊數。由于區塊數為整數,因此圖像呈階梯狀。由圖像可知:當q分別為15%、30%和45%時,經過一段時間后才可開始確認區塊,而這段時間大致相同,符合實驗前的預期。此外,通過對圖線斜率的分析,q=15%、30%、45%時分別增加2個、3個、4個確認區塊數,就可將數據不可用概率從10%降低至1%。第二部分實驗是將實驗第一部分與第 4.3 節對實際的確認區塊數結合并使用 Matlab 實驗得到最短確認時間,實驗測試不同的攻擊節點算力占比 q 下最短確認時間滿足的變化趨勢以及不同應用可容忍的數據不可用概率 r 下最短確認時間滿足的變化趨勢。實驗的目的在于得到不同的攻擊者算力以及數據不可用概率下能夠滿足安全條件理論上的確認時間。如圖 5.10、圖 5.11 所示:
圖5.10表示不同的攻擊節點算力對應的最短確認時間,其中橫軸表示攻擊節點與誠實節點算力比值q,縱軸表示最短確認時間。可以發現,隨著攻擊節點算力的升高,應用需要等待的確認時間也隨之升高,且增長率逐漸遞增。在區塊鏈網絡中攻擊節點算力比例小于5%時,數據不可用的概率為r=5%和1%時的最短確認時間幾乎都為31.6秒,這是由于以太坊中區塊鏈的自主分叉同樣會導致當前的主鏈區塊被其它區塊替換。當可容忍的數據不可用概率降低時,確認時間變化率增加。對于5%至45%之間的任意q,通過r=1%和r=10%的對比,可知確認時間提高約2.8倍后,能夠容忍的數據不可用概率至少提高至原來的10倍。通過r=1%和r=5%的對比,可知等待時間提高約1.37倍后,能夠容忍的數據不可用概率至少提高至原來的5倍。因此,在攻擊節點算力增多的情況下,若原先數據不可用概率在10%以內,只要攻擊節點算力比例不超過45%,應用將確認時間設置為之前的2.8倍以上足以將數據不可用的概率維持在1%之內。
圖5.11表示不同的數據不可用概率對應的最短確認時間,其中橫軸表示數據不可用的概率r,縱軸表示最短確認時間。通過觀察不同圖線得知:攻擊節點占比為15%和30%時,最短確認時間在r=40%處同時收斂于15.8秒,可能是由于在攻擊節點比例小于30%時攻擊節點對數據不可用的概率幾乎不產生影響。而在攻擊節點占比為45%時,最短確認時間收斂于31.6秒。此外,分析圖5.11各圖線的最大值可以得知:當攻擊節點與誠實節點算力之比分別為15%、30%、45%時,應用分別將確認時間設置為47.4秒、79.05秒以及173.95秒可以使得區塊中數據不可用概率維持在5%以內。對于數值在5%至50%之間的任意r,該數據意味著當數據確認時間提高至之前的1.67倍時至少能抵御相當于之前兩倍的攻擊算力,當數據確認時間提高至之前的3.67倍時至少能抵御相當于之前三倍的攻擊算力。


5.3 本章小結
本章對差分形式的阻滯模型進行了實驗仿真,最終得到了時間與區塊在主鏈上的概率的對應關系。在此基礎上,進一步得到了不同的攻擊者算力以及不同的數據不可用概率下應滿足的最少確認區塊數隨時間的變化,并根據所得到的數據進行了分析。最終得到了不同攻擊者算力以及不同的數據不可用概率下的最短確認時間。


原文地址:http://www.cdduwq.com.cn/fanwen/wulianwangjishu/28083.html,如有轉載請標明出處,謝謝。

您可能在尋找物聯網技術方面的范文,您可以移步到物聯網技術頻道(http://www.cdduwq.com.cn/fanwen/wulianwangjishu/)查找


福彩3d字谜画谜