firedancer是什么?如何運(yùn)行?有何影響?在上周的 solana breakpoint 大會(huì)上,現(xiàn)場(chǎng)氣氛活躍,生態(tài)產(chǎn)品發(fā)布接踵而至,各類豐富多彩的周邊活動(dòng)更是錦上添花。在這場(chǎng)盛宴中,尤為引人注目的亮點(diǎn)是 solana 驗(yàn)證器客戶端 firedancer 的早期版本正式登陸主網(wǎng),這一里程碑式的成就被賦予了特別的關(guān)注,標(biāo)志著 solana 網(wǎng)絡(luò)將在性能上將實(shí)現(xiàn)質(zhì)的飛躍,同時(shí)可避免 solana 上單一客戶端崩潰導(dǎo)致網(wǎng)絡(luò)宕機(jī)的風(fēng)險(xiǎn)。
那么Firedancer是什么?Firedancer如何運(yùn)行?Firedancer有何影響?下面就和本站小編一起詳細(xì)了解下吧!
Firedancer 是什么?
Firedancer 的開發(fā)歷程可追溯至于 2021 年至 2022 年,作為由 Jump Trading Group 主導(dǎo)開發(fā)的 Solana 第二個(gè)驗(yàn)證器客戶端(原有客戶端 Agave 由 Anza 開發(fā)),其設(shè)計(jì)初衷在于消除單點(diǎn)故障隱患,增強(qiáng)網(wǎng)絡(luò)的整體穩(wěn)健性和堅(jiān)韌性。與原有基于 Rust 的驗(yàn)證器不同,F(xiàn)iredancer 采用 C 語言編寫,不包含 Rust 代碼,這一選擇顯著降低了潛在漏洞對(duì)整個(gè)網(wǎng)絡(luò)的影響,為 Solana 的安全性加上了又一道堅(jiān)固的防線。
Firedancer 表現(xiàn)如何?
根據(jù) Jump Crypto 首席科學(xué)官 Kevin Bowers 在 Solana Breakpoint 大會(huì)上的演示,F(xiàn)iredancer 展示了每秒處理超過 100 萬筆交易的能力,這一數(shù)字遠(yuǎn)超 Solana 當(dāng)前理論上的幾萬 TPS 極限。Kevin Bowers 還將這一成就形象地比喻為將「鄉(xiāng)間小路」拓寬為「州際公路」,預(yù)示著網(wǎng)絡(luò)成本和容量的雙重優(yōu)化。
Jump Trading 的核心工程師 Liam Heeger 則分享了 Firedancer 在測(cè)試網(wǎng)上的進(jìn)展,該客戶端已成功產(chǎn)出超過 2 萬個(gè)區(qū)塊,并實(shí)現(xiàn)了 1% 的質(zhì)押比例。
另一工程師 Aryaman Jain 的演示進(jìn)一步揭示了 Firedancer 在特定條件下的表現(xiàn),如在 10 個(gè)驗(yàn)證器環(huán)境下,其 TPS 可達(dá)百萬級(jí)別,每秒處理計(jì)算單元超過 12 億次,同時(shí)展現(xiàn)出 3.5 Gbps 的 Blockspace 能力和 50 萬 TPS 的 VM 執(zhí)行效率。
Firedancer 如何運(yùn)行?
Firedancer 圍繞高性能計(jì)算堆棧和網(wǎng)絡(luò)堆棧、Runtime 和共識(shí)機(jī)制三個(gè)主要組成部分構(gòu)建。Firedancer 之所以能夠?qū)?Solana 網(wǎng)絡(luò)的性能提升至 100 萬 TPS(當(dāng)前協(xié)議級(jí)別的限制將性能限制在 81,000 TPS 左右),關(guān)鍵在于其創(chuàng)新的架構(gòu)設(shè)計(jì)和數(shù)據(jù)流優(yōu)化。
該驗(yàn)證器采用了一種并發(fā)模型,通過少量線程執(zhí)行多樣化的作業(yè),每個(gè)線程都專注于特定的任務(wù),如網(wǎng)絡(luò)數(shù)據(jù)包處理、交易驗(yàn)證、區(qū)塊打包等。這種設(shè)計(jì)實(shí)現(xiàn)了資源的最大化利用與交易處理速度的顯著提升。
具體來說,每個(gè)線程執(zhí)行 11 個(gè)不同的作業(yè)之一。有些作業(yè)只需要一個(gè)線程來完成它們,但某些作業(yè)需要許多線程并行執(zhí)行相同的工作。另外,每個(gè)線程都有一個(gè) CPU core 來運(yùn)行,并且線程擁有該 core 的所有權(quán):永遠(yuǎn)不會(huì)休眠或讓操作系統(tǒng)將其用于其他目的。
Firedancer 還引入了一個(gè)名為「tiles」的架構(gòu),每種 tile 代表了一個(gè)作業(yè)及其運(yùn)行的線程和分配的 CPU core。這種組合方式使得性能調(diào)優(yōu)變得靈活而高效。例如,net 和 quic 的每 tile 可處理 >100 萬 TPS,而 verify 和 bank tiles 則專注于交易驗(yàn)證和區(qū)塊執(zhí)行,盡管它們的處理速度相對(duì)較低,但足以滿足高并發(fā)場(chǎng)景下的需求。
Firedancer 官方文檔中列出了 11 種 tile,分別為:
net:從網(wǎng)絡(luò)設(shè)備發(fā)送和接收網(wǎng)絡(luò)數(shù)據(jù)包(每 tile 可處理 >100 萬 TPS);
quic:接收來自客戶端的交易,執(zhí)行所有連接管理和數(shù)據(jù)包處理以管理和實(shí)施 QUIC 協(xié)議(每 tile 可處理 >100 萬 TPS);
verify:驗(yàn)證傳入交易的加密簽名,過濾無效交易(每 tile 可處理 20-4 萬 TPS);
dedup:檢查并過濾掉重復(fù)的傳入交易;
pack:當(dāng)成為 leader 時(shí),打包傳入的交易并智能地安排它們執(zhí)行;
bank:執(zhí)行被安排的交易(每 tiles 可處理 20-4 萬 TPS);
poh:是一種連續(xù)在后臺(tái)進(jìn)行哈希運(yùn)算的機(jī)制,將生成的哈希值與已執(zhí)行的交易混合在一起,從而證明順序性和時(shí)間性。
shred:當(dāng)成為 leader 時(shí),向網(wǎng)絡(luò)分發(fā)區(qū)塊數(shù)據(jù);非 leader 時(shí),接收并重傳區(qū)塊數(shù)據(jù)(吞吐量主要取決于集群大小。在基準(zhǔn)測(cè)試中,如果集群規(guī)模較小,1 個(gè) tile 可以處理>100 萬 TPS);
store:當(dāng)成為 leader 時(shí)接收區(qū)塊數(shù)據(jù),或者當(dāng)其他節(jié)點(diǎn)是 leader 時(shí)從其他節(jié)點(diǎn)接收區(qū)塊數(shù)據(jù),并將其存儲(chǔ)在本地磁盤上的數(shù)據(jù)庫中;
metric:收集有關(guān)其他 tiles 的監(jiān)控信息并將其提供給 HTTP 端點(diǎn);
sign:持有驗(yàn)證者私鑰,并接收和響應(yīng)來自其他 tile 的簽名請(qǐng)求。
值得注意的是,在 Firedancer 成熟之前,其過渡版本 Frankendancer 已先行一步進(jìn)入 Solana 主網(wǎng)。Frankendancer 是 Firedancer 和 Agave 部分代碼的混合體,結(jié)合了 Firedancer 在網(wǎng)絡(luò)堆棧和區(qū)塊生產(chǎn)方面的優(yōu)勢(shì),同時(shí)保留了 Agave 在執(zhí)行和共識(shí)方面的功能。而 Firedancer 則是完全從頭開始構(gòu)建,不包含任何 Agave 的代碼。
Firedancer 有何影響?
無疑,F(xiàn)iredancer 的推出對(duì) Solana 生態(tài)系統(tǒng)具有重大影響,將極大地豐富驗(yàn)證器的多樣性,進(jìn)一步削弱單點(diǎn)故障對(duì)網(wǎng)絡(luò)穩(wěn)定性的影響,為 Solana 網(wǎng)絡(luò)的可靠性筑起一座更加堅(jiān)固的堡壘。
此外,F(xiàn)iredancer 保持了與現(xiàn)有協(xié)議的向后兼容性,能夠確保生態(tài)系統(tǒng)的平穩(wěn)過渡,無需 DApp 開發(fā)者及用戶做出重大調(diào)整。
盡管目前 Firedancer 仍處于非投票模式,且需經(jīng)歷持續(xù)不斷的優(yōu)化與審核,但這為 Solana 網(wǎng)絡(luò)的未來發(fā)展描繪了一幅更加充滿希望的藍(lán)圖。
以上就是Firedancer是什么?如何運(yùn)行?有何影響?的詳細(xì)內(nèi)容
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。