解析 Solana 共識機制:委託權益證明和歷史證明



本文旨在突出 Solana 中發揮關鍵作用、有助於其高吞吐量的兩個架構:DPoS和PoH。

撰文:Cookies Research

編譯:Block unicorn

區塊鏈的共識機制負責驗證交易的有效性,並將它們按準確的順序添加到區塊鏈中。根據選擇的共識機制,驗證和排序過程的效率不同,從而導致不同水準的吞吐量。在區塊鏈領域,Solana 是一條高性能鏈,具有 400 毫秒的區塊時間,每秒交易數(TPS)平均在 2,000 到 3,000 之間,理論上的峰值 TPS 為 65,000(供參考,以太坊的 TPS 大約為 12)。

本文旨在突出 Solana 中發揮關鍵作用、有助於其高吞吐量的兩個架構,即其委託權益證明(DPoS)共識機制和歷史證明(PoH)機制。

1.傳統共識機制

讓我們從瞭解區塊鏈的一個關鍵瓶頸開始:可拓展性。

分佈式區塊鏈網路中的每個節點都有自己的內部時鐘,它按照這個本地系統時鐘運行。當發生交易時,節點將根據這個本地系統時鐘為交易添加時間戳。

下面圖片是展示節點內部的時鐘:

解析 Solana 共識機制:委託權益證明和歷史證明插图1

最終確認或拒絕交易的時間戳也將根據這個本地系統區塊進行。在傳統的共識機制(例如工作量證明 PoW 和權益證明 PoS)中,所有的節點需要相互溝通,以協調彼此的本地時鐘,以確保它們在處理交易時對時間的理解是一致的。節點之間的通信有助於建立一個共同的時間基準,以確保整個網路對時間的認知是一致的,從而協調交易的順序和確認。

解析 Solana 共識機制:委託權益證明和歷史證明插图3

對於一個分佈式區塊鏈,有成千上萬個節點分佈在全球各地,節點之間的本地系統時鐘存在差異是不可避免的,導致交易的時間戳在不同節點之間不一致。當節點需要就發生了哪些交易以及這些交易在區塊中的順序達成共識時,這就成為一個問題。這被稱為時間戳同步問題,當網路通過增加節點數量來增強去中心化時,這個問題會變得更加嚴重和複雜。

解析 Solana 共識機制:委託權益證明和歷史證明插图5

最終,這為惡意攻擊創造了一條可能的路徑。時間上的差異使惡意行為者能夠廣播類似於真實時間戳的虛假交易,試圖掌控網路。為防止對交易的操縱,需要花費大量的時間和處理能力來驗證時間戳的準確性。這有可能導致區塊確認的延遲,甚至區塊被拒絕(因為節點可能投票認為區塊無效,原因是具有不同的時間戳)。

2.什麼是歷史證明(PoH)

歷史證明(PoH)在 Solana 中用於證明交易被正確地按順序排列,而這可以由網路中的驗證者輕鬆驗證。

與第一節提到的節點各自擁有其獨立時鐘的情況相反,PoH 可以被視為一個全局塊,所有節點都使用它來驗證兩個事件之間時間的流逝。通過這個全局時鐘,節點查看相同的交易歷史記錄,摒棄了對交易順序可能存在的任何分歧。這使得共識可以迅速達成,極大地縮短了交易被驗證並添加到區塊鏈的時間。

PoH 依賴於一種加密方法,以創建交易的連續、按時間順序的記錄。讓我們深入瞭解一下。

3.對 PoH 的技術深入探討

每個交易都經過 SHA-256 處理,這是一種以其能夠接受任何輸入並生成唯一、不可預測輸出而聞名的加密哈希函數。當一個交易被哈希時,其輸出成為下一個交易哈希的輸入。這個過程在哈希輸出中建立了交易的內置順序,形成了一個長而連續的鏈。

PoH(歷史證明)利用了可驗證延遲函數(VDF),它在區塊鏈中驗證時間流逝的重要性。VDF 是計算密集型的函數,不僅依賴於先前的哈希,還包含經過的時間。這個機制允許 Solana 以加密的方式展示真實時間已經過去,生成連續的輸出。因此,存在清晰、可驗證的交易順序,確保了一致的事件時間軸。驗證者因此可以輕鬆驗證經過的時間有多長,進一步增強了網路的可信度。

在 Solana 中使用 PoH(歷史證明)添加了一個強大的安全和完整性層。篡改哈希鏈的任何部分都會需要重新計算所有後續的哈希,這是一項努力密集型的工作,可保護網路免受更改的影響。

PoH(歷史證明)顯著減少了驗證者每個區塊需要處理的資訊量。通過使用交易最新狀態的哈希版本,區塊確認時間被大幅縮短。當驗證者(或複製節點)收到一個區塊時,PoH(歷史證明)序列為它們提供了一個具有加密可靠的交易順序,他們可以在無需重新驗證的情況下信任。這種效率對於加快共識機制至關重要,因為網路可以迅速選擇並轉移到下一個驗證者進行區塊驗證。

4.委託權益證明(DPoS)

在更好地瞭解 PoH 的基礎上,本節將解釋 PoH 如何在 Solana 的共識機制中(DPoS)得到應用。

解析 Solana 共識機制:委託權益證明和歷史證明插图7

在 DPoS 中,每個抵押了 $SOL 的驗證者都能夠參與網路治理——對區塊的有效性進行投票,決定是否將其添加到區塊鏈中。不願直接參與權益證明過程的 $SOL 持有者(包括您和我)可以將其代幣委託給其他驗證者,從而有效地使它們成為委託人。這個委託過程將委託人的投票權(與他們擁有的 $SOL 數量成比例)分配給這些驗證者。作為抵押 $SOL 的回報,委託人將獲得區塊獎勵的一部分。

DPoS 系統的運作原則是,具有較大權益的節點更有可能被選擇來驗證交易並將其添加到區塊鏈中,獲得區塊獎勵的機會鼓勵節點保持高水平的性能和完整性。

在瞭解了 DPoS 和 PoH 兩者之後,讓我們將這些知識結合起來,概述一下在 Solana 上典型的區塊確認是什麼樣的。

5. Solana 共識機制的高層概述

1.領導節點的選擇:領導節點負責生成 PoH 序列(歷史證明排序交易)和創建區塊。

這個選擇過程是基於節點的權益權重的,這個權重通過代幣持有人委託給它們而增加。領導角色將在驗證者之間輪換。

2.為交易添加時間戳:領導節點將接收交易,並使用 PoH 為它們添加時間戳,形成交易順序。

3.區塊創建:通過來自 PoH 的序列,領導節點隨後開始創建一個區塊。

4.區塊傳播:新創建的區塊將被髮送到複製節點(分佈式網路中的其他驗證者)。

5.交易有效性驗證,複製節點將驗證以下兩個組成部分:

a.交易順序:使用 PoH 序列驗證交易是否按正確順序排列。由於它是一個全局時鐘,這種驗證不需要節點之間的往返通信(與常見的共識機制如 PoW 和 PoS 不同)。

b.交易有效性:檢查交易是否符合網路規則並且有效。

6.區塊最終化:在驗證了交易順序和有效性之後,該區塊將被添加到區塊鏈中。然後將選擇下一個領導節點,並且整個過程重新開始。

結論

Solana 一直不懈努力改進其區塊鏈架構,最近的發展包括 QUIC、權益加權的 QoS 和本地化費用市場。此外,生態系統期待著通過 Firedancer 的推出顯著提高其效率。值得關注的是,Solana 獨特的架構——OPOS(僅限 Solana)可能會帶來新的用例。

聯系郵箱:0xniumao@gmail.com