物聯網技術區塊鏈確認時間模型的建立

來源: www.cdduwq.com.cn 作者:gufeng 發布時間:2019-10-04 論文字數:3878字
論文編號: sb2019100423134128082 論文語言:中文 論文類型:碩士畢業論文
本文為一篇物聯網技術碩士畢業論文,本章介紹了物聯網技術區塊鏈確認時間模型的建立方法。

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

第四章 區塊鏈確認時間模型的建立


4.1 區塊的最少確認區塊數
根據3.2節的分析,求解數據最短確認時間需要先得到包含該數據區塊的最少確認區塊數。文獻[29]分析了GHOST協議下確認區塊數個影響因素間的關系,給出了應用可以容忍的數據不可用概率r,區塊鏈網絡中攻擊節點與誠實節點的比值q以及區塊 在誠實者主鏈上的概率 與最少確認區塊數n1的關系,如公式(4-1)所示:
其中,t表示從區塊被挖出時到當前位置所經過的時間,λ為以太坊中誠實節點挖出區塊的平均速率。此外,式中的 表示攻擊節點在t時間內挖出k個區塊的概率, 的表達式如公式(4-2)所示:大括號中不等號左端的第一項表示區塊在誠實者主鏈上但仍被攻擊鏈條超越的概率,該項與區塊在誠實者主鏈上的概率之和即代表區塊 暫時不可用的概率。雖然上式對GHOST協議下的確認區塊數進行了理論上的分析,但仍不能直接將該式作為確認區塊的標準直接使用。雖然變量q和r可以根據實際的網絡環境和應用需求賦予數值,但卻始終是一個關于時間t的變量,受區塊的轉發機制影響且對于不同平臺有著不同的表現形式。文獻[29]在理論分析中將其作為一個概念來看待,并未針對某一平臺深入地對其進行分析。本文對以太坊環境下的 進行了分析并最終得出該變量與t的關系,而 與區塊的傳播緊密相關。因此對以太坊區塊的傳播建立模型來分析 與t的關系,從而得到t與n1的關系。文獻[32]根據以太坊客戶端 Geth 分析了以太坊轉發和接收區塊的具體方式和流程。區塊在以太坊網絡中的傳播流程如圖 4.1 所示:


圖 4.1 中節點集合 A 表示所有已緩存區塊的節點集合,節點集合 B 表示 A 的隨機 n個對等節點(n 為對等節點的總數),節點集合 C 表示除集合 B 中的節點外的其余 個節點,節點集合 D 表示集合 C 中節點的對等節點。首先,A 中節點向它的所有對等節點發送一個區塊的哈希來廣播一個新的區塊,并將區塊發送給集合 B 中的節點,之后 A 中節點不再轉發該區塊。當集合 C 中的節點接收到區塊哈希后,除非 C 同時從另一個對等節點接收到該區塊,否則它將在 0.5 秒后向自身的對等節點集合 D 中的隨機一個節點請求該塊。然后清除該塊的所有廣播消息。此外,如果 C 中的節點請求過該區塊,則該節點不會再次請求該區塊。節點請求區塊的流程圖如圖 4.2 所示:
以太坊區塊請求消息的時延與區塊哈希值傳播時延相對于區塊傳播時延和區塊驗證時延數值很小,本文將其忽略。因此,可認為以太坊區塊呈周期性廣播,周期為區塊傳播時延加上區塊驗證時延。通過對各傳播模型的對比發現,差分形式的阻滯模型相較于其他模型更適用于研究周期性的問題,且差分形式的阻滯模型中節點在接收到信息后不會丟棄,而區塊鏈中區塊不會被已接受區塊的節點所丟棄。因此,使用差分形式的阻滯模型分析區塊的周期性傳播更為適合。由于本文不僅僅分析單個集群的增長過程,還需考慮所有每個周期其他集群由于數量增長對該集群的阻滯作用,因此需按照周期逐步分析,不考慮無窮個周期過后集群數量的穩定值。但模型需考慮多個集群在每個周期相互之間的影響,及討論單個周期內多集群間的的相互影響。


4.2 以太坊區塊傳播模型
差分形式的阻滯模型是以差分形式描述集合受到環境約束的“阻滯增長”的規律,這種約束隨著對象本身數量的增加而增加。人口或其他生物在有限環境資源下的增長、傳染病在封閉地區的傳播、信息在有限范圍內的廣播等現象都可以合理、簡化地使用該模型來描述。它是logistic增長模型的離散形式,logistic增長模型如公式(4-3)所示:其中,x為研究集群的數量,r是單個研究集群的固有增長頻率,N是環境資源允許的最大集群數量。等式左端為研究對象的增長率,若沒有阻滯作用,則增長率表現為 t,指所有集群無限制地增長r倍。而阻滯作用在 t的基礎上增加了一個比例t。離散化后,差分形式的阻滯模型如公式(4-4)所示:其中, 表示第k個周期過后種群的數量,r是種群固有增長率,N是環境資源允許的最大種群數量。在本文所構建的差分形式的阻滯模型中, 表示接收到區塊的節點數量;r表示單個節點對區塊的轉發頻率。等式左邊表示第k個周期接收到區塊的節點增量,等式右邊的(1- /N)表示第k個周期空白節點占所有節點的比例。由于第k個周期已接收到區塊的節點會向各自的對等節點發送區塊,但由于在此周期內,對等節點可能在之前的某個時刻已經緩存了該區塊,相當于區塊在這一周期僅能夠向尚未緩存該區塊的對等節點擴散。因此y的增量需要與一個比例相乘,即k時刻暫未接收到區塊的節點占全網節點的比例1- /N,該項與r倍的 之積體現出了區塊在網絡中傳播受到的阻滯作用。由于以太坊節點直接將接收到的區塊轉發給它的對等節點,因此r可描述為節點的對等節點個數;N為以太坊網絡中總的節點數。本文通過對模型中公式的各乘項進行設置,最終構建四種差分形式的阻滯增長模型,分別用來分析區塊在網絡中的傳播、區塊哈希值的傳播、不同分叉區塊在網絡中對于節點的影響以及不同分叉區塊的哈希值對于節點的影響。為了便于研究,本文設置如圖4.3所示的區塊鏈結構:
設本文所研究的高度為h,且高度h-1上的區塊在主鏈上。區塊 為高度h上第i個出現的區塊,本文以該高度首個區塊 為研究對象。該高度上的區塊集合為Vh,節點根據集合Vh區塊的確認區塊數不同來決定高度h上的主鏈區塊。此外,規定重量值m,該值表示集合Vh中某區塊的第m個確認區塊,區塊 所對應的m值的大小代表該區塊被挖出時 的確認區塊數量。根據4.1節以太坊區塊傳播流程的介紹,區塊的傳播有節點的主動轉發和僅收到哈希值節點的主動請求兩種方式。分析分叉概率的關鍵是得到空白節點的數量,而分析區塊重量增加的概率時的關鍵是得到以不同區塊為主鏈的節點數量y。以下分析第k+1個周期結束后,以區塊為主鏈的節點占比和產生分叉的概率以及各分叉區塊的確認區塊產生的概率。情形一為高度h暫時無分叉區塊產生的情形,本文為情形一設置符號來構建模型,如表4.1所示:
(1)集合B的增量新區塊 產生后傳播至其他節點使得 增加, 中的節點以 為主鏈區塊。由于第k+1周期的節點增量 是由第k個周期的節點增量 在第k個周期內的轉發產生的,且本周期轉發后不再進行轉發。如圖4.4所示,當集合 非空時,在某個周期內 中的節點轉發個區塊給對等節點,但由于 非空,這 個節點可能部分是 中的節點, 的增長由于自身節點數量而產生阻滯。因此,每個節點產生的區塊的增量為 與集合 占比的乘積。
根據上述的區塊轉發規律對區塊的傳播建立差分形式的阻滯模型,集合 在第k+1個周期的增量如公式(4-5)所示:
(2)集合H的增量根據4.1節以太坊區塊的傳播流程的介紹,H中的節點會在0.5秒之后請求區塊并轉化為集合B中的節點。與集合B的增量類似,集合H每周期的增量同樣會受到自身節點數量和集合B節點數量的阻滯。 在第k+1個周期的節點增量 h 是由第k個周期 的節點增量 轉發產生的,各節點轉發給n   個對等節點,由于已收到哈希值的節點 及已收到區塊的節點非空。第k+1個周期,集合 的節點數量為N-   。綜上所述,對區塊哈希值的傳播建立差分形式的阻滯模型,則第k個周期h的增量如公式(4-6)所示:等式左邊表示第k個周期僅接收到區塊 哈希值的節點增量,這些節點會在0.5秒后向其對等節點請求區塊 。在0.5秒內,接收到區塊的節點在一個周期內產生增量后,集合 與集合H間可能存在交集,即集合H中的節點可能收到了區塊。則每經過一個周期,集合H中的節點減少量為  。
(3)集合H中節點因請求區塊的節點    (4-5)h   b n     b n   (4-6) 設當前周期為第k+1個周期,設0.5秒經過了kx個周期,如圖4.5所示。
第k-kx+1個周期集合H的增量為k  kt k  ktk  kt ,這些節點會在當前的第k+1個周期主動請求區塊 。由于在時間段[(k-kx)T,kT]內,區塊 仍在傳播,在此期間區塊可能會傳播至集合t 中的節點,使得集合t 。中節點數量減少。減少量為集合 在該時間段內的增量與t 的交集,則減少量為t tt。綜上分析,第k+1個周期主動請求區塊產生的節點增量為t tt。情形二為高度h存在分叉區塊的情形,本文在情形一的基礎上增加如表4.2所示的符號:表 4.2 情形二的符號設置Table 4.2 Symbol Settings for the second scenario符號 符號含義相對于等重量值區塊,經過 k 個周期后先收到區塊 的節點集合t 相對于等重量值區塊,經過 k 個周期后先收到區塊 的節點個數相對于等重量值區塊,經過 k 個周期后先收到區塊 哈希值的節點集合經過 k 個周期后相對于等重量值區塊先收到區塊 哈希值的節點個數經過 k 個周期后認為分叉區塊 為主鏈的節點集合經過 k 個周期后以分叉區塊 為主鏈的節點個數


(1)不同分叉區塊傳播時的相互影響當h高度上出現分叉后,網絡中各節點根據自身當前的區塊鏈視角決定h高度的主鏈區塊。當重量值更高的區塊出現后,接收到該區塊的節點會以該區塊為父區塊繼續挖礦,并在h高度選擇該區塊的祖先區塊作為主鏈區塊。由于GHOST協議高重量值的區塊在傳播時會替代所有的重量值的區塊作為節點當前的父區塊。當來自不同祖先分叉區塊的多個同重量值的區塊同時在網絡中傳播時,由于節點接收區塊存在先后順序,因此,節點優先收到的區塊會使其在該區塊之上繼續挖礦。本文為等重量值的區塊建立差分形式的阻滯模型,此時的區塊除了受到自身的阻滯作用之外,還受到其他區塊產生的阻滯作用。空白節點占比為 t。以各分叉區塊為主鏈區塊的節點在第k+1個周期的增量為公式(4-7)所示:


(2)分叉區塊哈希值傳播時的相互影響區塊哈希值的作用是廣播該哈希值所對應的區塊。對于某個節點來說,不同區塊的哈希值在不同的時刻到來。在接受到區塊哈希值后,節點會隨機向其對等節點同步該區塊。在第k個周期,節點的增量為 ,這 個節點會在第k個周期各自將哈希值轉發給自身的 個對等節點對等節點。由于區塊頭的體積很小,本文忽略它在傳輸中的時延。區塊體的傳播時延經過擬合服從對數正態分布,本文將在第五章對以太坊實際環境下的數據用分布函數進行擬合。和區塊傳播時的阻滯類似,收到不同區塊哈希值的節點集合與自身以及接收到其他區塊哈希值的節點產生阻滯作用。即哈希值在被節點轉發是可能會轉發給已經緩存有該哈希值的節點。得到接收到不同分叉區塊哈希值在第k+1個周期的增量如公式(4-8)所示:集合 中的節點在0.5秒內會向對等節點請求哈希值對應區塊,但0.5秒內集合中的節點可能已經接收到了區塊,因此| |會在每個周期成比例減少。每個周期的減少量為 。在同一周期,同重量值m的各分叉區塊哈希值被傳播給一定數量的節點,本文將優先接收到區塊 哈希值的節點優先請求區塊 。某節點在同一周期內接收到同重量值但不同區塊的哈希值,請求區塊時由于隨機請求因而存在接收不到區塊的概率,這個概率與該節點的對等節點數量以及當前周期集合B的節點數量有關。根據上述分析,在第k+1個周期,集合 中節點總的增量如公式(4-9)所示:t   t n t,i=1,2,…, (4-7)   n  ,i   … (4-8)
根據3.1.3節的分析,雖然已經有高度h的區塊被挖出,但該區塊仍需要一定的時間在區塊鏈網絡中傳輸。因此某時刻存在某些節點的區塊鏈視角在h高度是沒有任何區塊的,該節點會持續尋找h高度區塊的工作量證明,這樣該節點產生出的新區塊和先前產生的區塊都為高度h上的分叉區塊。設區塊鏈全網挖出區塊的平均時間間隔為Th秒,則每秒挖出區塊概率為1/Th,T秒內挖出區塊概率為T/Th。則在一個周期內部分節點挖出區塊的概率為節點占比與T/Th的乘積,結合本小節的分析,第k+1個周期t 的占比總和為 t ,區塊鏈在第k+1個周期的分叉概率如公式(4-10)所示:  t (4-10)


(3)各分叉區塊產生新區塊的概率分析更高重量值區塊的目的是得到每個周期以h高度上不同分叉區塊為主鏈的總節點數。在集合的角度,以區塊 為主鏈的節點集合為 。設分叉區塊 產生的第m個確認區塊(重量值為m的確認區塊)為 ,若集合 中的節點在第k+1周期內挖出了新的確認區塊,該區塊將會擴散至其它節點,假設其重量值為m,由于該區塊的傳播,第k+1個周期節點集合 產生增量為 t 。累加各類節點的增量,得到 的總增量   t 。此外,還需考慮其它分叉區塊的確認區塊傳播造成的影響,如圖4.6所示重量值為m的區塊在傳播過程中,集合 中節點產生的新區塊以一定概率轉發到至集合 中。
綜上可得h高度各分叉區塊重量增加的概率為   … 。本文將在第五章的實驗部分仿真區塊在誠實者主鏈上的概率隨時間的變化。


4.3 實際的確認區塊數模型
根據 3.2 節對以太坊全網確認區塊進行的分析,以太坊新區塊的產生是一個泊松過程。本文僅使用泊松過程的期望值,而泊松分布的期望值即事件發生的頻率。因此,設 為全網經過 t 時間產生的總區塊數,則以太坊網絡在各個時刻,函數關系式為   ,其中λ表示新區塊產生的頻率,由于以太坊將全網產生新區塊的周期控制在 15 秒左右,轉化為頻率即每秒挖出 / 5 個區塊。換句話說,全網的總算力每秒挖出區塊的概率約為 / 5。本文假設在分叉現象出現的情況下將后續產生的區塊平均分配給分叉區塊,所研究區塊的確認區塊 如公式(4-12)所示: n  t(4-12)其中,m 為高度 h 上的分叉數量。 可以視為關于時間 t 的線性函數,其斜率為 。本文從 etherscan.io 爬取數據,統計了 2018/12/23 至 2019/1/22 這 31 日的共 175924 個高度的分叉情況,具體統計數據如表 4.3 所示。表 4.3 不同分叉個數出現頻率Table 4.3 Frequency of different bifurcation number次數 頻率無分叉區塊 163253 92.79%一個分叉區塊 11885 6.76%兩個分叉 786 0.45%總數 175924 100%由表 4.3 可知分叉概率相比不分叉概率數值較低,網絡中同一高度至多有兩個分叉區塊存在,即同一高度至多存在 3 個區塊。通過 Matlab 作圖, 隨時間發生的變化如圖 4.7 所示:
圖像的橫軸代表區塊被挖出后經過的時間,縱軸表示區塊的確認區塊數。時間與確認區塊數的關系滿足于一種斜率約為 0.0642 的線性關系。


4.4 本章小結
本章對以太坊中區塊的轉發機制進行了總結與分析,并在此基礎上建立差分形式的阻滯模型,通過該模型得到以不同分叉區塊為主鏈的節點占比,最終得到分叉概率以及不同分叉區塊確認區塊增加的概率。并通過模型得到所研究的區塊在主鏈上的概率隨時間的變化關系,之后與最少確認區塊數結合得到保證安全下的最少確認區塊數。


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

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


福彩3d字谜画谜