這是“糾纏圖解”系列文章的第一篇,通過(guò)這個(gè)系列的文章,你將能夠理解IOTA的內(nèi)在原理。
我們將會(huì)以IOTA的白皮書(shū)為參考,并添加一些圖片來(lái)解釋一些基本的概念。在這篇文章里,我們將介紹“纏結(jié)”,解釋它是什么,以及IOTA研究團(tuán)隊(duì)是如何用數(shù)學(xué)方法來(lái)研究它的。
首先,我們需要知道計(jì)算機(jī)領(lǐng)域內(nèi)的一個(gè)概念:有向圖。一個(gè)有向圖有許多頂點(diǎn)(圖中的方塊)構(gòu)成,他們彼此通過(guò)邊(圖中的箭頭)相連。像下圖這樣:

纏結(jié),是IOTA里面的數(shù)據(jù)結(jié)構(gòu),它是一種特殊的有向圖,它用來(lái)保存交易數(shù)據(jù)。每一個(gè)交易代表圖中的一個(gè)頂點(diǎn)。當(dāng)新的交易加近來(lái)的時(shí)候,它選擇兩個(gè)以前的交易,并驗(yàn)證他們,同時(shí)增加兩條邊。
在上面的例子中,5號(hào)交易驗(yàn)證2號(hào)和3號(hào)交易。所謂交易,和你想象的差不多,類(lèi)似于“Alice給了Bob10枚IOTAs”。暫時(shí)我們先不用擔(dān)心驗(yàn)證是什么意思,我們后面將會(huì)細(xì)說(shuō)。
我們把未被驗(yàn)證的交易成為tips,在這個(gè)例子中,6號(hào)交易是一個(gè)tip,因?yàn)檫€沒(méi)有人驗(yàn)證它。每一個(gè)近來(lái)的交易都需要選擇兩個(gè)tip并加以驗(yàn)證(至少一個(gè))。至于選擇哪兩個(gè)tips來(lái)驗(yàn)證是非常重要的,它是IOTA特有的。不過(guò),為了簡(jiǎn)單起見(jiàn),我們先用一個(gè)最簡(jiǎn)單的選擇策略:隨機(jī)選擇兩個(gè)可用的tips。即:每個(gè)新交易都檢查一下當(dāng)前未被驗(yàn)證的交易,然后隨機(jī)的選擇兩個(gè)。
在使用隨機(jī)選擇的策略下,纏結(jié)是什么樣的呢?我們特意做了一個(gè)視覺(jué)仿真。建議點(diǎn)開(kāi)這個(gè)視覺(jué)仿真看一下。
這個(gè)仿真隨機(jī)生產(chǎn)一個(gè)纏結(jié),第一個(gè)交易(也叫做創(chuàng)世交易)在左邊,最近的交易在右邊。灰色的方塊代表tips。當(dāng)你把你的鼠標(biāo)放在一個(gè)交易上的時(shí)候,所有被它驗(yàn)證的方塊都會(huì)變成紅色,所有驗(yàn)證它的都會(huì)變成藍(lán)色。
今天就這么吧。你可以玩玩這個(gè)仿真,試試不同的配置,有問(wèn)題請(qǐng)留言提問(wèn)。在下篇文章中,我們將會(huì)解釋交易速率(\lambda),介紹間接驗(yàn)證者、隱式tips這些概念,以及稍微復(fù)雜點(diǎn)的tip選擇策略:無(wú)權(quán)中隨機(jī)漫步