在上周的 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 還將這一成就形象地比喻為將「鄉間小路」拓寬為「州際公路」,預示著網絡成本和容量的雙重優化。
Jump Trading 的核心工程師 Liam Heeger 則分享了 Firedancer 在測試網上的進展,該客戶端已成功產出超過 2 萬個區塊,并實現了 1% 的質押比例。
另一工程師 Aryaman Jain 的演示進一步揭示了 Firedancer 在特定條件下的表現,如在 10 個驗證器環境下,其 TPS 可達百萬級別,每秒處理計算單元超過 12 億次,同時展現出 3.5 Gbps 的 Blockspace 能力和 50 萬 TPS 的 VM 執行效率。
Firedancer 如何運行?
Firedancer 圍繞高性能計算堆棧和網絡堆棧、Runtime 和共識機制三個主要組成部分構建。Firedancer 之所以能夠將 Solana 網絡的性能提升至 100 萬 TPS(當前協議級別的限制將性能限制在 81,000 TPS 左右),關鍵在于其創新的架構設計和數據流優化。
該驗證器采用了一種并發模型,通過少量線程執行多樣化的作業,每個線程都專注于特定的任務,如網絡數據包處理、交易驗證、區塊打包等。這種設計實現了資源的最大化利用與交易處理速度的顯著提升。
具體來說,每個線程執行 11 個不同的作業之一。有些作業只需要一個線程來完成它們,但某些作業需要許多線程并行執行相同的工作。另外,每個線程都有一個 CPU core 來運行,并且線程擁有該 core 的所有權:永遠不會休眠或讓操作系統將其用于其他目的。
Firedancer 還引入了一個名為「tiles」的架構,每種 tile 代表了一個作業及其運行的線程和分配的 CPU core。這種組合方式使得性能調優變得靈活而高效。例如,net 和 quic 的每 tile 可處理 >100 萬 TPS,而 verify 和 bank tiles 則專注于交易驗證和區塊執行,盡管它們的處理速度相對較低,但足以滿足高并發場景下的需求。
Firedancer 官方文檔中列出了 11 種 tile,分別為:
- net:從網絡設備發送和接收網絡數據包(每 tile 可處理 >100 萬 TPS);
- quic:接收來自客戶端的交易,執行所有連接管理和數據包處理以管理和實施 QUIC 協議(每 tile 可處理 >100 萬 TPS);
- verify:驗證傳入交易的加密簽名,過濾無效交易(每 tile 可處理 20-4 萬 TPS);
- dedup:檢查并過濾掉重復的傳入交易;
- pack:當成為 leader 時,打包傳入的交易并智能地安排它們執行;
- bank:執行被安排的交易(每 tiles 可處理 20-4 萬 TPS);
- poh:是一種連續在后臺進行哈希運算的機制,將生成的哈希值與已執行的交易混合在一起,從而證明順序性和時間性。
- shred:當成為 leader 時,向網絡分發區塊數據;非 leader 時,接收并重傳區塊數據(吞吐量主要取決于集群大小。在基準測試中,如果集群規模較小,1 個 tile 可以處理>100 萬 TPS);
- store:當成為 leader 時接收區塊數據,或者當其他節點是 leader 時從其他節點接收區塊數據,并將其存儲在本地磁盤上的數據庫中;
- metric:收集有關其他 tiles 的監控信息并將其提供給 HTTP 端點;
- sign:持有驗證者私鑰,并接收和響應來自其他 tile 的簽名請求。
值得注意的是,在 Firedancer 成熟之前,其過渡版本 Frankendancer 已先行一步進入 Solana 主網。Frankendancer 是 Firedancer 和 Agave 部分代碼的混合體,結合了 Firedancer 在網絡堆棧和區塊生產方面的優勢,同時保留了 Agave 在執行和共識方面的功能。而 Firedancer 則是完全從頭開始構建,不包含任何 Agave 的代碼。
Firedancer 有何影響?
無疑,Firedancer 的推出對 Solana 生態系統具有重大影響,將極大地豐富驗證器的多樣性,進一步削弱單點故障對網絡穩定性的影響,為 Solana 網絡的可靠性筑起一座更加堅固的堡壘。
此外,Firedancer 保持了與現有協議的向后兼容性,能夠確保生態系統的平穩過渡,無需 DApp 開發者及用戶做出重大調整。
盡管目前 Firedancer 仍處于非投票模式,且需經歷持續不斷的優化與審核,但這為 Solana 網絡的未來發展描繪了一幅更加充滿希望的藍圖。
以上就是Breakpoint 上備受矚目的 Firedancer 究竟是什么?的詳細內容
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。