在part1 中,我們不僅介紹了什么是tangle,同樣也了解了tips、以及tip 的選擇算法及其重要性等。在本章節(jié)中,我們先學習 transaction rates 和 network latency 的概念,這兩個特征決定tangle 的具體形狀;最后,我們再來學習the unweighted random walk 的定義。
在 part1 的模擬中,細心的讀者或許可以發(fā)現(xiàn),隨著時間的推移交易并不會均勻分布,有時會稀疏,有時又會密集。因為該模擬使用的是Poisson point process(泊松過程)。該算法所產(chǎn)生出的隨機性,可以使整個tangle模擬過程更貼近現(xiàn)實情況。通過這個通用的泊松過程模型,我們可以很方便模擬出日常生活中的一些場景,例如,在給定時間內(nèi),有多少顧客會進入商場,或者有多少電話打到一個呼叫中心。圖1-1 例子為我們展示在Tangle模型中對應的交易行為;在示例中,交易4、5、6幾乎同時到達,而經(jīng)過一段較長的等待時間后,交易7才單獨到達。

目前,對于泊松過程,我們只需要它其中一個作用:平均的單位時間交易到達率 λ,它是一個常量,意味著單位時間內(nèi),將會有λ 筆交易到達。這里舉一個簡單的例子,假設λ=2,需要到達的交易數(shù)為100,換言之,每個單位時間內(nèi)都會有兩筆交易到達,并在50 個單位時間后,這100交易全部到達。
我們在來深入理解一下λ 的作用,我們討論兩種極端情況。第一種是極端小,我們假設λ=0.1,tangle 所展示的則是圖1-2的形狀,因為在λ=0.1情況下,意味著需要經(jīng)過 10 個單位時間才會有一筆交易到達,換言之,每一筆即將到達的交易只有一筆交易可選擇認證,因此,tangle會退化成鏈狀。另一種是極端大的情況,我們假設λ=11,tangle 所展示的則是圖1-3的形狀,因為在一個單位時間內(nèi)有大量交易同時到達,但有效的交易只有創(chuàng)世交易“可見”,因此,所有到達的交易只有創(chuàng)世交易可選擇認證。


在上面λ=11 極端大的例子中,我們提到了創(chuàng)世區(qū)塊“可見”。這里我們來解析另一個重要的 參數(shù) (該參數(shù)設定為h),network latency,網(wǎng)絡延遲。這個延遲意味著一筆交易需要做好相關(guān)的準備工作以及經(jīng)過IOTA網(wǎng)絡充分傳播,才被認為是有效交易,我們也稱之為“可見”。這個參數(shù)的引入,主要是模擬一筆新交易的到來需要傳播所帶來的延時,從而使tangle更接近現(xiàn)實世界;并且,它可以更好的避免tangle 退化成一條無聊的鏈。我們假設h=1,則意味著,每筆新到來的交易只有經(jīng)過1個單位時間后,才是“可見”交易,即有效交易。
上面的模擬中,我們使用的 是 uniform random tip selection,即均勻隨機選擇;最后,我們在來介紹一個更高級的tip 選擇算法:unweighted random walk。該算法下,我們將一個游歷者(walker)放在在創(chuàng)世交易的位置(交易[0]),然后開始“走向”需要選擇的tip。路勁選擇的規(guī)則如下:游歷者當前所在的交易為t[a],而選擇的交易類型有兩種,一種是tip 交易,一種則是非 tip交易,即被認證的交易。所有的的選擇都是隨機的。如果選擇的交易為tip 交易,則進行認證,并建立關(guān)聯(lián),游歷完畢。反之,如果存在直接認證t[a]的交易集合中(a[x]、a[x-1]...),則隨機選擇其中一個作為 移動目標(這里假設選擇結(jié)果為a[x]),然后,游歷者 會從t[a] 移動到 t[x],然后再次按照上述規(guī)則進行移動,直到?jīng)]有交易可選擇或者選擇的目標為tip 交易,才完成選擇。而隨機則可以視為無權(quán)重。

如圖1-4 的動態(tài)實例中,walker 從 交易[0] 開始游歷,所游歷過的路徑會設置為紅色,而藍色路徑 則為 待選擇的路徑,如果遇到多個待選擇路徑,則隨機選擇,直到選擇“可見”tip 作為終點,圖列中的透明交易被視為 “不可見”tip。
到這里,本章節(jié)完畢。