Na konferenci Solana Breakpoint, ki je potekala prejšnji teden, je vladalo živahno vzdušje ob predstavitvah izdelkov in različnih zanimivih spremljevalnih dogodkih. Izstopajoč dogodek je bila uradna predstavitev zgodnje različice odjemalca validatorja Solana Firedancer v glavnem omrežju.
Temu mejniku je bila namenjena posebna pozornost, saj je pomenil pomemben preskok v zmogljivosti omrežja Solana, hkrati pa je zmanjšal tveganje izpada omrežja zaradi odpovedi enega odjemalca.
Firedancer se je začel razvijati v letih 2021-2022 pod vodstvom skupine Jump Trading Group kot drugi odjemalec validatorja Solana (prvotnega odjemalca Agave je razvila družba Anza). Njegov glavni cilj je bil odpraviti posamezne točke odpovedi ter tako povečati splošno robustnost in odpornost omrežja.
Za razliko od prvotnega validatorja, ki temelji na Rustu, je Firedancer napisan v jeziku C, brez kode Rust. Ta izbira bistveno zmanjša potencialni vpliv ranljivosti na omrežje in Solani doda močno varnostno plast.
Kako deluje Firedancer?
Glavni znanstvenik podjetja Jump Crypto Kevin Bowers je na predstavitvi na konferenci Solana Breakpoint predstavil zmožnost podjetja Firedancer, da obdela več kot milijon transakcij na sekundo (TPS), kar močno presega trenutno teoretično omejitev podjetja Solana, ki znaša nekaj deset tisoč TPS. Ta dosežek je metaforično primerjal z razširitvijo “podeželske ceste” v “meddržavno avtocesto”, kar kaže na dvojno optimizacijo omrežnih stroškov in zmogljivosti.
Glavni inženir Liam Heeger je povedal, kako napreduje testno omrežje, in ugotovil, da je Firedancer uspešno ustvaril več kot 20.000 blokov z 1-odstotnim deležem vložkov. Drugi inženir, Aryaman Jain, je prikazal zmogljivost Firedancerja v posebnih pogojih in razkril TPS do milijona v okolju z 10 validatorji, z več kot 1,2 milijarde izračunov na sekundo in zmogljivostjo 3,5 Gb/s prostora za bloke.
Kako deluje program Firedancer?
Firedancer je zgrajen iz treh glavnih komponent: visokozmogljivega računalniškega sklada, omrežnega sklada ter mehanizmov za izvajanje in soglasje. Njegova zmožnost za povečanje zmogljivosti sistema Solana na 1 milijon TPS (trenutne omejitve protokola so približno 81 000 TPS) je v inovativni arhitekturi in optimizaciji pretoka podatkov.
Validator uporablja model sočasnosti, ki različna opravila izvaja v več nitih, pri čemer se vsaka nit osredotoča na posebna opravila, kot so obdelava omrežnih paketov, potrjevanje transakcij in pakiranje blokov. Takšna zasnova maksimalno izkorišča vire in znatno pospeši obdelavo transakcij.
Vsaka nit izvaja eno od 11 različnih opravil. Nekatera opravila zahtevajo le eno nit, pri drugih pa je treba vzporedno izvajati več niti. Vsaka nit deluje na posebnem procesorskem jedru, kar zagotavlja, da nikoli ne zaspi ali da jo operacijski sistem ne preusmeri.
Program Firedancer uvaja tudi arhitekturo, imenovano “ploščice”, kjer vsaka ploščica predstavlja opravilo, njegovo tekočo nit in dodeljeno procesorsko jedro. Ta kombinacija omogoča prilagodljivo in učinkovito nastavljanje zmogljivosti. Na primer, ploščici net in quic lahko obdelata več kot 1 milijon TPS, medtem ko se ploščici verify in bank osredotočata na potrjevanje transakcij in izvajanje blokov, kar zadostuje za scenarije z visoko valuto.
V uradni dokumentaciji programa Firedancer je navedenih naslednjih 11 ploščic:
- net: Pošilja in sprejema omrežne pakete (vsaka ploščica lahko prenese >1 milijon TPS);
- quic: (vsaka ploščica lahko obdeluje 1 milijon TPS);
- preverite .: potrjuje kriptografske podpise prejetih transakcij in izloča neveljavne (vsaka ploščica lahko obdeluje 20-40.000 TPS);
- dedup: preverja in filtrira podvojene dohodne transakcije;
- paket: Ko deluje kot vodja, pakira dohodne transakcije in jih pametno razporeja za izvajanje;
- banka: Izvaja načrtovane transakcije (vsaka ploščica lahko prenese 20-40.000 TPS);
- poh: neprekinjeno heširanje v ozadju, mešanje ustvarjenih hešev z izvedenimi transakcijami za dokazovanje vrstnega reda in časa;
- drobljenje: razpošilja blokovne podatke v omrežje, kadar deluje kot vodja; kadar ne, sprejema in ponovno pošilja blokovne podatke (prepustnost je odvisna predvsem od velikosti gruče, pri čemer primerjalna merila navajajo >1 milijon TPS za majhne gruče);
- trgovina: Prejema podatke o blokih, kadar deluje kot vodja, ali od drugih vozlišč, kadar so vodje, in jih shranjuje v lokalno diskovno zbirko podatkov;
- metrični: zbira informacije o spremljanju drugih ploščic in jih posreduje končnim točkam HTTP;
- znak: hrani validatorjev zasebni ključ in se odziva na zahteve za podpisovanje drugih ploščic.
Preden bo Firedancer dozorel, bo njegova prehodna različica, Frankendancer, že vstopila v glavno omrežje Solana. Frankendancer je hibrid kode Firedancerja in Agave, ki izkorišča Firedancerjeve prednosti pri omrežnem nizu in izdelavi blokov, hkrati pa ohranja Agavejeve funkcionalnosti izvajanja in konsenza. V nasprotju s tem je Firedancer v celoti zgrajen iz nič, brez kode Agave.
Kakšen je učinek programa Firedancer?
Zagon sistema Firedancer nedvomno pomembno vpliva na ekosistem Solana, saj močno povečuje raznolikost validatorjev in dodatno zmanjšuje tveganje posameznih točk odpovedi, s čimer krepi zanesljivost omrežja.
Poleg tega Firedancer ohranja povratno združljivost z obstoječimi protokoli, s čimer ekosistemu zagotavlja nemoten prehod, ne da bi od razvijalcev in uporabnikov aplikacij DApp zahteval bistvene prilagoditve.
Čeprav je Firedancer trenutno v načinu brez glasovalne pravice in se nenehno optimizira in revidira, daje optimistično sliko za prihodnji razvoj omrežja Solana.