Mikä on Breakpointin erittäin odotettu Firedancer?
Viime viikolla pidetyssä Solana Breakpoint -konferenssissa tunnelma oli vilkas, ja siellä järjestettiin tuotelanseerauksia ja erilaisia mielenkiintoisia oheistapahtumia. Erikoinen kohokohta oli Solanan validointiasiakkaan Firedancerin varhaisen version virallinen lanseeraus pääverkossa.
Tämä virstanpylväs sai erityistä huomiota, sillä se merkitsi Solana-verkon suorituskyvyn merkittävää nousua ja vähensi samalla yksittäisen asiakkaan vikaantumisen aiheuttaman verkon käyttökatkoksen riskiä.
Firedancerin kehitys alkoi vuosina 2021-2022 Jump Trading Groupin johdolla Solanan toisena validointiasiakkaana (alkuperäisen asiakkaan, Agaven, kehitti Anza). Sen ensisijaisena tavoitteena oli poistaa yksittäiset vikapisteet ja parantaa verkon yleistä kestävyyttä ja joustavuutta.
Toisin kuin alkuperäinen Rust-pohjainen validaattori, Firedancer on kirjoitettu C-kielellä, lukuun ottamatta Rust-koodia. Tämä valinta vähentää merkittävästi haavoittuvuuksien mahdollista vaikutusta verkkoon ja lisää Solanaan vahvan tietoturvakerroksen.
Miten Firedancer toimii?
Solana Breakpoint -tapahtumassa pitämässään esityksessä Jump Crypton johtava tutkija Kevin Bowers esitteli Firedancerin kykyä käsitellä yli miljoona transaktiota sekunnissa (TPS), mikä ylittää huomattavasti Solanan nykyisen teoreettisen rajan, joka on kymmeniä tuhansia TPS. Hän vertasi tätä saavutusta vertauskuvallisesti ”maantien” laajentamiseen ”valtateiden väliseksi valtatieksi”, mikä viittaa verkkokustannusten ja kapasiteetin kaksinkertaiseen optimointiin.
Ydininsinööri Liam Heeger kertoi testiverkon edistymisestä ja totesi, että Firedancer tuotti onnistuneesti yli 20 000 lohkoa 1 prosentin panostussuhteella. Toinen insinööri, Aryaman Jain, osoitti Firedancerin suorituskyvyn tietyissä olosuhteissa ja paljasti jopa miljoonan TPS:n 10-validator-ympäristössä, yli 1,2 miljardin laskutoimituksen sekunnissa ja 3,5 Gbps:n lohkotilakapasiteetin.
Miten Firedancer toimii?
Firedancer rakentuu kolmesta pääkomponentista: korkean suorituskyvyn laskentapinosta, verkkopinosta sekä ajo- ja konsensusmekanismeista. Sen kyky nostaa Solanan suorituskyky 1 miljoonaan TPS:ään (nykyisen protokollan rajoitukset ovat noin 81 000 TPS) perustuu sen innovatiiviseen arkkitehtuuriin ja tietovirran optimointiin.
Validoinnissa käytetään samanaikaisuusmallia, jossa erilaisia tehtäviä suoritetaan muutamissa säikeissä, ja kukin säie keskittyy tiettyihin tehtäviin, kuten verkkopakettien käsittelyyn, tapahtumien validointiin ja lohkojen pakkaamiseen. Tämä malli maksimoi resurssien käytön ja nopeuttaa tapahtumien käsittelyä merkittävästi.
Kukin säie suorittaa yhden 11:stä eri tehtävästä. Jotkin tehtävät vaativat vain yhden säikeen, kun taas toiset vaativat useamman säikeen rinnakkaista työskentelyä. Kukin säie toimii erillisellä suorittimen ytimellä, mikä varmistaa, ettei se koskaan lepää tai että käyttöjärjestelmä käyttää sitä uudelleen.
Firedancer esittelee myös arkkitehtuurin nimeltä ”laatat”, jossa jokainen laatta edustaa työtä, sen käynnissä olevaa säiettä ja varattua suorittimen ydintä. Tämä yhdistelmä mahdollistaa joustavan ja tehokkaan suorituskyvyn virittäminen. Esimerkiksi net- ja quic-laatat voivat käsitellä yli 1 miljoonaa TPS:ää, kun taas verify- ja bank-laatat keskittyvät transaktioiden validointiin ja lohkojen suorittamiseen, mikä riittää korkean valuutan skenaarioihin.
Firedancerin virallisessa dokumentaatiossa luetellaan seuraavat 11 laattaa:
- net: lähettää ja vastaanottaa verkkopaketteja (kukin laatta voi käsitellä >1 miljoonaa TPS);
- quic: Vastaanottaa transaktioita asiakkailta, hallinnoi yhteyttä ja pakettien käsittelyä QUIC-protokollaa varten (kukin laatta voi käsitellä >1 miljoonaa TPS);
- tarkista: Validoi saapuvien transaktioiden kryptografiset allekirjoitukset ja suodattaa virheelliset transaktiot pois (kukin laatta voi käsitellä 20-40 000 TPS:ää);
- dedup: Tarkistaa ja suodattaa saapuvat kaksoistapahtumat;
- pakkaus: Pakkaa saapuvat tapahtumat, kun se toimii johtajana, ja ajoittaa ne älykkäästi suoritettaviksi;
- pankki: Suorittaa ajastettuja tapahtumia (kukin laatta voi käsitellä 20-40 000 TPS);
- poh: Jatkuva hashes-tarkistus taustalla, jossa luodut hashes-tarkistukset sekoitetaan suoritettuihin transaktioihin järjestyksen ja ajoituksen todistamiseksi;
- silppua: Jakaa lohkotietoja verkkoon, kun se toimii johtajana; kun se ei toimi johtajana, se vastaanottaa ja lähettää lohkotietoja uudelleen (läpäisykyky riippuu pääasiassa klusterin koosta, vertailuarvojen mukaan >1 miljoona TPS pienille klustereille);
- myymälä: Vastaanottaa lohkotietoja toimiessaan johtajana tai muilta solmuilta, kun ne ovat johtajia, ja tallentaa ne paikalliseen levytietokantaan;
- metrinen: Kerää seurantatietoja muista laatoista ja toimittaa ne HTTP-päätepisteisiin;
- sign: Pitää hallussaan validoijan yksityistä avainta ja vastaa muiden laattojen allekirjoituspyyntöihin.
Ennen kuin Firedancer kypsyy, sen siirtymäversio, Frankendancer, on jo päässyt Solana -verkkoon. Frankendancer on Firedancerin ja Agaven koodin hybridi, jossa hyödynnetään Firedancerin etuja verkkopinossa ja lohkojen tuotannossa ja säilytetään Agaven toteutus- ja konsensustoiminnot. Firedancer on sitä vastoin rakennettu kokonaan alusta alkaen ilman Agaven koodia.
Mikä on Firedancerin vaikutus?
Firedancerin käynnistämisellä on epäilemättä merkittäviä vaikutuksia Solana-ekosysteemiin, sillä se lisää huomattavasti validoijien monimuotoisuutta ja vähentää edelleen yksittäisten vikapisteiden riskiä, mikä vahvistaa verkon luotettavuutta.
Lisäksi Firedancer säilyttää yhteensopivuuden olemassa olevien protokollien kanssa, mikä takaa sujuvan siirtymisen ekosysteemille ilman, että DApp-kehittäjät ja käyttäjät joutuvat tekemään merkittäviä muutoksia.
Vaikka Firedancer on tällä hetkellä ei-äänestystilassa, ja sitä optimoidaan ja tarkastetaan jatkuvasti, se antaa toivoa herättävän kuvan Solana-verkon tulevasta kehityksestä.