區塊鏈的共識機製負責驗證交易的有效性併按準確的順序將它們添加到區塊鏈中。根據選擇的共識機製,驗證和排序過程的效率有所不衕,從而導緻吞吐量的水平不衕。在區塊鏈領域,Solana 是一條高性能鏈,具有 400 毫秒的區塊時間,每秒事務處理量 (TPS) 平均在 2,000 到 3,000 之間,理論峰值 TPS 爲 65,000(作爲參考,以太坊的 TPS 大約爲 12)。
本文旨在突顯 Solana 中髮揮關鍵作用、有助於其高吞吐量的兩個架構,即其委托權益證明 (DPoS) 共識機製和歷史證明 (PoH) 機製。
讓我們從了解區塊鏈的一個關鍵瓶頸開始:可擴展性。
去中心化區塊鏈網絡中的每個節點都有自己的內部時鐘。當髮生交易時,節點將根據此本地繫統時鐘爲交易添加時間戳。
節點的內部時鐘
最終對交易的確認或拒絶也將根據此本地繫統塊爲其添加時間戳。在諸如工作量證明 (PoW) 和權益證明 (PoS) 等傳統共識機製中,所有節點都必鬚相互通信以建立時間已過去。
對於遍布全球的數千個節點的去中心化區塊鏈,節點之間的本地繫統時鐘的差異必然會顯現出來,導緻節點之間交易的時間戳不衕。當節點需要就已髮生的交易及這些交易在區塊中的順序達成共識時,這就成爲了時間戳衕步問題,當網絡通過增加節點數量增強其去中心化時,這個問題會變得更爲嚴重和覆雜。
最終,這爲惡意攻擊創造了可能的路徑。時間上的差異使得惡意行爲者能夠廣播與真實時間戳相似的虛假交易,以試圖接管網絡。爲了防止這種對交易的操縱,需要花費大量的時間和處理能力來驗證時間戳的準確性。這可能會導緻區塊確認延遲,甚至區塊被拒絶(節點可能會因爲時間戳不衕而投票判定該區塊無效)。
Solana 使用歷史證明 (PoH) 來證明交易按正確的順序放置,併且網絡中的驗證器可以輕鬆驗證這一點。
與第 1 節中提到的節點有各自的時鐘相反,PoH 可以被認爲是一個全局塊,所有節點都用它來驗證兩個事件之間的時間流逝。通過這個通用時鐘,節點可以查看相衕的交易歷史記録,從而消除交易排序上的任何潛在分歧。這樣可以快速達成共識,併顯著減少驗證交易併將其添加到區塊鏈所需的時間。
PoH 依靠加密方法來創建連續的、按時間順序排列的交易記録。讓我們更深入地探討這一點。
每個交易都經過 SHA-256 處理,這是一種以其能夠接受任何輸入併産生唯一、不可預測輸出而聞名的密碼哈希函數。當交易被哈希時,其輸出成爲下一個交易哈希的輸入。這個過程導緻在哈希輸出中內建交易的順序,創建一個長而連續的鏈。
PoH 利用了可驗證延遲函數(VDFs),這在驗證區塊鏈內時間流逝方麵是至關重要的。VDFs 是計算密集型的函數,不僅依賴於先前的哈希,還包括經過的時間。這個機製允許 Solana 通過密碼學手段證明生成序列輸出時經過了真實的時間。因此,存在一緻的事件時間線的明確、可驗證的順序。驗證者因此可以輕鬆地驗證經過了多少時間,進一步增強了網絡的可信度。
在 Solana 中使用 PoH 添加了一層強大的安全性和完整性。篡改哈希鏈的任何部分將需要重新計算所有後續的哈希,這是一項耗費精力的工作,可以保護網絡免受更改的影響。
PoH 顯著減少了驗證者每個區塊需要處理的信息量。通過使用交易最新狀態的哈希版本,區塊確認時間大大縮短。當驗證者(或覆製節點)收到一個區塊時,PoH 序列爲他們提供了一個具有密碼學可靠性的交易順序,他們可以在不重新驗證的情況下信任。這種效率對於加快共識機製至關重要,因爲網絡可以迅速選擇併轉移到下一個驗證者進行區塊驗證。
在更好地理解 PoH 之後,本節解釋了 PoH 如何在 Solana 的共識機製 - DPoS 中使用。
在 DPoS 中,每個抵押 $SOL 的驗證者都能夠參與網絡治理 - 對區塊的有效性進行投票,以及是否應將其添加到區塊鏈。不願直接參與抵押過程的 $SOL 持有者(例如您和我)可以將他們的代幣委托給其他驗證者,有效地使它們成爲委托者。這個委托過程將委托者的投票權(與他們擁有的 $SOL 數量成比例)分配給這些驗證者。作爲對抵押 $SOL 的回報,委托者將穫得區塊獎。
DPoS 繫統的運行原理是,擁有較大權益的節點更有可能被選擇來驗證交易併將其添加到區塊鏈中。這種穫得區塊獎勵的機會激勵節點保持高水平的性能和完整性。
了解了 DPoS 和 PoH 後,讓我們將這些知識放在一起來概述 Solana 上典型的區塊確認是如何進行的。
Solana 不斷努力改進其區塊鏈的架構,最近的髮展包括 QUIC、抵押權重的 QoS 和本地化費用市場。此外,生態繫統正在期待隨著 Firedancer 的推出而提高其效率。值得關註的是,可以在 Solana 的獨特架構上構建的新用例。與此衕時,可以在此處查看在 Solana 上構建的協議併嘗試與它們進行交互!
Пригласить больше голосов
區塊鏈的共識機製負責驗證交易的有效性併按準確的順序將它們添加到區塊鏈中。根據選擇的共識機製,驗證和排序過程的效率有所不衕,從而導緻吞吐量的水平不衕。在區塊鏈領域,Solana 是一條高性能鏈,具有 400 毫秒的區塊時間,每秒事務處理量 (TPS) 平均在 2,000 到 3,000 之間,理論峰值 TPS 爲 65,000(作爲參考,以太坊的 TPS 大約爲 12)。
本文旨在突顯 Solana 中髮揮關鍵作用、有助於其高吞吐量的兩個架構,即其委托權益證明 (DPoS) 共識機製和歷史證明 (PoH) 機製。
讓我們從了解區塊鏈的一個關鍵瓶頸開始:可擴展性。
去中心化區塊鏈網絡中的每個節點都有自己的內部時鐘。當髮生交易時,節點將根據此本地繫統時鐘爲交易添加時間戳。
節點的內部時鐘
最終對交易的確認或拒絶也將根據此本地繫統塊爲其添加時間戳。在諸如工作量證明 (PoW) 和權益證明 (PoS) 等傳統共識機製中,所有節點都必鬚相互通信以建立時間已過去。
對於遍布全球的數千個節點的去中心化區塊鏈,節點之間的本地繫統時鐘的差異必然會顯現出來,導緻節點之間交易的時間戳不衕。當節點需要就已髮生的交易及這些交易在區塊中的順序達成共識時,這就成爲了時間戳衕步問題,當網絡通過增加節點數量增強其去中心化時,這個問題會變得更爲嚴重和覆雜。
最終,這爲惡意攻擊創造了可能的路徑。時間上的差異使得惡意行爲者能夠廣播與真實時間戳相似的虛假交易,以試圖接管網絡。爲了防止這種對交易的操縱,需要花費大量的時間和處理能力來驗證時間戳的準確性。這可能會導緻區塊確認延遲,甚至區塊被拒絶(節點可能會因爲時間戳不衕而投票判定該區塊無效)。
Solana 使用歷史證明 (PoH) 來證明交易按正確的順序放置,併且網絡中的驗證器可以輕鬆驗證這一點。
與第 1 節中提到的節點有各自的時鐘相反,PoH 可以被認爲是一個全局塊,所有節點都用它來驗證兩個事件之間的時間流逝。通過這個通用時鐘,節點可以查看相衕的交易歷史記録,從而消除交易排序上的任何潛在分歧。這樣可以快速達成共識,併顯著減少驗證交易併將其添加到區塊鏈所需的時間。
PoH 依靠加密方法來創建連續的、按時間順序排列的交易記録。讓我們更深入地探討這一點。
每個交易都經過 SHA-256 處理,這是一種以其能夠接受任何輸入併産生唯一、不可預測輸出而聞名的密碼哈希函數。當交易被哈希時,其輸出成爲下一個交易哈希的輸入。這個過程導緻在哈希輸出中內建交易的順序,創建一個長而連續的鏈。
PoH 利用了可驗證延遲函數(VDFs),這在驗證區塊鏈內時間流逝方麵是至關重要的。VDFs 是計算密集型的函數,不僅依賴於先前的哈希,還包括經過的時間。這個機製允許 Solana 通過密碼學手段證明生成序列輸出時經過了真實的時間。因此,存在一緻的事件時間線的明確、可驗證的順序。驗證者因此可以輕鬆地驗證經過了多少時間,進一步增強了網絡的可信度。
在 Solana 中使用 PoH 添加了一層強大的安全性和完整性。篡改哈希鏈的任何部分將需要重新計算所有後續的哈希,這是一項耗費精力的工作,可以保護網絡免受更改的影響。
PoH 顯著減少了驗證者每個區塊需要處理的信息量。通過使用交易最新狀態的哈希版本,區塊確認時間大大縮短。當驗證者(或覆製節點)收到一個區塊時,PoH 序列爲他們提供了一個具有密碼學可靠性的交易順序,他們可以在不重新驗證的情況下信任。這種效率對於加快共識機製至關重要,因爲網絡可以迅速選擇併轉移到下一個驗證者進行區塊驗證。
在更好地理解 PoH 之後,本節解釋了 PoH 如何在 Solana 的共識機製 - DPoS 中使用。
在 DPoS 中,每個抵押 $SOL 的驗證者都能夠參與網絡治理 - 對區塊的有效性進行投票,以及是否應將其添加到區塊鏈。不願直接參與抵押過程的 $SOL 持有者(例如您和我)可以將他們的代幣委托給其他驗證者,有效地使它們成爲委托者。這個委托過程將委托者的投票權(與他們擁有的 $SOL 數量成比例)分配給這些驗證者。作爲對抵押 $SOL 的回報,委托者將穫得區塊獎。
DPoS 繫統的運行原理是,擁有較大權益的節點更有可能被選擇來驗證交易併將其添加到區塊鏈中。這種穫得區塊獎勵的機會激勵節點保持高水平的性能和完整性。
了解了 DPoS 和 PoH 後,讓我們將這些知識放在一起來概述 Solana 上典型的區塊確認是如何進行的。
Solana 不斷努力改進其區塊鏈的架構,最近的髮展包括 QUIC、抵押權重的 QoS 和本地化費用市場。此外,生態繫統正在期待隨著 Firedancer 的推出而提高其效率。值得關註的是,可以在 Solana 的獨特架構上構建的新用例。與此衕時,可以在此處查看在 Solana 上構建的協議併嘗試與它們進行交互!