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