Cum funcționează clientul de validare Solana Firedancer? Cum funcționează?
Scris de: Karen, Foresight News
La conferința Solana Breakpoint de săptămâna trecută, atmosfera a fost plină de viață, lansările de produse ecologice au urmat una după alta, iar diverse activități periferice colorate au fost cireașa de pe tort. La această sărbătoare, un punct culminant deosebit de atrăgător a fost faptul că versiunea timpurie a clientului de validare Solana, Firedancer, a aterizat oficial pe rețeaua principală salt, evitând în același timp riscul de întrerupere a rețelei cauzat de o prăbușire a unui singur client pe Solana.
Procesul de dezvoltare a Firedancer poate fi urmărit din 2021 până în 2022. Fiind al doilea client validator al Solana dezvoltat de Jump Trading Group (clientul original Agave a fost dezvoltat de Anza), designul său original este de a elimina pericolul ascuns al unui singur punct de eșec. Îmbunătățiți robustețea și rezistența generală a rețelei. Spre deosebire de validatorul original bazat pe Rust, Firedancer este scris în limbajul C și nu conține cod Rust. Această alegere reduce semnificativ impactul potențialelor vulnerabilități asupra întregii rețele și adaugă o altă linie solidă de apărare la securitatea Solana.
Cum funcționează Firedancer?
Conform unei demonstrații a directorului științific al Jump Crypto, Kevin Bowers, la conferința Solana Breakpoint, Firedancer a demonstrat capacitatea de a procesa mai mult de 1 milion de tranzacții pe secundă, un număr care depășește cu mult limita actuală teoretică a TPS a Solana de zeci de mii. Kevin Bowers a asemănat, de asemenea, această realizare cu lărgirea „drumurilor de țară” în „autostrăzi interstatale”, ceea ce anunță optimizarea duală a costurilor și capacității rețelei.
Liam Heeger, inginer principal la Jump Trading, a împărtășit progresul Firedancer pe testnet. Clientul a produs cu succes peste 20.000 de blocuri și a atins un raport de gaj de 1%.
Demonstrația unui alt inginer Aryaman Jain a dezvăluit în continuare performanța lui Firedancer în condiții specifice Eficiență de execuție a VM de 500.000 TPS.
Cum funcționează Firedancer?
Firedancer este construit în jurul a trei componente principale: stivă de calcul de înaltă performanță și stivă de rețea, timp de execuție și mecanism de consens. Cheia capacității Firedancer de a crește performanța rețelei Solana la 1 milion TPS (limitările actuale la nivel de protocol limitează performanța la aproximativ 81.000 TPS) este designul său arhitectural inovator și optimizarea fluxului de date.
Validatorul adoptă un model de concurență pentru a efectua diverse sarcini printr-un număr mic de fire de execuție, fiecare fir concentrându-se pe sarcini specifice, cum ar fi procesarea pachetelor de rețea, verificarea tranzacțiilor, ambalarea blocurilor etc. Acest design maximizează utilizarea resurselor și crește semnificativ viteza de procesare a tranzacțiilor.
Mai exact, fiecare thread execută una dintre cele 11 joburi diferite. Unele joburi necesită un singur fir pentru a le finaliza, dar unele joburi necesită mai multe fire pentru a efectua aceeași muncă în paralel. În plus, fiecare fir de execuție are un nucleu CPU pe care să ruleze, iar firul de execuție preia stăpânirea acelui nucleu: nu poate niciodată să dorm sau să lase sistemul de operare să-l folosească în alte scopuri.
Firedancer introduce, de asemenea, o arhitectură numită „tiles”. Această combinație face reglarea performanței flexibilă și eficientă. De exemplu, net și quic pot gestiona > 1 milion de TPS per țiglă, în timp ce țigurile de verificare și bancă se concentrează pe verificarea tranzacțiilor și execuția blocurilor Deși viteza lor de procesare este relativ scăzută, este suficientă pentru a răspunde nevoilor scenariilor de concurență ridicată.
Documentația oficială Firedancer enumeră 11 tipuri de plăci, și anume:
net: Trimiteți și primiți pachete de rețea de la dispozitivele de rețea (poate gestiona >1 milion TPS per tile);
quic: primește tranzacții de la clienți, efectuează toate gestionarea conexiunilor și procesarea pachetelor pentru a gestiona și a aplica protocolul QUIC (poate gestiona >1 milion TPS per tile);
verifica: Verificați semnătura criptată a tranzacțiilor primite și filtrați tranzacțiile invalide (fiecare țiglă poate gestiona 200.000-40.000 TPS);
dedup: verificați și filtrați tranzacțiile primite duplicate;
pack: Când devii lider, împachetează tranzacțiile primite și programează în mod inteligent execuția lor;
banca: executa tranzactii aranjate (fiecare tigla poate gestiona 200.000-40.000 TPS);
poh: este un mecanism care efectuează continuu operațiuni hash în fundal, amestecând valorile hash generate cu tranzacțiile executate, dovedind astfel secvența și sincronizarea.
shred: Când deveniți un lider, distribuiți date de bloc în rețea atunci când nu este lider, primiți și retransmiteți datele de bloc (debitul depinde în principal de dimensiunea clusterului. În testul de referință, dacă dimensiunea clusterului este mică, 1 țiglă poate gestiona > 1 milion TPS);
stocare: Primiți date bloc atunci când deveniți lider sau primiți date bloc de la alte noduri când alte noduri sunt lideri și stocați-le în baza de date de pe discul local;
metric: Colectează informații de monitorizare despre alte plăci și le furnizează unui punct final HTTP;
semn: deține cheia privată a verificatorului și primește și răspunde solicitărilor de semnătură de la alte piese.
Este de remarcat faptul că, înainte ca Firedancer să se maturizeze, versiunea sa de tranziție Frankendancer a intrat prima pe rețeaua principală Solana. Frankendancer este un hibrid de părți ale codului Firedancer și Agave, combinând punctele forte ale Firedancer în stiva de rețea și producția de blocuri, păstrând în același timp capacitățile de execuție și consens ale lui Agave. Firedancer, pe de altă parte, a fost construit în întregime de la zero și nu conține niciun cod Agave.
Care este impactul Firedancer?
Fără îndoială, lansarea Firedancer va avea un impact semnificativ asupra ecosistemului Solana Va îmbogăți foarte mult diversitatea validatorilor, va slăbi și mai mult impactul punctelor unice de defecțiune asupra stabilității rețelei și va construi o fortăreață mai puternică pentru fiabilitatea rețelei Solana. .
În plus, Firedancer menține compatibilitatea cu protocoalele existente, asigurând o tranziție lină a ecosistemului fără a fi nevoie ca dezvoltatorii și utilizatorii DApp să facă ajustări majore.
Deși Firedancer este încă în modul fără vot și trebuie să fie supus unei optimizări și revizuiri continue, aceasta creează un model mai promițător pentru dezvoltarea viitoare a rețelei Solana.
referinţă:
1、https://www.youtube.com/watch?v=InGI7BDUeX4&list=PLilwLeBwGuK4eY3nT0vvvJ4GmcJLImcQE&index=14
2、https://firedancer-io.github.io/firedancer/guide/tuning.html
3、https://solanacompass.com/learn/Validated/firedancer-w-kevin-bowers