纏結上的交易確定率

Hau Yang
CryptoCow
Published in
5 min readOct 27, 2018

IOTA 的共識機制是建立在加權隨機漫步上。透過端點選擇(tip selection)的機制,tangle 上加權值較大的分支加權值會越來越大,反之加權值較小的分支加權值會越來越小,小到最後就會被放棄。這個現象其實很直觀的就會發現跟區塊鏈很像,在區塊鏈上我們會把區塊接在最長的鏈上,而纏結就是把交易接在加權值最大的分支上。

但我們不會完全都只接在加權值最大的分支上。在隨機漫步的過程中,我們是允許適度的隨機性,這樣可以使加權值較小的分支爾偶也能被認可(approve)到。會這樣做的動機是為了讓整個網路有比較高的交易率(transaction rate);若是只有加權值最大的分支被認可,這樣的結果會造成所有被認可的交易只能構成一個很瘦的鏈,這樣很瘦的鏈意味著,大部分的交易都會被纏接遺落,接不上纏結。可以試著用很大的 α 值去跑模擬,就能視覺化這種狀況下的糾纏型態。會發現大部分的交易是沒有被確認(comfirm)的。必須記住一件事情;很小的 α 值代表隨機漫步的時候有很大的隨機性,而很大的 α 值代表隨機漫步每一步都會很肯定地(deterministic)走到加權值最大的分支上。

不過我們在這邊必須強調,交易被纏結遺落( left behind),並不代表你的錢會消失。他只代表你的交易沒有被確認( comfirm),所以你需要再附加(re-attach)或者振興( promote)這筆交易。這樣的動作最後的結果通成就是造成整個網路的確認時間( confirmation time)變久。

所以 α 值應該要多大呢? 這個問題是IOTA 基金會的研究人員 Bartosz Kusmierz 一直在研究如何回答的。我們的目標是在一個給定的 α 值時,量化估計( quantitative estimate)有多少的交易被纏結遺落。透過上面的估計,我們可以得到 α 值的上限( upper bound),如果超過這個上限,代表說這時候纏結上被遺落的交易比率就會高的我們無法接受。

為了得到被纏結遺落的機率, Bartosz 透過跑纏結的模擬,去測量在不同時間點下,有多少比例的交易有被確認到。必須注意到,交易確認率( confirmation rate)和被纏結遺落的機率是非常緊密相關的,這兩個值相加要等於 100%。這是因為,每筆交易不是被纏接確認就是遺落。

為了定義一筆交易是不是被確認,我們會用下面這個啟發式的方法: 「用非常大的 α 值跑一次端點選擇演算法。這等同於,我們的隨機漫步總是走在加權值最大的分支上。最終在你到達某一個端點後,這個端點認可的所有交易都會被認為是被確認的(comfirmed),其他所有交易就是被遺落。」雖然這個定義跟我們之前提到的確認信心並不完全一樣,但是在長時間運作之後,他們會收斂到幾乎一樣的結果。所以用這樣的方法可以更簡單地用是或否回答我們分析的問題。

圖示如何測量被確認的交易。上圖大紅圈是用非常大的 α 值去隨機漫步所得到的端點,所以其他紅圈就是被確認的交易。
這是根據不同 α 和 λ所做出交易被遺落的機率圖。 λ 是交易率( rate of transactions),透過測量每單位時間h 有多少單位的交易被發布。透過閱讀這篇文章可以得知更多細節。但在本質上h 就是POW所需的平均時間。假設POW 需要花一分鐘(實際上可能更多或更少),在這種狀況下 λ就是每分鐘有多少筆交易。

結果沒有讓人特別意外,α 越高會造成交易被遺落的機率越高,並造成比較低的交易確認率( confirmation rate)。但會發現很有趣的是,交易率(λ, rate of transactions)會動態的影響交易確認率。如果交易率 λ 變高 α 必須變低,這樣才能維持交易確認率在一個定值。

這是一個十分有用的結果,因為這個結果提供了一個測量合理 α 值大小的方法,並且確保在給定的交易率下,現在的 α 會不會大超過合理的範圍(上面有提到,這個方法是測量 α 的上限)。比如說,如果我們要得到至少 80% 的交易確認率, α 的大小需要根據上圖的紫色部分去設定,或者低於紫色的部分。

一旦我們給出了 α 的上限,那麼很自然的,我們就會問說:「要如何求得 α的下限呢?」通常來說,越低的 α 會造成整個IOTA 網路更容易遭受雙花攻擊,或者有懶惰節點的行為。為了瞭解下限為何,我們還需要對於攻擊和一些錯誤行為作出更多研究才行。只要整個社群有得到一個確切的答案我們就會盡快地與大家分享。

就像平常一樣,我們很歡迎任何的意見或提問。可以發布在這邊或者在Discord上(我是 @alongal#3938 然後 Bartosz 是@bartkusmierz#7311)

並且你可以在這邊看到 Bartosz 的研究報告全文

翻譯自: Confirmation rates in the Tangle

--

--

Hau Yang
CryptoCow

大學讀的是機械和電機。最近喜歡的東西是可以抱著睡的大娃娃。LinkedIn: https://www.linkedin.com/in/yanghauyuan