在上週的 Solana Breakpoint 大會上,現場氣氛活躍,生態產品發佈接踵而至,各類豐富多彩的周邊活動更是錦上添花。在這場盛宴中,尤為引人注目的亮點是 Solana 驗證器客戶端 Firedancer 的早期版本正式登入主網,這一里程碑式的成就被賦予了特別的關注,象徵著 Solana 網路將在性能上將實現質的飛躍,同時可避免 Solana 上單一客戶端崩潰導致網路宕機的風險。

Firedancer 的開發歷程可追溯至於 2021 年至 2022 年,作為由 Jump Trading Group 主導開發的 Solana 第二個驗證器客戶端(原有客戶端 Agave 由 Anza 開發),其設計初衷在於消除單點故障隱患,增強網路的整體穩健性和堅韌性。與原有基於 Rust 的驗證器不同,Firedancer 採用 C 語言編寫,不包含 Rust 程式碼,這一選擇顯著降低了潛在漏洞對整個網路的影響,為 Solana 的安全性加上了又一道堅固的防線。

Firedancer 表現如何?

根據 Jump Crypto 首席科學官 Kevin Bowers 在 Solana Breakpoint 大會上的演示,Firedancer 展示了每秒處理超過 100 萬筆交易的能力,這一數位遠超 Solana 目前理論上的幾萬 TPS 極限。Kevin Bowers 還將這一成就形象地比喻為將「鄉間小路」拓寬為「州際公路」,預示著網路成本和容量的雙重優化。

圖源:Foresight News

Jump Trading 的核心工程師 Liam Heeger 則分享了 Firedancer 在測試網上的進展,該客戶端已成功產出超過 2 萬個區塊,並實現了 1% 的質押比例。

另一工程師 Aryaman Jain 的演示進一步揭示了 Firedancer 在特定條件下的表現,如在 10 個驗證器環境下,其 TPS 可達百萬級別,每秒處理計算單元超過 12 億次,同時展現出 3.5 Gbps 的 Blockspace 能力和 50 萬 TPS 的 VM 執行效率。

圖源:Foresight News

Firedancer 如何運行?

Firedancer 圍繞高性能計算堆棧和網路堆棧、Runtime 和共識機制三個主要組成部分構建。Firedancer 之所以能夠將 Solana 網路的性能提升至 100 萬 TPS(目前協議級別的限制將性能限制在 81,000 TPS 左右),關鍵在於其創新的架構設計和數據流優化。

該驗證器採用了一種併發模型,通過少量線程執行多樣化的作業,每個線程都專注於特定的任務,如網路數據包處理、交易驗證、區塊打包等。這種設計實現了資源的最大化利用與交易處理速度的顯著提升。

圖源:Foresight News

具體來說,每個線程執行 11 個不同的作業之一。有些作業只需要一個線程來完成它們,但某些作業需要許多線程並行執行相同的工作。另外,每個線程都有一個 CPU core 來運行,並且線程擁有該 core 的所有權:永遠不會休眠或讓作業系統將其用於其它目的。

Firedancer 還引入了一個名為「tiles」的架構,每種 tile 代表了一個作業及其運行的線程和分配的 CPU core。這種組合方式使得性能調優變得靈活而高效。例如,net 和 quic 的每 tile 可處理 >100 萬 TPS,而 verify 和 bank tiles 則專注於交易驗證和區塊執行,儘管它們的處理速度相對較低,但足以滿足高併發場景下的需求。

Firedancer 官方文檔中列出了 11 種 tile,分別為:

  1. net:從網路設備發送和接收網路數據包(每 tile 可處理 >100 萬 TPS);

  2. quic:接收來自客戶端的交易,執行所有連接管理和數據包處理以管理和實施 QUIC 協議(每 tile 可處理 >100 萬 TPS);

  3. verify:驗證傳入交易的加密簽名,過濾無效交易(每 tile 可處理 20-4 萬 TPS);

  4. dedup:檢查並過濾掉重復的傳入交易;

  5. pack:當成為 leader 時,打包傳入的交易並智慧地安排它們執行;

  6. bank:執行被安排的交易(每 tiles 可處理 20-4 萬 TPS);

  7. poh:是一種連續在後台進行哈希運算的機制,將生成的哈希值與已執行的交易混合在一起,從而證明順序性和時間性。

  8. shred:當成為 leader 時,向網路分發區塊數據;非 leader 時,接收並重傳區塊數據(吞吐量主要取決於集群大小。在基準測試中,如果集群規模較小,1 個 tile 可以處理>100 萬 TPS);

  9. store:當成為 leader 時接收區塊數據,或者當其它節點是 leader 時從其它節點接收區塊數據,並將其儲存在本地磁盤上的數據庫中;

  10. metric:收集有關其它 tiles 的監控資訊並將其提供給 HTTP 端點;

  11. sign:持有驗證者私鑰,並接收和響應來自其它 tile 的簽名請求。

值得注意的是,在 Firedancer 成熟之前,其過渡版本 Frankendancer 已先行一步進入 Solana 主網。Frankendancer 是 Firedancer 和 Agave 部分程式碼的混合體,結合了 Firedancer 在網路堆棧和區塊生產方面的優勢,同時保留了 Agave 在執行和共識方面的功能。而 Firedancer 則是完全從頭開始構建,不包含任何 Agave 的程式碼。

Firedancer 有何影響?

無疑,Firedancer 的推出對 Solana 生態系具有重大影響,將極大地豐富驗證器的多樣性,進一步削弱單點故障對網路穩定性的影響,為 Solana 網路的可靠性築起一座更加堅固的堡壘。

此外,Firedancer 保持了與現有協議的向後兼容性,能夠確保生態系的平穩過渡,無需 DApp 開發者及使用者做出重大調整。

儘管目前 Firedancer 仍處於非投票模式,且需經歷持續不斷的優化與審核,但這為 Solana 網路的未來發展描繪了一幅更加充滿希望的藍圖。

【免責聲明】市場有風險,投資需謹慎。本文不構成投資建議,使用者應考慮本文的任何意見、觀點或結論是否符合其特定狀況。據此投資,責任自負。

  • 本文經授權轉載自:《Foresight News》

  • 原文作者:Karen, Foresight News