Firedancer是什麼?如何運行?有何影響?在上周的 Solana Breakpoint 大會上,現場氣氛活躍,生態產品發佈接踵而至,各類豐富多彩的周邊活動更是錦上添花。在這場盛宴中,尤為引人註目的亮點是 Solana 驗證器客戶端 Firedancer 的早期版本正式登陸主網,這一裡程碑式的成就被賦予瞭特別的關註,標志著 Solana 網絡將在性能上將實現質的飛躍,同時可避免 Solana 上單一客戶端崩潰導致網絡宕機的風險。
那麼Firedancer是什麼?Firedancer如何運行?Firedancer有何影響?下面就和腳本之傢小編一起詳細瞭解下吧!
Firedancer 是什麼?
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 網絡的未來發展描繪瞭一幅更加充滿希望的藍圖。
以上就是腳本之傢小編給大傢分享的Firedancer是什麼?如何運行?有何影響?希望大傢喜歡!
原创文章,作者:fanbi,如若转载,请注明出处:http://fanbi.net/btc/4797