IOTA 白皮書

摘要

????IOTA 是一種服務(wù)于物聯(lián)網(wǎng)的數(shù)字加密貨幣,本文主要從數(shù)學(xué)理論來分析它。而作為IOTA中交易存儲的 數(shù)據(jù)tangle帐我,是一種有向無環(huán)圖。同時愧膀,tangle 作為下一代區(qū)塊鏈技術(shù)的基石拦键,它建立了一種點對點微支付系統(tǒng)。
????本文所分析的核心算法是屬于 馬爾可夫鏈蒙特卡羅(MCMC) 算法簇檩淋。而該算法的主要是用于一筆新到來的交易在加入tangle前芬为,如何選擇具體的交易進行認證。

1蟀悦、系統(tǒng)的介紹及描述

????比特幣的提出以及成功足以證明區(qū)塊鏈技術(shù)對現(xiàn)實世界的意義媚朦。然而,比特幣卻因自身存在許多缺點日戈,而導(dǎo)致其無法被作為通用的加密貨幣平臺進行使用袱箱。一個顯著的缺點是席覆,比特幣中任何一筆交易都需要交易費愧杯。然而,隨著物聯(lián)網(wǎng)的快速發(fā)展的圆,小額支付將越來越重要,如果交易費用超過了小額支付自身的額度半火,這明顯是不合理的越妈。此外,對于比特幣來說钮糖,交易費用作為區(qū)塊產(chǎn)生者的一種激勵機制梅掠,是無法被輕易移除的。另外一個問題是系統(tǒng)的異質(zhì)性店归,對于目前現(xiàn)有的數(shù)字加密貨幣技術(shù)來說阎抒,其系統(tǒng)會有兩類不同的角色參與者,一類交易的發(fā)起者消痛,一類是交易的證明者且叁。這種系統(tǒng)設(shè)計會對某些參與者造成不可避免的偏袒,從而導(dǎo)致沖突秩伞,這樣一來逞带,系統(tǒng)的需要消耗大量資源來解決沖突∩葱拢基于上述問題展氓,我們需要尋找更為合理的解決方案。
????本文主要討論的是一種不包含區(qū)塊鏈技術(shù)的創(chuàng)新方法脸爱。當然遇汞,該方法 已經(jīng)被專門為物聯(lián)網(wǎng)產(chǎn)業(yè) 而設(shè)計的,我們稱之為iota的數(shù)字加密貨幣 所實現(xiàn)簿废。而本文的核心目的是專注于tangle 通用的特性空入,以及討論如何解決 區(qū)塊鏈系統(tǒng)在維護分布式賬本時所出現(xiàn)的問題。當然族檬,本文不會講解IOTA 具體的協(xié)議實現(xiàn)执庐。
????正常情況下,一個以tangle作為基礎(chǔ)結(jié)構(gòu)的數(shù)字加密貨幣其特點如下:首先导梆,這里不是全局單鏈的結(jié)構(gòu),取而代之的時tangle這種dag 結(jié)構(gòu)迂烁。由節(jié)點提出的交易將作為tangle 圖形集的基礎(chǔ)看尼。而tangle 中,點與點間的邊按照以下方式生成:當一筆新的交易到來時盟步,它必需選擇tangle中的兩筆交易進行認證藏斩,因此,一條有向邊代表一個交易對另一個交易的認證却盘。當交易A 并沒有通過 有向邊直接關(guān)聯(lián)交易B狰域,而是同過至少兩條或以上的有向邊關(guān)聯(lián)時媳拴,我們則稱之為A 間接認證 B。當然兆览,tangle 中有且僅由一個“創(chuàng)世”交易屈溉,被剩余的所有交易直接或間接認證√剑“創(chuàng)世”交易的具體描述如下:作為tangle的第一個交易子巾,所創(chuàng)建的所有taken 被包含于一個 指定地址的賬戶余額中。而創(chuàng)世交易會將這些token 分別發(fā)送到另外幾個“基礎(chǔ)”的賬戶地址中小压。另外线梗,需要強調(diào)的是,所有的token僅在創(chuàng)世交易中被創(chuàng)建怠益,所有別的交易都無法創(chuàng)建token仪搔,換言之,挖礦者將無法通過挖礦獲取獎勵蜻牢,即系統(tǒng)將不再有挖礦者的角色烤咧。
????這里在對一些概念進行簡短的說明:tangle 中的所有頂點都代表一筆交易。而IOTA 網(wǎng)絡(luò)則進一步由IOTA 節(jié)點組成孩饼,而節(jié)點的核心作用則是發(fā)起交易髓削,并認證交易。
????tangle的主要交想法如下:用戶在發(fā)起一筆交易前镀娶,必須先認證部分交易立膛。因此,當一筆交易被提出來時梯码,如果該筆交易可以按照IOTA的協(xié)議將選定的交易認證成功宝泵,并且自身也是有效交易,則該交易會被認為對IOTA網(wǎng)絡(luò)的安全有貢獻轩娶。否則儿奶,該筆交易將被視為無效交易,并且不會被別的交易選定認證鳄抒。
????
????當一筆交易獲得越多的交易認證時闯捎,那么它的可信度就會越高。換言之许溅,想要系統(tǒng)接受雙花交易時非常困難的瓤鼻。需要強調(diào)的是,我們不會通過任何強制的規(guī)則來讓節(jié)點 選定交易進行認證贤重。當然茬祷,一種比較好的方式是,如果大量的節(jié)點去按照某種交易選擇規(guī)則進行運行并蝗,那么對于任意別的節(jié)點祭犯,最好也按照這種規(guī)則運行秸妥。這似乎是一個合理的假設(shè),尤其是運行在帶有預(yù)裝固件的專用芯片 的IOTA 網(wǎng)絡(luò)節(jié)點沃粗。
????下面則是節(jié)點詳細交易流程:

  • 節(jié)點在發(fā)起一筆交易前粥惧,必須選擇tangle 中已有的兩筆交易,并按照規(guī)定算法進行認證陪每。
  • 節(jié)點必須檢查這兩筆選定的交易不存在沖突影晓,并確定被選擇交易也不是無效交易。
  • 節(jié)點在發(fā)布一筆有效交易前檩禾,需要進行類似比特幣中的難度確認問題挂签,即微型的pow。其核心是通過pow運算盼产,從而找到一個nonce 值饵婆,該nonce 的hash值 與自己交易中的某些數(shù)據(jù)組合起來時,具有一個特定的形式戏售。
    ????需要注意的是 侨核,整個iota網(wǎng)絡(luò)都是異步的。通常來說灌灾,節(jié)點間并不需要看見相同的交易集搓译,因為有些交易是無效交易。一方面锋喜,節(jié)點不必對 哪些是有效交易可以加入賬本達成共識些己,這意味著所有有效的交易都可以加入tangle 中。另一方面嘿般,當節(jié)點遇到兩筆有沖突的交易時(如雙花交易)段标,必須決定那筆交易是無效的。選定的具體規(guī)則如下:節(jié)點運行tip 選擇算法多次
    (cf. Section 4.1)炉奴,并觀察這兩筆交易中逼庞,那筆交易更有可能被直接認證。例如瞻赶,在運行100次算法后赛糟,其中一筆交易被選擇了97次 ,那么砸逊,我們則認為該筆交易的可行度為97%虑灰。
    ????我們提前來討論一下 4.1節(jié)尾部所給出的評論:節(jié)點傳播交易的動機是什么?首先痹兜,每個節(jié)點自身都會統(tǒng)計一些數(shù)據(jù),其中一些數(shù)據(jù)就是有多少新交易是從鄰居節(jié)點接收的颤诀。因為如果一個節(jié)點“非常懶惰”字旭,就會被別的節(jié)點從鄰居節(jié)點中刪除对湃。
    ????接下來,我們將在第二部分來詳細說明tip 選擇算法遗淳,通過第三部分來講解如何判斷交易確認的拍柒,在第四部分來分析可能的攻擊場景。

2 權(quán)重

????在該部分中屈暗,我們將詳細介紹交易權(quán)重的定義及其相關(guān)概念拆讯。交易權(quán)重與提出該交易的節(jié)點對其投入的工作量成正比。在iota 的當前的實現(xiàn)中养叛,具體的權(quán)重值被假定為3^n,其中n 為非空的并可接受的整數(shù)值(具體請參考第四部分的分析)种呐。目前,對于權(quán)重的詳細計算是無關(guān)緊要的弃甥,我們只需要知道爽室,權(quán)重大的交易筆權(quán)重小的交易更“重要”。為了避免垃圾郵式以及別形式攻擊淆攻。我們假定沒有一個節(jié)點能夠在短時間內(nèi)生成大量具有“可接受”權(quán)重的交易阔墩。
????另一個我們需要講解的概念是交易的累積權(quán)重:具體的定義為所有直接或間接認證該交易的權(quán)重以及自身權(quán)重之和。我們舉Figure1 中的一個交易作為例子瓶珊。例子中的交易F啸箫,它被交易 A、B伞芹、C忘苛、E直接或間接認證,其累積交易權(quán)重為9,具體的計算方式為9 = 3(F) + 1(A) + 3(B) + 1(C) + 1(E)丑瞧。
????我們將所有未被認證的交易定義為“tip”柑土。如Figure1 中before 用例中,A绊汹、C均為tip稽屏。然后,當一筆新的交易X到來西乖,并成功認證了A狐榔、C(Figure A 中的before),那么获雕,更具累積權(quán)重的定義薄腻,除了交易X的所有交易的累積權(quán)重都增加3。
????我們在來介紹認證算法中與交易有關(guān)的另外兩個參數(shù):

  • height:指定交易到創(chuàng)世交易的最長路徑的長度届案。
  • depth:指定交易 到tip 交易的最長路徑長度庵楷。
    我們已Figure2 中的用例講解。用例中,G 的height 為1(gensis->G) 尽纽,depth 為4(G->D->B->A)咐蚯。
    接著介紹另外一個定義score,代表著由該筆交易直接或間接認證的所有交易的權(quán)重之 以及自身權(quán)重之和弄贿。如Figure2中的score(A) =1(A)+3(B)+1(D)+3(F)+1(G) = 9春锋。
Figure1
Figure2

3 系統(tǒng)的穩(wěn)定性以及割集

????我們定義L(t)為,系統(tǒng)在時刻t 所包含的全部tips總量差凹。一方面期奔,我們所期望的是,隨機過程L(t)可以保持穩(wěn)定危尿,更準確的說呐萌,是希望這個過程是積極的循序,具體的定義請參閱引用[11]的4.4和6.5節(jié)脚线。特別地搁胆,正遞歸式表明,當t→∞時邮绿,P[L(t) = k]的極限應(yīng)存在渠旁,且當k≥1時,其值均為正船逮。直觀上顾腊,我們期望L(t)應(yīng)該在一個常數(shù)值附近波動,而不是趨向無窮大挖胃。當然杂靶,如果L(t)的值趨向正無窮,這樣一來酱鸭,就會由許多tip 交易將永遠得不到認證吗垮。
????為了分析L(t)的穩(wěn)定性,我們需要做一些假設(shè)凹髓。其中一個假設(shè)是烁登,交易由大量獨立的個體發(fā)出,因此蔚舀,節(jié)點接受交易的流程可以用泊松點過程進行模擬(參見[11]的5.3節(jié))饵沧。我們定義 λ 作為整個 泊松過程 速率,即平均的單位時間交易到達率赌躺。為了簡單起見狼牺,我們假設(shè)這個速率在時間上保持不變。同時礼患,假設(shè)所有設(shè)備的計算能力大致相同是钥,并定義h為節(jié)點完成交易傳播所需的平均耗時掠归。然后,我們繼續(xù)假設(shè)所有節(jié)點的行為如下:在發(fā)起交易前咏瑟,節(jié)點需要隨機選擇兩個tip 并認證拂到。這種情況下,整個iota 網(wǎng)絡(luò)并沒有提供保護機制來抵御“惰性”或惡意節(jié)點(參見下面的4.1節(jié))码泞。因此,出于該模型相對簡單狼犯,我們可以考慮更多復(fù)雜的tip 選擇算法來運行系統(tǒng)并持續(xù)觀察之余寥。
????接下來,我們將做一個進一步的簡化假設(shè)悯森,即任何節(jié)點發(fā)起的交易宋舷,只有經(jīng)過了h個單位時間后,才會被別的節(jié)點看見瓢姻。同時祝蝠,我們假設(shè)tip 數(shù)量隨著時間的推移也同樣大致保持穩(wěn)定,并且集中數(shù)字L0 周圍幻碱。
????按照上述假設(shè)绎狭,我們來推導(dǎo)L0 與λ 和 h的數(shù)學(xué)關(guān)系:給定時間戳t,那么系統(tǒng)將由λh 個 tip 是“不可見”的褥傍;同樣儡嘶,假定這里有r個“可見”tip(在t-h 前加入tangle的交易,并且在時刻t 任然是tip 交易)恍风,因此蹦狂,可以得到 L0 = r + λh。接著朋贬,在時刻t凯楔,有一筆新的交易到來,然后選擇兩筆交易進行認證锦募,那么摆屯,選擇到tip 交易的概率為r/(r+λh)(更具上述假設(shè),r 才是正真可見的tip御滩,盡管節(jié)點會認為λh 也是tip)鸥拧,所以,選擇到tip 的數(shù)量為2r/(r+λh)削解。根據(jù)模擬的觀察結(jié)果富弦,在平穩(wěn)狀態(tài)下,所選tips的平均數(shù)量應(yīng)該等于1氛驮,因為平均而言腕柜,新交易不應(yīng)該改變tips的數(shù)量。因此,解方程2 r (r +λh) = 1 / r盏缤,得到r =λh砰蠢,進一步得到


????另外,我們還注意到唉铜,如果如果規(guī)則改為 新交易必須選擇K個交易台舱,而不是兩個交易進行認證,那么將給出類似的計算(該公式具體的推導(dǎo)方式?jīng)]給出潭流,權(quán)且按照結(jié)論閱讀):


當然竞惋,符合上述公式的前提條件是L{^{(k)}_0}中的 λh as k → ∞。(基本上灰嫉,剩下的tip 對iota網(wǎng)絡(luò)是未知的)拆宛。
????我們繼續(xù)回到每筆交易只需選擇兩筆交易進行認證的情況進行討論,這么一來讼撒,交易首次被認證的預(yù)估時間 為h = L0/2λ浑厚。
????需要注意的是,給定的任何時間t根盒,時刻s(s∈[t, t + h(L0, N)]) 所包含的 tips 交易集通常會構(gòu)造成一個割集钳幅。而任意從時間t 以后所發(fā)出的交易到創(chuàng)世交易的路徑都必須經(jīng)過這批集合。而割集偶爾會變小郑象,然后贡这,我們可以使用這個變小的割集作為DAG的修剪工具以及任務(wù)檢查點。
????需要明確的是厂榛,上述的完全隨機tip 選擇策略在實際運用中不是很好盖矫,因為它并不鼓勵選擇tip 交易。而“懶惰”用戶經(jīng)常會選擇舊交易進行認證击奶,但這種行為對整個iota 網(wǎng)絡(luò)是沒有貢獻得辈双。此外,惡意節(jié)點可以通過發(fā)起大量交易來選擇指定的交易對進行認證柜砾,從而使指定的交易會有更高的概率被選定湃望,而“誠實”節(jié)點的tip 交易將會被拋棄,這樣一來痰驱,就會tangle就會按照作惡節(jié)點的意圖發(fā)展证芭。為了避免這類問題,我們必須采取一種偏向于“更好”tip 的策略担映。在下面4.1節(jié)中废士,會用一個例子來介紹這種策略。
????在開始討論交易在第一次獲得認證的預(yù)期時間之前蝇完,我們需要區(qū)分狀況官硝。

  • 低負荷:如Figure 3 中的頂部用例矗蕊,tip數(shù)目很少,通常是1氢架。這種情況基本發(fā)生在交易的單位時間到達率非常低的情況下傻咖。此外,如果網(wǎng)絡(luò)延遲非常低岖研,且節(jié)點計算速度也很快的情況下卿操,也不會有很多tip。該情況下孙援,新到的交易基本不會選擇相同的tip 進行認證硬纤。
  • 高負載:Figure3 中的底部用例,有大量的tip 交易赃磨。這種情況基本發(fā)生在交易到達率很高,網(wǎng)絡(luò)延遲高且節(jié)點計算速度慢的情況下洼裤。這種情況下邻辉,不同交易可能會選擇相同的tip 進行認證。
    ????當然腮鞍,上述劃分方式只是為了分析在極端情況下值骇,系統(tǒng)會做出何種表現(xiàn)。
    ????低負荷狀態(tài)下的情況相對簡單,交易在第一次獲得認證的預(yù)期時間為λ{^{?1}}移国。
Figure3

????現(xiàn)在讓我們考慮高負載情況吱瘩,即L0很大的情況。正如上面提到的, 有人會認為泊松過程的交易選擇是獨立戶不影響的迹缀,其近似值為2λ/L0使碾。因此,交易首次獲得認證的預(yù)估時間是 L0/(2λ) = h (recall (1))祝懂。
????然而票摇,值得注意的是,對于被動的等待長時間直到交易被別的交易選定認證砚蓬,這種方式并不是一個好的策略矢门。因為“更好”的tip 會出現(xiàn),而且會更被偏向選定灰蛙。相反祟剔,當一個交易在等待被選定的時間間隔L0/2λ大得多時涩拙,一個好的tip 選擇策略是需要促進這類交易被空交易選定(空交易時指不會發(fā)生token 轉(zhuǎn)賬的交眷唉,該類交易有助于整個iota網(wǎng)絡(luò))戳鹅。換言之射赛,網(wǎng)絡(luò)種的任意節(jié)點都可以發(fā)起一筆空交易來選定并認證一些落后的交易怔接,這樣一來棋电,這些落后的交易就有更大的機會獲得確認橙困。
????事實證明依啰,基于heights 以及 scores 的交易選擇策略更容易受到特定類型的攻擊,詳細參見4.1節(jié)案训,當然买置,該小節(jié)也會詳細討論防范此類攻擊的策略。與此同時强霎,一些簡單的交易選擇策略任然是值得思考的忿项。因為簡單的策略是容易分析的,并從中獲取出tangle 行為種定性 和定量的特征城舞。

總結(jié):

1.我們就低負荷和高負荷這兩種狀態(tài)討論了tangle 的行為轩触。
2.在低負荷的情況下,tip 會非常少家夺,一個tip 首次獲得認證的時間為Θ(λ{^{?1}}),其中λ為單位時間交易的到達率脱柱。
3.在高負載的情況下,tip的數(shù)據(jù)取決于具體的交易選擇策略拉馋。
4.如果我們使用完全隨機選擇策略榨为,這對于tip的數(shù)量數(shù)量最大化是一個最優(yōu)解,但這種策略是不實際的煌茴,因為它不鼓勵tip 被選擇随闺。
5.而復(fù)雜的tip 選擇策略需要處理各種各樣的攻擊。這類策略將在4.1節(jié)討論蔓腐。
6.在高負載的情況下矩乐,tip 首次被認證的時間為Θ(h),其中h 為 一個節(jié)點 (算力/交易傳播時間 )的平均值回论。然而散罕,當一個交易在超過了這個時間后還沒有被認證,該交易的發(fā)起方或接受方最好使用一個空交易來促進該交易被選定認證透葛。

累積權(quán)重通常增長的有多快?

我們假定整個iota網(wǎng)絡(luò)處于低負載狀態(tài)笨使。它的累積權(quán)重的增長速度為λ,因為所有 新到來交易都會間接或直接認證它僚害。
????當網(wǎng)絡(luò)處于高負載的情況下硫椰,較老的交易其累積權(quán)重的增長速度同樣為λ,因為基本上所有的交易基本上都會間接認證較老的交易萨蚕。此外靶草,當交易第一次加入到tangle時,它可能需要等待一段時間才被選定認證岳遥。在這個時間間隔內(nèi)奕翔,交易的累積權(quán)重表現(xiàn)為隨機方式。為了描述交易在獲得多個認證后其累積權(quán)浩蓉,我們將將定義H(t)為 指定交易在時間t時的預(yù)期累積權(quán)重,K(t) 為在時間t時派继,認證指定交易的預(yù)期tip數(shù)量宾袜,而h := h(L0, N)。另外驾窟,我們在做了一個簡單的假設(shè)庆猫,隨著時間的推移,tip的數(shù)量會大致保持不變绅络,值為L0月培。并且,我們繼續(xù)假定每個交易選擇兩筆交易進行認證恩急。預(yù)計其它合理的策略其定性行為大致相同杉畜。
????我們大致回顧一下,處于節(jié)點在發(fā)起一筆交易前衷恭,必須先進行計算即認證此叠,所以一個在時間t-h 選擇兩筆交易認證的交易會在 時間t 進入到整個iota 網(wǎng)絡(luò)。綜上随珠,我們可以推導(dǎo)出拌蜘,該筆交易所選定的認證交易中,至少有一筆時tip 的概率為1-(1-\frac{K(t-h)}{L{_0}}){^2}={\frac{K(t-h)}{L{_0}}}{(2-\frac{K(t-h)}{L{_0}}){^{16}}}牙丽。類似于引用[11] 中的示例6.4,我們可以假定δ>0:


從而推導(dǎo)出以下微分方程:

為了使用推導(dǎo)的公式(3),我們首先需要計算的是K(t)兔魂。這可不是一項簡單的任務(wù)烤芦,因為在時間t-h 的是tip的 交易,可能在時間t 就不是了tip 了析校,并且构罗,新到來的交易如果認證了 該交易,則認證該交易的總tip 數(shù)加1智玻。據(jù)實驗觀察遂唧,在時間t-h 的為tip 的交易,在時間t 仍然是tip 的概率為1/2(為了驗證這一點吊奢,回顧一下第3節(jié)的討論盖彭,正常情況下,任意時刻的tip 數(shù)量為λh页滚,在時間間隔h內(nèi)召边,新的λh tip 將取代舊的 2λh 中的一半)。因此裹驰,在時間t隧熙, 將近 K(t-h)/2的 tip 任然是未被認證的狀態(tài),而剩下的K(t-h)/2獲得了至少一個以上的新交易認證幻林。設(shè)定A 表示在時間t-h時, 數(shù)量 K(t-h)/2 的tip 在時間t 仍然為tip 的 集合贞盯,B 為在時間t-h 時音念,K(t-h)/2 為tip,在時間t不為tip 的集合躏敢。我們定義p1 為闷愤,一個新到來的交易,至少從集合B 選擇一個父丰,而不從集合A選擇交易的概率肝谭;P2為全部從集合A選擇的概率。換言之蛾扇,P1 和P2 代表著當新交易到來時攘烛,當前tip 數(shù)量是加或減1 的概率。據(jù)定義镀首,我們可以得到

為了得到第一個表達式坟漱,我們解讀上圖的公式,可以得到p1 為p2 加上 兩倍于 第一個tip 屬于集合B 并且第二個tip 不屬于A ∪ B的概率更哄。類似于推導(dǎo)公式(3),得到K(t)的微分方程:

由于精確的解方程(4)式困難的芋齿,所以我們進一步簡化假定。首先成翩,根據(jù)實驗觀察觅捆,當K(t) 達到固定εL0水平后,其中ε>0,它將很快增長至(1-ε)L0。所以麻敌,當K(t) 小于期望L0時栅炒,這時,公式(4) 中 K(t-h)/L0 約為0术羔,而 λh/L0 =1/2赢赊,因此,可以得到進一步的簡化公式:

邊界條件K(0)=1级历。我們尋找K(t) = exp(ct/h)的解释移,將該等式代入(5),得到

因此:

這是一個近似解,其中w(·)是所謂的lambert w函數(shù)(也稱為ω函數(shù)或積對數(shù),對于x∈[0寥殖,+∞),x = W(x) exp(W(x))玩讳。)。

Figure4

取推導(dǎo)函數(shù)(6) 兩邊的對數(shù)嚼贡,我們發(fā)現(xiàn)K(t)達到εL0的大致時間是


回到方程(3)锋边,我們繼續(xù)移除方程中最右邊的式子,在“adaptation period” 范圍內(nèi)(t<= t0,t0為方程(7)中所求值)我們可以得到



所以



另外编曼,根據(jù)Figure6豆巨,在“adaptation period(適應(yīng)其)”過后,累積權(quán)重時間函數(shù)H(t) 隨λ 線性增長掐场。
我們強調(diào)方程(8)中的“指數(shù)增長”并不意味著在“adaptation period(適應(yīng)其)”期間往扔,累積權(quán)重會迅速增長贩猎,相反,它的行為如圖Figure 4萍膛。

總結(jié)

1.在低負荷的情況下吭服,交易被多次選定認證后,其累積權(quán)重的增長速度為λw蝗罗,而w 為一般交易的平均權(quán)重艇棕。
2.在高負載的情況下,這里有兩個增長階段串塑。首先沼琉,在階段“adaptation period”范圍內(nèi),累積權(quán)重的增長速度為上述推導(dǎo)的方程(8),通過“adaptation period”后桩匪,它的增長速度又回到λw打瘪。事實上,對于任何合理的tip 選擇策略傻昙,交易的累計權(quán)重增長速度將在“adaptation period”結(jié)束后闺骚,都會回到λw,因為所有新到交易都會間接地認證交舊的交易妆档。
3.我們可以將交易的適應(yīng)期 的結(jié)束看作 被當前大部分交易間接認證的開始僻爽。具體的適應(yīng)期時長為方程(7)所推導(dǎo)的值。

4贾惦、可能的攻擊場景

我們首先討論一個攻擊場景进泼,攻擊者試圖單獨“超過”iota 網(wǎng)絡(luò)。
1.攻擊者向商戶發(fā)起一筆支付交易纤虽,當該筆交易在累積足夠大的權(quán)重后,商戶在貨物發(fā)給攻擊者绞惦。
2.攻擊者發(fā)起一筆“雙花”交易逼纸。
3.攻擊者利用自己的計算能力發(fā)起許多小額交易,這些小額交易選定并認證該筆“雙花”交易济蝉,但不直接或間接認證發(fā)給商家的原始交易杰刽。
4.攻擊者擁有大量 不需要認證tip 的 sybil 身份。
5.與第3項相類似的攻擊式是使用他們所有的計算能力來發(fā)布一個更“大”的“雙花”交易王滤。這個“大”是指該筆交易自身的權(quán)重非常大贺嫂,這樣會導(dǎo)致在原交易被確認前,該筆“雙花”交易被提前確認雁乡。


Figure5

6.攻擊者希望他們不誠實的 子tangle 會超過 誠實的 子tangle第喳。如果這種情況發(fā)生了,tangle 主網(wǎng)將繼續(xù)在“雙花”交易 的分支上發(fā)展踱稍,而原先合理的交易 所在的分支就會成為孤兒(Figure5)曲饱。
事實上悠抹,一個大權(quán)重的“雙花”交易策略增加了攻擊者的成功幾率。而且扩淀,在這個“理想”的數(shù)學(xué)模型下楔敌,這種攻擊總是成功的。

????假設(shè)W{^{(n)}}是獲得一個nonce的所需時間驻谆,該nonce 使得雙花交易至少具有3n的權(quán)重卵凑;并且W{^{(n)}}是一個具有參數(shù) μ/3^n 的指數(shù)分布隨機變量,其中μ表示攻擊者的算力胜臊。
????我們繼續(xù)作出以下假設(shè)勺卢,在原交易發(fā)起的t0 個單位時間后,商戶在原交易的累積權(quán)重至少為w0時区端,承認該筆交易值漫。因此,在正常情況织盼,可以可以合理預(yù)估杨何,原交易的累積權(quán)重其增長速率為λw,而λ則是網(wǎng)絡(luò)上誠實節(jié)點發(fā)起交易的總單位時間交易到達率沥邻,w為一般交易的自身權(quán)重危虱。所在,該交易在t0時刻唐全,其累積權(quán)重為s w1 = λwt0埃跷。
????我們定義 \lceil{x}\rceil為大于x的最小正整數(shù),定義n{_0} = \lceil{\frac{ln w{_1}}{ln 3}}\rceil,所以邮利,3^n0 >= w1(如果w1非常大弥雹,兩者將約等)。如果攻擊者試圖在t0時間間隔內(nèi)獲得一個 將賦予雙花交易至少為3n0 權(quán)重 的nonce成功延届,那么該次攻擊會成功剪勿。而該事件發(fā)生的概率為:


上述方程中的約等時合理的,當t0μ/w1 較小時方庭。如果這種“直接”攻擊沒有成功厕吉,攻擊者將繼續(xù)尋找可以賦予 權(quán)重 3^n (n>n0)的nonce,如果尋找成功械念,合理分支的總權(quán)重將小于3^n头朱。而這種事件發(fā)生的概率為

也就是說,雖然 μ/λw 通常是一個很小的數(shù)龄减,但是项钮,對于每一個“級別”n,攻擊成功的概率時恒定的。而成功的時間大約是3^(λw/μ)寄纵。雖然鳖敷,攻擊所需時間非常大,但“第一次”攻擊的成功概率是不能忽略的程拭。因此定踱,我們需要對策。其中一種對策是將交易自身的權(quán)重加以限制恃鞋,甚至將其設(shè)置為常量崖媚。可正如第3節(jié)中所提到的恤浪,后者可能不是最佳解決方案畅哑,因為它沒有提供足夠的保護機制來防止垃圾郵件攻擊。
????現(xiàn)在水由,讓我們來討論交易自身權(quán)重設(shè)置為常量1的情況
荠呐,并估計攻擊成功的概率。我們假設(shè)某個給定的交易自發(fā)起到t0 個時間單位后砂客,其累積權(quán)重為w0泥张,并且該交易已經(jīng)過了適應(yīng)期。在這種情況下鞠值,交易的累積權(quán)重增長速率為 λ∶拇矗現(xiàn)在,假設(shè)攻擊者相要在該交易發(fā)起雙花攻擊彤恶。為此钞钙,攻擊者秘密的準備該雙花交易,并開始生成無意義的交易声离,在商戶準備認可原實交易前芒炼,這些無意義的交易開始認證雙花交易。如果雙花交易累積權(quán)重所超過原交易的累積權(quán)重术徊,則攻擊成功本刽。如果累積權(quán)重沒有超過,那么雙花交易將得不到別的交易選定認證弧关,因為在原交易累積權(quán)重更大的情況下,基本所有新到來的交易都會間接選定認證原交易唤锉。這種情況下世囊,雙花交易將被孤立起來。
????和以前一樣窿祥,μ代表攻擊者的算力株憾。同時,我們還簡化了一個假設(shè),即交易可以立即傳播嗤瞎。假設(shè)G1 G2 G3…表示獨立同分布墙歪。V1 V2 V3…也是獨立同分布。指數(shù)隨機變量為μ贝奇,定義 虹菲,其中 k≥1。
????假設(shè)在t0時掉瞳,商家決定認定累積權(quán)重為w0的交易毕源。我們繼續(xù)估計雙花交易攻擊成功的可能性。我們定義M(θ) = 1/(1-θ) 為參數(shù)為1的指數(shù)分布的矩母函數(shù)(詳細參見引用[14] 的7.7節(jié))陕习。對于α∈(0霎褐,1)的情況下,可以得到:


ln M(θ) 的 勒讓德 轉(zhuǎn)變 為 ?(α) = ? ln α + α ? 1该镣。作為一般事實冻璃,當 α ∈ (0, 1)時,?(α) > 0 损合∈⊙蓿回想一下,參數(shù)為1的指數(shù)隨機變量的期望值也等于1塌忽。
????假定 μt0/w0 < 1拍埠,否則,攻擊者的subtangle 最終超過 合法subtangle的概率將接近1⊥辆樱現(xiàn)在枣购,為了在時間t0時,其指定交易的累計權(quán)重超過w0擦耀,攻擊者需要在t0期間棉圈,發(fā)出至少w0筆 自身權(quán)重為最大值m的交易。因此眷蜓,使用方程(9),我們發(fā)現(xiàn)雙花交易在t0時刻可以獲得更大累積權(quán)重的概率大致為



因為上述方程所計算的概率值很小分瘾, w0/m
的值需要非常大,而 ?(μt0/w0) 的值又不能太小吁系。
????需要注意的是德召,在時間t>=t0時,合法交易的累積權(quán)重大約為w0 +λ(t?t0)汽纤,因為我們認證適應(yīng)期已經(jīng)結(jié)束上岗,所以累積權(quán)重的增長速率為λ。

通過代入方程(10),我們可以得到雙花交易在t>=t0時蕴坪,其累積權(quán)重超過原交易的概率大致為

然后肴掷,如果累積權(quán)重的增長速率小于μt0/w0≥ μ/λ敬锐,則可以推導(dǎo)出 μt0/w0≥ μ/λ〈粽埃可以看出台夺,雙花攻擊成功的概率時有規(guī)律的

例如,在 μ = 2, λ = 3的情況下痴脾,攻擊者的算力相比于整個網(wǎng)絡(luò)時非常小的颤介。假設(shè)在時間12 之前,交易的累積權(quán)重為32明郭÷蚩撸可以計算出max(μt0/w0,μt0/w0) = 3/4,?(3/4)≈ 0.03768, 方程(12)給出的上界約為0.29。如果假設(shè)μ=1并保持所有其他參數(shù)不變薯定,然后可以計算出max(μt0/w0,μt0/w0) = 3/8,?(3/8)≈ 0.3558, 方程(12)的大約值為0.00001135,可見變化相當大始绍。

????根據(jù)上面的討論,我們可以得到不等式 λ > μ成立的情況下话侄,對于整個網(wǎng)絡(luò)來說是安全的亏推。換言之,誠實的交易總量需要大于攻擊者的算力年堆,否則吞杭,方程(12) 的預(yù)估量是無效的。因此出于安全判斷变丧,系統(tǒng)需要通過檢查checkpoint 來到達目的芽狗。
????當我們使用累計權(quán)重作為決定兩個沖突交易交易哪個是有效的度量決策時,必須十分小心痒蓬。這是因為通過累計權(quán)重的方式童擎,系統(tǒng)可能收到于4.1節(jié)所描述的類似攻擊,即攻擊者提前通過一個雙花交易攻晒,并通過大量的交易來選定該雙花交易顾复,使得雙花交易的累積權(quán)重超過原交易,然后在商家接受原交易后鲁捏,使得雙花交易生效并廣播芯砸。我們將在下一節(jié)提出一個能更好解決沖突交易的方法。

4.1 寄生鏈攻擊 和新的tip 選擇算法

我們繼續(xù)回到Figure6 中的攻擊模式:攻擊者秘密的構(gòu)建一個子tangle给梅,偶爾引用主tangle 從而使自己獲得更高的score假丧。這里再說明一下,score 代表著由該筆交易直接或間接認證的所有交易的權(quán)重之 以及自身權(quán)重之和动羽。由于網(wǎng)絡(luò)延遲對于攻擊者構(gòu)建子tangle 來說不是問題(這是因為攻擊者總是可以隨便選定并認證自己的事務(wù)包帚,而不依賴于來自網(wǎng)絡(luò)其余部分的任何信息。)曹质,因此婴噩,如果他們使用足夠強大的計算機,他們可能能夠為子tangle 的tip 提供更高的score羽德。此外几莽,攻擊者通過廣播大量新交易來人為地增加tip數(shù)量,這些新tip會選定認證他們先前在寄生鏈發(fā)布的交易(如用例Figure 6)宅静。因此章蚣,在誠實節(jié)點使用簡單的tip 選擇算法的情況下,攻擊者則更容易成功姨夹。
????為了抵御這類攻擊纤垂,我們打算使用一個已有的條件,即主tangle 應(yīng)該比 攻擊者有更多的 有效hash 算力磷账,因此峭沦,相對于攻擊者的更過交易,主tangle 能夠產(chǎn)生更大的累積權(quán)重逃糟。核心是使用mcmc作為tip選擇算法吼鱼。

????定義Hx 為一筆交易的累積權(quán)重,在交易自身權(quán)重為1的情況下绰咽,tip 交易的累積權(quán)重為1菇肃,非tip 交易的累積權(quán)重至少為2。
????而 MCMC主要是一種 random walker tip選擇算法(這里的隨機數(shù)由節(jié)點自身提供的偽隨機生成器生成)取募。然后琐谤,通過該算法選出的tip 將被 candidates 選定認證。該算法的工作流程大致如下:
1.考慮區(qū)間[w, 2w] 上所有的交易玩敏,其中w相當大(主要的考慮是斗忌,walker 所在交易位置必須足夠深 ,防止walker 一下就移動到tip聊品,當然飞蹂,又不能太深,考慮到要在合理的時間內(nèi)選定tip翻屈。而區(qū)間[w,2w]是武斷的陈哑,當然也可以是[w,5w]等,甚至直接將walker 放在創(chuàng)世交易上伸眶。當然惊窖,可以通過時間區(qū)間的方式來確定walker 的位置,例如厘贼,可以將walker 置于在時間區(qū)間范圍[t0, 2t0]到達的交易界酒。)
2.單獨將N 個 walker放在 1中的 的區(qū)間交易所在位置上。(首先嘴秸,這個N的選擇也是武斷的毁欣,但主要考慮到如果選擇一兩個walker 庇谆,那么他們有可能會跑到攻擊者做構(gòu)建的tangle上。)
3.讓這些walker 獨立隨機地向tip移動凭疮。
4.向walker 移動到tip 時饭耳,表明該tip 被選定認證。然而执解,我們需要添加一個規(guī)則寞肖,即那些太快移動到tip 的walker 需要被拋棄,因為他們可能移動到“l(fā)azy tip”上衰腌。
5.walker 移動到下一個位置的概率定義如下:如果y 直接認證x (y ~>x),則Pxy 代表x 移動到y(tǒng)的概率新蟆,計算方式為



上述方程中, α>0,并且需要選定一個值。

Figure6右蕊,該用例為主tangle以及寄生鏈共存的例子琼稻,紅點為雙花交易

需要注意的是库正,該算法是“局部的”尼夺,換言之,整個walker 游歷的過程無需從Genesis 開始翘狱,也不需要計算整個Tangle的累積權(quán)重坯约,只需計算從walker 的起始點到終點所歷經(jīng)交易的權(quán)重之和熊咽。
????為了檢查算法是否按照預(yù)期工作,首先需要考慮的是“l(fā)azy tip”闹丐。這類tip 可能有意選定認證一些舊得交易横殴,以避免校驗工作。即使walker 最終在lazy tip 上卿拴,該lazy tip 也基本不可能被新到來得交易選定衫仑,因為它得累積權(quán)重相對來說太小。
????接下來堕花,我們來考慮一種交替得攻擊模式:攻擊者將秘密地構(gòu)建一條包含將某個用戶的余額全部轉(zhuǎn)移到指定用戶這一筆交易的鏈文狱,如Figure 6 中,parasite chain 的紅點交易缘挽。然后瞄崇,攻擊者在主tangle上發(fā)起一筆帶商家接受的正常交易(Figure 6,main tangle 中的紅色交易),并且壕曼,寄生鏈上的交易偶爾會引用主tangle上的交易苏研。然而,寄生鏈的累積權(quán)重并不是很大腮郊。需要注意的是摹蘑,寄生鏈上的交易不在引用主tangle 中紅色交易之后的交易。此外轧飞,攻擊者在發(fā)起正真的攻擊前衅鹿,會人為地增加寄生鏈上的tip 交易撒踪。而攻擊者的目的很簡單,讓寄生鏈成為主tangle大渤,而原來的主tangle則被拋棄糠涛。
????可以明顯地觀察出mcmc選擇算法選擇攻擊者發(fā)起的tip 的概率不高,推論于lazy tip 的場景相同:總的來說兼犯,寄生鏈上的交易累積權(quán)重會筆主tangle上交易累積權(quán)重要小的多。因此集漾,walker 在移動的過程中切黔,基本不可能會走到寄生鏈上,除非walker 一開始就在寄生鏈上具篇,但這也不太可能纬霞,因為主tangle 中包含更多的位點。
????作為一種額外的保護措施驱显,我們可以首先使用一個較大的α(這樣一來诗芜,它實際上是“幾乎確定性的”)來運行random walk 算法來選擇tip;然后在使用一個較小的α來運行random walk 埃疫,以從來驗證兩者的所選的tip 是否一致伏恐。
????同時觀察到,對于總是向tip 移動的random walk栓霜,使用簡單的遞歸計算出口概率分布是非常簡單和快速的:這是我們不希望節(jié)點做的事情翠桦。然而,我們可以通過以下方式修改我們的方法:在每一步中胳蛮,random walk可能會往回走,并且我們可以假設(shè)往回走的概率例如為1/3等销凑。無論如何,步行會很快到達終點(因為它會向終點漂移)仅炊,但計算出口尺度并不容易斗幼。
????讓我們討論一下為什么節(jié)點會遵循這個算法。從第1 節(jié)開始回憶抚垄,可以合理地假設(shè)至少有“良好”比例的節(jié)點將遵循引用算法蜕窿。此外,由于計算和網(wǎng)絡(luò)延呆馁,tip選擇算法更偏向處理交易發(fā)起時刻的tangle 快照渠羞。出于我們在后續(xù)部分中詳細解析的原因,將快照時間點移動到一個更早的時刻可能是一個好主意(首先智哀,random walker找到了快照的一個tip次询,然后它繼續(xù)向當前tangle的“實際”tip走去。)瓷叫。設(shè)想一個“自私”的節(jié)點屯吊,它只想最大化其交易 被快速選定認證的機會送巡。本節(jié)的MCMC算法定義了一組tips的概率分布,該算法被相當比例的節(jié)點所采用盒卸。顯然骗爆,自私的節(jié)點自然會首選獲得最大分布值的tip。然而蔽介,一個合理的假設(shè)是摘投,如果其它自私的節(jié)點也按照該方式運行,并且使用相同的策略虹蓄,那么他們都將失敗犀呼。許多新交易將在大致相同的時間取選定認證 兩個相同的tip,因此薇组,這些交易在隨后被選定中外臂,會產(chǎn)生許多競爭。另外律胀,由于節(jié)點使用的是過去的快照宋光,因此,大量交易選定相同的交易所導(dǎo)致的累積權(quán)重增加并不會被立即“感覺到”炭菌。因此罪佳,即使是一個自私的節(jié)點,也必須使用一些隨機的具有概率分布的tip選擇算法黑低,并且其概率分布需要接近于mcmc所產(chǎn)生的概率分布菇民。我們并不聲稱這種“聚合”的概率分布將等于自私節(jié)點存在時的默認概率分布。然而投储,上面的論點表明它應(yīng)該接近它第练。這意味著許多節(jié)點試圖驗證相同的壞tip的怪率任然很小。無論如何玛荞,節(jié)點自私的動機并不大娇掏,因為獲取的收益不大。這與其他分散化結(jié)構(gòu)(如比特幣)本質(zhì)上是不同的勋眯。重要的事實是婴梧,節(jié)點沒有理由放棄MCMC tip選擇算法。
????我們想指出客蹋,方程(13)中給出的轉(zhuǎn)移概率的定義并不是一成不變的塞蹭。我們可以用另一個函數(shù)來代替指數(shù)函數(shù),這個函數(shù)可以快速減小讶坯,比如f(s) = 1/s^3番电。W和N的選擇是隨意的。在這一點上,目前還不清楚是否有任何理論論據(jù)確切地表明這些參數(shù)應(yīng)該以何種方式選擇漱办。綜上所述这刷,我們認為本節(jié)的主要內(nèi)容是使用MCMC進行tip選擇。

4.2 分裂攻擊

Aviv Zohar針對所提出的MCMC算法提出了以下攻擊方案娩井。當tangle 出于高負載的情況下暇屋,一個攻擊者可以將tangle 分裂成兩個分支,并維持他們間的平衡洞辣。這種情況會導(dǎo)致兩個分支都會繼續(xù)發(fā)展咐刨。攻擊者必須在拆分的開始處放置至少兩個會引起沖突的交易,以防止一個可靠的節(jié)點同時引用這兩個事務(wù)扬霜,從而有效地達到分裂目的定鸟。然后,攻擊者希望網(wǎng)絡(luò)的算力大約均分給每個分支畜挥,這樣他們就能夠通過自身補償因隨機引起的算力波動,即使自身算力相對較小婴谱。如果該技術(shù)有效蟹但,攻擊者將能夠在兩個分支上花費相同的資金。
????為了防御該類攻擊谭羔,我們需要使用“銳閾值”規(guī)則华糖,這規(guī)則使得很難在兩個分支之間保持平衡。該規(guī)則的一個例子是選擇比特幣網(wǎng)絡(luò)上最長的鏈瘟裸。讓我們將這種概念為tangle 的所用客叉。假設(shè)第一個分支的總權(quán)重為537,第二個分支的總權(quán)重為528话告。如果一個誠實的節(jié)點選擇第一個分支的概率非常接近1/2兼搏,那么攻擊者可能能夠保持分支之間的平衡。然而沙郭,如果一個誠實的節(jié)點選擇第一個分支的概率遠遠大于1/2佛呻,那么攻擊者可能無法保持平衡。在后一種情況下病线,由于網(wǎng)絡(luò)在不可避免的隨機波動之后吓著,會快速地選擇其中一個分支而放棄另一個分支,所以無法保持兩個分支之間的平衡送挑。為了使MCMC算法具有這樣的行為绑莺,必須選擇一個衰減非常快速的函數(shù)f惕耕,并在一個深度較大的節(jié)點上開始隨機游走纺裁,這樣游動很可能在分支分叉之前就開始了。在這種情況下司澎,即使競爭分支之間的累積權(quán)重差很小对扶,walker 也會選擇概率較高的 大權(quán)重的分支区赵。值得注意的是,由于網(wǎng)絡(luò)同步問題浪南,攻擊者的任務(wù)非常困難:他們可能不知道最近發(fā)布的大量交易(實際的累積權(quán)重與他們認為的會有很大的不同)笼才。防范分裂攻擊的另一種有效方法是讓一個足夠強大的節(jié)點在一個分支上立即發(fā)布大量交易,從而迅速改變平衡算力平衡络凿,使攻擊者難以處理這種變化骡送。當然,如果攻擊者設(shè)法維護分裂的分支絮记,那么最近的交易大約只有50%的確認信度摔踱,這樣一來,交易邊不會被確認怨愤,分支也不會增長派敷。在此場景中,“誠實”節(jié)點可能決定開始有選擇地選擇認證發(fā)生在分支之前的交易撰洗,從而繞過了分叉分支上的交易篮愉。
????可以考慮其他版本的tip選擇算法。例如差导,例如试躏,如果一個節(jié)點看到兩個累積權(quán)重較大的子tangle,那么在執(zhí)行MCMC tip選擇算法之前设褐,它將選擇權(quán)重總和較大的子tangle颠蕴。
????對于進一步的實現(xiàn),下面的想法可能值得考慮助析。我們可以使方程(13) 中定義的轉(zhuǎn)移概率同時依賴于hx?hy和hx犀被,這樣一來,當walker 在tangle 內(nèi)部時外冀,馬爾可夫鏈的下一步移動幾乎是確定的弱判。而當walker 靠近tip 時,下一步的移動則變得更加隨機锥惋。這將有助于避免進入較弱的分支昌腰,同時確保在選擇tip時,具有足夠的隨機性膀跌。

總結(jié)

1.我們考慮了攻擊者試圖通過 超過 整個iota網(wǎng)絡(luò)的 雙花攻擊遭商。
2.“大權(quán)重”攻擊意味著,為了使雙花交易成功捅伤,攻擊者視圖給雙花交易一個非常大權(quán)重劫流,以便它超過原交易的累積權(quán)重。換言之,如果允許交易自身的權(quán)重不受限制祠汇,這種策略將對網(wǎng)絡(luò)構(gòu)成威脅仍秤。所以,我們可以通過限制事務(wù)自身的權(quán)重或?qū)⑵湓O(shè)置為常量作為解決方案可很。
3.在自身權(quán)重最大為m的情況下诗力,最佳的攻擊策略是生成自身權(quán)重為m的雙花交易,然后新交易都直接選定并認證該雙花交易我抠。當誠實的交易分支筆攻擊者的算力大是苇本,攻擊者可以使用公式(12) 來增大“雙花”攻擊被選定的概率。
4.構(gòu)建“寄生鏈”的攻擊方式使得 基于 height 或 score 的tip 選擇策略變得過時菜拓,因為與合法的tangle相比瓣窄,攻擊者所構(gòu)建的鏈具有更高的度量值。另一方面纳鼎,4.1節(jié)所描述的mcmc tip 選擇算法似乎為這種攻擊提供了保護機制俺夕。
5.mcmc 還額外的提供了正對懶惰節(jié)點的保護。

5.抵抗量子計算

眾所周知贱鄙,一個足夠大的量子計算機(至今仍是一個假設(shè)性的構(gòu)想)可以非常有效地處理 需要反復(fù)試驗才能找到解決方案的問題劝贸。如比特幣中,為了生成一個區(qū)塊而找到一個nonce的過程就是一個很好的例子贰逾。對于比特幣來說悬荣,到目前為止菠秒,必須平均檢查268個nonces疙剑,才能找到允許生成新塊的合適散列。眾所周知(見引用[15]),量子計算機需要Θ(√N)(等價于10√N)操作來解決一個類似于上述比特幣難題的問題践叠。而該問題對于經(jīng)典計算機來說言缤,需要Θ(N)操作。因此禁灼,一臺量子計算機挖掘比特幣區(qū)塊鏈的效率將是傳統(tǒng)計算機的√(268) = 234 ≈ 170億倍左右管挟。另外,值得注意的是弄捕,如果區(qū)塊鏈不通過增加難度來響應(yīng)hash 算力的提高僻孝,那么孤立區(qū)塊的速率將會增加。出于同樣的原因守谓,“大權(quán)重”攻擊在量子計算機上也會更有效穿铆。然而,正如第4節(jié)所建議的那樣去限制權(quán)重斋荞,也將有效地防止量子計算機攻擊荞雏。這在iota中很明顯,因為為了找到合適的散列來發(fā)布交易,需要檢查的nonces的數(shù)量并不大凤优,平均的悦陋,大約為3^8。因此筑辨,“理想”量子計算機的效率增益為81俺驶,這已經(jīng)是可以接受的了。更重要的是挖垛,iota實現(xiàn)中使用的算法的結(jié)構(gòu)是這樣的:查找nonce的時間并不比發(fā)起交易所需的其他任務(wù)的時間長多少痒钝。后者對量子計算的抵抗力要大得多,因此與(比特幣)區(qū)塊鏈相比痢毒,它為tangle提供了更大的保護送矩,使其免受量子計算機對手的攻擊。

引用

[1] Iota: a cryptocurrency for Internet-of-Things. See http://www.iotatoken.com/,
and
https://bitcointalk.org/index.php?topic=1216479.0
[2] bitcoinj. Working with micropayment channels.
https://bitcoinj.github.io/working-with-micropayments
[3] people on nxtforum.org (2014) DAG, a generalized blockchain.
https://nxtforum.org/proof-of-stake-algorithm/dag-a-generalized-blockchain/
(registration at nxtforum.org required)
[4] Moshe Babaioff, Shahar Dobzinski, Sigal Oren, Aviv Zohar (2012) On Bitcoin and red balloons. Proc. 13th ACM Conf. Electronic Commerce, 56–73.
[5] Richard Durrett (2004) Probability – Theory and Examples. Duxbury advanced series.
[6] Sergio Demian Lerner (2015) DagCoin: a cryptocurrency without blocks.
https://bitslog.wordpress.com/2015/09/11/dagcoin/
[7] Yonatan Sompolinsky, Aviv Zohar (2013) Accelerating Bitcoin’s Transaction Processing. Fast Money Grows on Trees, Not Chains.
https://eprint.iacr.org/2013/881.pdf
[8] Yonatan Sompolinsky, Yoad Lewenberg, Aviv Zohar (2016) SPECTRE: Serialization of Proof-of-work Events: Confirming Transactions via Recursive Elections. https://eprint.iacr.org/2016/1159.pdf
[9] Yoad Lewenberg, Yonatan Sompolinsky, Aviv Zohar (2015) Inclusive Block Chain Protocols.
http://www.cs.huji.ac.il/~avivz/pubs/15/inclusive btc.pdf
[10] Joseph Poon, Thaddeus Dryja (2016) The Bitcoin Lightning Network:Scalable Off-Chain Instant Payments.
https://lightning.network/lightning-network-paper.pdf
[11] Sheldon M. Ross (2012) Introduction to Probability Models. 10th ed.
[12] David Vorick (2015) Getting rid of http://slides.com/davidvorick/braids
[13] Amir Dembo, Ofer Zeitouni (2010) Large Deviations Techniques and Applications. Springer.
[14] Sheldon M. Ross (2009) A First Course in Probability. 8th ed.
[15] Gilles Brassard, Peter Hyer, Alain Tapp (1998) Quantum cryptanalysis of hash and claw-free functions. Lecture Notes in Computer Science 1380, 163–169.

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末哪替,一起剝皮案震驚了整個濱河市栋荸,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌凭舶,老刑警劉巖晌块,帶你破解...
    沈念sama閱讀 207,113評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異帅霜,居然都是意外死亡匆背,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評論 2 381
  • 文/潘曉璐 我一進店門身冀,熙熙樓的掌柜王于貴愁眉苦臉地迎上來钝尸,“玉大人,你說我怎么就攤上這事搂根≌浯伲” “怎么了?”我有些...
    開封第一講書人閱讀 153,340評論 0 344
  • 文/不壞的土叔 我叫張陵剩愧,是天一觀的道長猪叙。 經(jīng)常有香客問我,道長仁卷,這世上最難降的妖魔是什么穴翩? 我笑而不...
    開封第一講書人閱讀 55,449評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮锦积,結(jié)果婚禮上芒帕,老公的妹妹穿的比我還像新娘。我一直安慰自己充包,他們只是感情好副签,可當我...
    茶點故事閱讀 64,445評論 5 374
  • 文/花漫 我一把揭開白布遥椿。 她就那樣靜靜地躺著,像睡著了一般淆储。 火紅的嫁衣襯著肌膚如雪冠场。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,166評論 1 284
  • 那天本砰,我揣著相機與錄音碴裙,去河邊找鬼。 笑死点额,一個胖子當著我的面吹牛舔株,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播还棱,決...
    沈念sama閱讀 38,442評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼载慈,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了珍手?” 一聲冷哼從身側(cè)響起办铡,我...
    開封第一講書人閱讀 37,105評論 0 261
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎琳要,沒想到半個月后寡具,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,601評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡稚补,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,066評論 2 325
  • 正文 我和宋清朗相戀三年童叠,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片课幕。...
    茶點故事閱讀 38,161評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡厦坛,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出撰豺,到底是詐尸還是另有隱情粪般,我是刑警寧澤拼余,帶...
    沈念sama閱讀 33,792評論 4 323
  • 正文 年R本政府宣布污桦,位于F島的核電站,受9級特大地震影響匙监,放射性物質(zhì)發(fā)生泄漏凡橱。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,351評論 3 307
  • 文/蒙蒙 一亭姥、第九天 我趴在偏房一處隱蔽的房頂上張望稼钩。 院中可真熱鬧,春花似錦达罗、人聲如沸坝撑。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽巡李。三九已至抚笔,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間侨拦,已是汗流浹背殊橙。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評論 1 261
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留狱从,地道東北人膨蛮。 一個月前我還...
    沈念sama閱讀 45,618評論 2 355
  • 正文 我出身青樓,卻偏偏與公主長得像季研,于是被迫代替她去往敵國和親敞葛。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,916評論 2 344

推薦閱讀更多精彩內(nèi)容

  • 一:項目簡介 IOTA全稱MIOTA与涡, 它是一個開源的分布式賬戶制肮,IOTA的初衷是一個給物聯(lián)網(wǎng)(IoT, Inte...
    鈺真閱讀 2,030評論 0 5
  • 一:項目簡介 IOTA全稱MIOTA, 它是一個開源的分布式賬戶递沪,IOTA的初衷是一個給物聯(lián)網(wǎng)(IoT, Inte...
    張錦沛翀閱讀 705評論 1 2
  • IOTA有什么技術(shù)創(chuàng)新豺鼻?是什么鏈,什么共識機制款慨,有什么獨特的技術(shù)上的創(chuàng)新儒飒? IOTA是為物聯(lián)網(wǎng)(IoT)而設(shè)計的一...
    盧之何閱讀 5,974評論 0 5
  • 今天結(jié)束了老家的假期,歷時四個小時檩奠,安全到達了鄭州桩了。心里竟然莫名的有些傷感,雖然在家已經(jīng)沒有了小時候過年的感覺埠戳,但...
    奔跑吧蝸牛w閱讀 258評論 1 0
  • 我是初次井誉,一路走來,都是在自我良好中度過整胃,如果不是因為那場車禍颗圣,我可能就是在那設(shè)定的人生走下去!上天跟我開了個玩笑...
    定整閱讀 83評論 0 0