在2018年5月中旬,一組自稱為Team Rocket的開發(fā)人員發(fā)表了一篇白皮書,名為《Snowflake to Avalanche: 一種新的可轉(zhuǎn)移的共識協(xié)議》。
匿名發(fā)布
《Snowflake to Avalanche》白皮書是通過流行的分布式文件共享平臺IPFS匿名發(fā)布的。這個匿名組織的名字是指《精靈寶可夢》卡通系列中由善轉(zhuǎn)惡的組織,其口號是“做好讓她加倍麻煩的準備”。
為了響應(yīng)這一口號,Avalanche白皮書描述了四種協(xié)議,它們被設(shè)計成在廣泛的場景中工作,開發(fā)人員將其描述為對現(xiàn)有共識機制的升級。
這份白皮書引起了不同程度的興趣和興奮。康奈爾大學(xué)(Cornell)教授埃明·塞勒(Emin Gun Sirer)是一位直言不諱的加密貨幣研究專家。他進一步定義了該協(xié)議,“這是一項突破,將中本聰共識的精華與經(jīng)典共識的精華結(jié)合起來”。
共識的歷史
要理解Avalanche協(xié)議以及它如何不同于其前任的共識協(xié)議, 有必要深入研究計算機科學(xué)家過去開發(fā)的工具,這些工具被用于使分布式網(wǎng)絡(luò)中的計算機能夠安全和可靠地進行協(xié)作,從而作出集體決定。
計算機是強大的工具。這些設(shè)備在幾乎所有領(lǐng)域都變得非常寶貴,因為它們能夠處理各種各樣的任務(wù),有時還能同時快速地處理這些任務(wù)。當(dāng)一組計算機在同一功能上協(xié)同工作時,這些優(yōu)勢就會變得更加復(fù)雜。這是分布式系統(tǒng)工作的前提。
在這種協(xié)議中,聯(lián)網(wǎng)計算機(有時位于遙遠的地理位置)持有完成給定任務(wù)所必需的組件,而網(wǎng)絡(luò)的有效運行是分布式網(wǎng)絡(luò)。在分布式網(wǎng)絡(luò)中,計算機通過不斷地相互傳遞數(shù)據(jù)來協(xié)調(diào)它們的操作。為了有效地執(zhí)行任務(wù),分布式網(wǎng)絡(luò)中的計算機必須能夠?qū)崟r查看底層數(shù)據(jù)庫的狀態(tài)。
分布式系統(tǒng)在許多場景中是必不可少的。例如,一個銀行系統(tǒng)需要服務(wù)于地理位置的廣泛泊位,或者一個向全球客戶開放的在線購物服務(wù)。
這兩個實例都需要一種機制,通過這種機制可以跨連接網(wǎng)絡(luò)上所有機器的底層數(shù)據(jù)庫維護穩(wěn)定的視圖。對于銀行系統(tǒng),附帶的數(shù)據(jù)庫反映帳戶余額,而在電子商務(wù)場景中,它可以是商品可用的庫存或其他相關(guān)變量。
共識是一致的狀態(tài)。在分布式系統(tǒng)中,這一點至關(guān)重要,因為網(wǎng)絡(luò)中的設(shè)備無法就決策達成一致,可能會削弱整個配置。此外,無法支持大量設(shè)備的協(xié)商共識機制也不利于網(wǎng)絡(luò)的目標(biāo)實現(xiàn),因此是不可取的。因此,只要存在分布式系統(tǒng),創(chuàng)建有效的消費者機制就一直是計算機科學(xué)家的目標(biāo)。
在過去的四十年中,計算機科學(xué)家試圖找到可行的方法來解決這個普遍存在的問題。在分布式系統(tǒng)領(lǐng)域,協(xié)議主要有兩大類:經(jīng)典協(xié)議和中本協(xié)議。
經(jīng)典的共識協(xié)議是最古老的共識機制。這組工具是由一組計算機科學(xué)家開發(fā)的,并最終授予他們圖靈獎,這對計算機科學(xué)家來說相當(dāng)于諾貝爾獎。Leslie Lamport和Barbara Liskov引入了經(jīng)常被引用的拜占庭將軍的類比,用來解釋分布式系統(tǒng)中實現(xiàn)共識的問題。它們也被廣泛認為是經(jīng)典共識協(xié)議的創(chuàng)建者。
經(jīng)典的共識協(xié)議是基于實用的拜占庭容錯(PBFT)原則。這種共識協(xié)議的優(yōu)點包括快速的終局性以及對提交事務(wù)的及時保證。
缺點包括缺乏可伸縮性。傳統(tǒng)協(xié)議要求參與網(wǎng)絡(luò)的人支付設(shè)備之間的二次通信成本。這意味著網(wǎng)絡(luò)上的所有節(jié)點必須知道網(wǎng)絡(luò)上的所有其他設(shè)備。超過1000個節(jié)點的閾值,成本就變得太高,無法證明網(wǎng)絡(luò)是合理的。
此外,在經(jīng)典的共識協(xié)議中,安全性是由節(jié)點的仲裁決定的,這些節(jié)點提交特定的選擇是為了見證所討論的行為。這些節(jié)點必須相互信任。因此,經(jīng)典的協(xié)商共識機制不太適合無許可數(shù)據(jù)庫,比如數(shù)字貨幣數(shù)據(jù)庫。
這就引出了第二類工具,中本共識協(xié)議。隨著比特幣白皮書的發(fā)布,一種新型的共識機制應(yīng)運而生?!吨斜咀h定書》在許多方面與其前身不同。首先,它特別適合支持分散的、不可靠的系統(tǒng)。這個網(wǎng)絡(luò)上的節(jié)點不必相互信任,但仍然能夠達成協(xié)議。該協(xié)議實現(xiàn)了這一壯舉,因為網(wǎng)絡(luò)中的節(jié)點不必知道參與網(wǎng)絡(luò)的所有其他設(shè)備。
其次,中本協(xié)議允許任何節(jié)點在任何時候加入或離開網(wǎng)絡(luò)。它是一個開放的網(wǎng)絡(luò),所有的節(jié)點都可以以任何選擇的方式參與網(wǎng)絡(luò)。由于這個特性,中本協(xié)議可以在全球范圍內(nèi)擴展到大量參與者。與傳統(tǒng)模式相比,它還支持更大的審查阻力。
雖然中本協(xié)議開創(chuàng)了數(shù)字貨幣的新時代,并支持具有重大價值的加密貨幣部門,但它也并非沒有缺點。
例如,速度仍然是一個重要問題。盡管最近升級的比特幣網(wǎng)絡(luò)縮短了比特幣交易的等待時間,但與Visa或萬事達(Mastercard)等其他支付處理器相比,比特幣交易的等待時間仍然較長。而且,吞吐量很低,因為它每秒可以處理3到7個事務(wù)。這些數(shù)字遠沒有達到有效支撐一種全球貨幣所需的規(guī)模。
中本協(xié)議在很大程度上依賴于工作證明(PoW)。結(jié)果,這個共識機制消耗了大量的能量。隨著人們對環(huán)境問題的關(guān)注不斷升溫,要證明僅僅為網(wǎng)絡(luò)供電所耗費的能源是合理的變得越來越困難。
Avalanche協(xié)議
如上所述,兩種協(xié)商共識機制各有優(yōu)缺點。由匿名rocket Team提出的這套新機制聲稱比它的兩個前輩都要好。rocket Team將Avalanche協(xié)議定義為“建立在亞穩(wěn)態(tài)機制上的一組新的拜占庭式故障容錯協(xié)議”。
Avalanche協(xié)議由四種機制組成,它們相互建立,共同構(gòu)成更大共識工具的整個結(jié)構(gòu)。提議中描述的四種機制是Slush, Snowflake, Snowball,和 Avalanche。
它是如何工作的?
白皮書稱,“受到八卦算法的啟發(fā),這個新的家庭通過一種故意的亞穩(wěn)態(tài)機制獲得了它的安全性。”具體來說,系統(tǒng)通過反復(fù)隨機采樣網(wǎng)絡(luò),并引導(dǎo)正確的節(jié)點走向相同的結(jié)果來運行。分析表明,亞穩(wěn)態(tài)是一種強大的技術(shù),盡管不是通用的技術(shù):它可以迅速將一個大的網(wǎng)絡(luò)移動到不可逆轉(zhuǎn)的狀態(tài),盡管它并不總是能保證做到這一點。
八卦算法是點對點網(wǎng)絡(luò)中出現(xiàn)的一種通信類型,它通常涉及對連接節(jié)點進行隨機采樣,然后接收信息。
Avalanche協(xié)議在很大程度上借鑒了八卦協(xié)議的原理,它還利用網(wǎng)絡(luò)節(jié)點的子采樣來實現(xiàn)協(xié)商共識。
要理解Avalanche協(xié)議是如何工作的,請考慮這個場景。想象一下,如果一個網(wǎng)絡(luò)中有一些不可信的節(jié)點,它們希望在兩種顏色(比如藍色或紅色)之間進行選擇。網(wǎng)絡(luò)中的一個節(jié)點會隨機選擇一些節(jié)點,并向它們提出問題。
被選擇為樣本組一部分的節(jié)點將用它們選擇的顏色向提問節(jié)點返回一個答案。使用來自樣本組的響應(yīng),提問節(jié)點將看到網(wǎng)絡(luò)正傾向于某種顏色。隨后,網(wǎng)絡(luò)中的每個節(jié)點都經(jīng)歷同樣的過程,從而在網(wǎng)絡(luò)內(nèi)部達成共識。
該協(xié)議可以被描述為一個循環(huán)的次抽樣投票過程。在樣本組中,第一輪投票后顏色之間出現(xiàn)平局的情況下,第二輪投票將以指數(shù)形式降低再次出現(xiàn)平局的概率。此外,此后的每一輪投票都會越來越減少平局的幾率。
這個特性被稱為亞穩(wěn)性; Avalanche協(xié)議被設(shè)計成最終降落在一個選擇上。協(xié)商共識機制的全部前提是確保網(wǎng)絡(luò)上各節(jié)點之間達成一致,并避免可能出現(xiàn)的連接。Avalanche的亞穩(wěn)態(tài)協(xié)議被設(shè)計成將網(wǎng)絡(luò)引向場景中的一種選擇。
回到顏色選擇示例,隨著每一輪投票,網(wǎng)絡(luò)將開始看到節(jié)點傾向于哪個顏色的模式。隨著每一輪投票的進行,網(wǎng)絡(luò)得出這一結(jié)論的速度都比前一輪快。在某一閾值下,網(wǎng)絡(luò)達到其最終狀態(tài),所有節(jié)點都決定了一種顏色。
利與弊
Avalanche的特點使它能夠支持難以置信的高速。rocket Team聲稱只需兩秒鐘就能達到最終狀態(tài)。這意味著只需要兩秒鐘就可以處理和驗證事務(wù)。開發(fā)人員還認為,Avalanche協(xié)議具有非常高的吞吐量,每秒可以處理1,000到10,000個事務(wù)。
另一個重要的特性是它的健壯性。Avalanche協(xié)議工作時不需要知道或同意參與網(wǎng)絡(luò)的節(jié)點的細節(jié)。網(wǎng)絡(luò)不需要就參與者的身份達成一致,就能達成不可否認的共識。
Avalanche協(xié)議也是有效的能源。因此,協(xié)商共識意見是通過專門的八卦協(xié)議達成的,從而消除了在工作證明和其他類似機制中使用同樣大量能源的需要。
此外,由于所有節(jié)點都是相似的,并且具有相同的能力,所以沒有特殊類別的節(jié)點,比如比特幣生態(tài)系統(tǒng)中的礦工。這減少了節(jié)點對網(wǎng)絡(luò)的影響。它還增加了網(wǎng)絡(luò)拜占庭式的容錯能力。簡單地說,即使網(wǎng)絡(luò)上50%的節(jié)點是不誠實或惡意的,網(wǎng)絡(luò)仍然是安全的。
另一個重要的特性(它可以被看作是優(yōu)點也可以看作缺點)是,對于沖突的事務(wù)沒有活躍性保證。這意味著,如果一個不誠實的節(jié)點試圖實現(xiàn)一個雙重支出,Avalanche協(xié)議將無法就這兩個操作達成一致。
與經(jīng)典協(xié)議和中本協(xié)議相反,Avalanche協(xié)議不能保證在這種情況下有選擇。缺乏共識將導(dǎo)致賠錢。懲罰是任何加密貨幣系統(tǒng)的基本特征,而Avalanche協(xié)議以一種有趣的方式解決了這一問題。缺乏活性保證就會對任何有意的惡意活動產(chǎn)生消極的作用。
雖然加密貨幣世界已經(jīng)對Avalanche協(xié)議表示支持,但是這個機制受到了首席開發(fā)人員Vlad Zamfir的批評,Casper表達了他的想法,即協(xié)議并不像它聲稱的那樣好或安全。他說:“它不是異步安全的,而是概率性的。”。