摘要:Avalanche 徹底改變了區塊鍊網絡的每一層,它採用了基於隨機抽樣的全新共識算法,這項創新高於其他一切。本文梳理自Avalanche DEX 平台Pangolin 創始人Connor Daly 在個人社交媒體平台上的觀點,律動BlockBeats 對其整理翻譯如下: Avalanche …
Avalanche 徹底改變了區塊鍊網絡的每一層,它採用了基於隨機抽樣的全新共識算法,這項創新高於其他一切。
本文梳理自Avalanche DEX 平台Pangolin 創始人Connor Daly 在個人社交媒體平台上的觀點,律動BlockBeats 對其整理翻譯如下:
Avalanche(雪崩協議)徹底改變了區塊鍊網絡的每一層,但它有一項創新高於其他一切。當我發現這一點時,立刻辭去了原本的工作,全身心地投入Avalanche 的事業中。
以下是關於Avalanche 的權威解讀。
首先,什麼是共識?
它是確保分佈式系統中的多個節點做出相同決定的機制,對於區塊鏈而言,最重要的決策是判定哪個區塊應該成為鏈上的新區塊。
在Avalanche 的共識機制問世前,有兩大系列的共識算法:Classical(經典式)和Nakamoto(中本聰式)。
Classical 的共識是通過多輪投票來實現的。網絡中的每個節點都要與其他節點進行通信,把自己的決定廣播出去。由於節點需要和整個網絡內的其他節點進行交流,因此,網絡節點的成員需要一個準確的協議成員列表。
Classical 共識算法在節點數量較少時很有效,但該算法的時間複雜度O(n^2 ) 特別高,導致節點網絡的運營成本巨大(往往與節點數量n 的二次方成正比)。同時,這種算法無法擴展到支持用戶流動的大型去中心化網絡。
一些採用Classical 共識算法的區塊鏈試圖掩蓋性能方面的不足。這些區塊鏈往往只讓一小部分驗證節點(validators)參與共識機制及出塊驗證過程,來蒙蔽用戶。在這類區塊鍊網絡中,表面存在1000 個驗證者,但實際上只有100 個驗證者參與共識決策。
第二大類共識算法派係是Nakamoto 共識。這就是比特幣及許多其他種類的加密貨幣所採用的。它採用「最長鏈原則」,默認消耗工作量最大的那條鏈有權威的歷史數據記錄。礦工不參與投票驗證,他們只進行哈希計算並將工作成果對外分發。
Nakamoto 共識算法的優勢在於,它可以擴展到大量的用戶而不損失性能。但問題在於,性能本來就不是很好。
任意數量的礦工節點可以隨意的參與或退出爆塊過程,這導致出塊的速度緩慢,並且隨時可進行區塊重組,導致鏈上存儲內容可變更。
你可能聽說過,比特幣網絡上的一筆交易在新出6 個區塊後,就完成了最終確定。但這只是概率達99% 的高概率事件,僅僅基於置信估計。
一個新區塊及其所在的鏈被網絡節點確認的次數越多,就越不可能有更長的鏈條分叉來取代之。但這並不能確保更長的鏈條分叉不會出現。
接下來介紹Avalanche 的共識機制。這是一類全新的共識算法,通過隨機二次抽樣(random subsampling)來實現。
該共識協議由包括Avalanche 聯合創始人Emin Gün Sirer、Ted Yin、kevin sekniqi 在內的康奈爾大學研究人員發明,並進行了標準化。
讓我們通過一個例子來介紹Avalanche 共識機制。
假設有1000 名會議參與者需要共同決定午餐吃什麼:披薩還是三明治。每個人都有一個最初的偏好,但他們需要在最終方案上達成一致。
作為參與者,你進行了一次小的隨機採樣,問了10 位參與者,他們想吃什麼。 7 個人說披薩。看起來大多數人都想吃披薩,所以現在若有人問你,你也會回答說想吃披薩。
接下來,你執行另一輪隨機採樣。你詢問另一組隨機抽到的10 個人,如果大多數人回答三明治,你就改變自己的偏好;而如果大多數人回答比薩,你會再次回答說想吃披薩。這樣下來,你在兩次抽樣調查後,得到的結果是一致的。
您可以繼續迭代此過程,直到連續100 次獲得相同的結果。此時,你認為最終決定已經完成。
由於節點在每輪抽樣調查中,只與固定數量的少量節點進行通信,所以單輪抽樣中消息傳遞的時間複雜度為O(1)(往往為常數級別)。與Classical 共識算法不同,消息傳遞的複雜度不會隨節點數量n 的增加而增加。
但是,需要多少輪隨機抽樣才能得到最終結果呢?這取決於網絡的大小。然而,它的複雜度是一個可控的O(log n)(與對數函數成正比,數量級低於一次函數)。
雪崩共識是基於概率統計的。一個節點可能只對少量節點進行重複採樣,並得出錯誤的結論。但該協議是可調參的。我們可以使這種情況發生的概率變為極小,比如低於0.0000000001%。
由於這種高度的可預見性,Avalanche 具有最終性。一旦網絡內的交易被決定,它們就被永遠鎖定在鏈上。 Avalanche 上不會有區塊重組。
這是Avalanche 共識機制的可視化效果展示。
https://twitter.com/das_connor/status/1470147125870841861
如果你仔細觀察,會發現抽取到某些節點後,多輪抽樣的最終結果便不可能逆轉。這就好像移動的雪花變為雪崩一樣。雪崩協議Avalanche 由此得名。
既然你知道了它是如何工作的,它又為何顯得重要?它能做什麼呢?
屬性1:該協議具有較高的運轉效率,限制因素主要在於消息延遲和網絡帶寬。
這意味著您可以在低配的硬件上接入Avalanche 網絡,不需要專門的挖礦設備,中間層的服務器就可以了. 一些用戶甚至在樹莓派微型計算機(Raspberry Pi)上運行Avalanche 驗證節點。
屬性2:該協議是靜態的,只在有工作需要處理的時候運行,沒有像工作量證明(POW)機制那樣的”浪費”。
屬性3:Avalanche 的共識算法是環保的。由於其硬件要求非常低,因此對環境的影響最小。 Avalanche 最近還與企業家Vinay 合作,以保證碳中和。
屬性4:Avalanche 共識算法的執行速度很快,在模擬實驗及實踐中,Avalanche 每秒可以處理4500 筆交易,並在1-2 秒內完成最終確定。
屬性5:Avalanche 可以使用任何形式的Sybil 保護機制。您可能聽說過Avalanche 是一個採用權益證明(POS)的區塊鏈。但POS 不是共識算法,這只是一種針對女巫攻擊(Sybil Attack)的保護機制。
Sybil 保護機制可以防止單個用戶操縱多個節點並偽裝成多個用戶。要運行多個驗證節點(validators),您需要擁有大量權益(stake),我們認為stake 是一種稀缺資源。
儘管Avalanche 協議需要Sybil 保護機制,但您也可以採用其他的任何方法。例如,您可以使用工作量證明(pow)重建Avalanche。
Avalanche 共識機制是具備可配置性的(系統能夠根據運行需要而被配置)。它實際上是一個全新的共識協議,沒有固定的代碼實現。
例如,您可以選擇設定網絡參數來優先考慮安全性或活躍性。
在Avalanche 區塊鏈中,我們對網絡進行了調整,使其高度安全。與針對比特幣的「51% 攻擊」不同,入侵Avalanche 需要80% 的節點串謀。
比特幣的「51% 攻擊」看起來像是一個中心化組織篡改歷史,並壓制少數派。而在Avalanche 中,80% 的節點串謀引發的安全故障,會導致網絡不同部分的節點做出不同的決策。 Avalanch 對安全性與活躍度進行了均衡考慮。如果1/3 的網絡節點離線,網絡運轉進程將放緩或停止,直到恢復到閾值(臨界點)水平。
原文作者:Connor Daly,Avalanche DEX 平台Pangolin 創始人
原文編譯:eternal,律動BlockBeats