Che cos’è l’attesissimo Firedancer at Breakpoint?
Alla conferenza Solana Breakpoint della scorsa settimana, l’atmosfera era vibrante con lanci di prodotti e vari eventi collaterali coinvolgenti. Un momento saliente è stato il lancio ufficiale della prima versione del client di validazione Solana Firedancer sulla mainnet.
Questa pietra miliare ha ricevuto un’attenzione particolare, in quanto segnala un significativo salto di prestazioni per la rete Solana, riducendo al contempo il rischio di interruzione della rete causata da un singolo guasto del client.
Lo sviluppo di Firedancer risale al 2021-2022, guidato da Jump Trading Group come secondo cliente validatore di Solana (con il cliente originale, Agave, sviluppato da Anza). Il suo obiettivo principale era quello di eliminare i singoli punti di guasto, migliorando la robustezza e la resilienza complessiva della rete.
A differenza del validatore originale basato su Rust, Firedancer è scritto in C, escludendo il codice Rust. Questa scelta riduce significativamente l’impatto potenziale delle vulnerabilità sulla rete, aggiungendo un forte livello di sicurezza a Solana.
Come si comporta Firedancer?
Durante una presentazione al Solana Breakpoint, Kevin Bowers, Chief Scientist di Jump Crypto, ha illustrato la capacità di Firedancer di elaborare oltre 1 milione di transazioni al secondo (TPS), superando di gran lunga l’attuale limite teorico di Solana di decine di migliaia di TPS. Ha metaforicamente paragonato questo risultato all’ampliamento di una “strada di campagna” in una “autostrada interstatale”, indicando una duplice ottimizzazione dei costi e della capacità della rete.
Liam Heeger, ingegnere del core, ha condiviso i progressi della testnet, notando che Firedancer ha prodotto con successo oltre 20.000 blocchi con un rapporto di staking dell’1%. Un altro ingegnere, Aryaman Jain, ha dimostrato le prestazioni di Firedancer in condizioni specifiche, rivelando un TPS fino a un milione in un ambiente con 10 validatori, con oltre 1,2 miliardi di calcoli al secondo e una capacità di blockspace di 3,5 Gbps.
Come funziona Firedancer?
Firedancer si basa su tre componenti principali: uno stack di calcolo ad alte prestazioni, uno stack di rete e i meccanismi di runtime e di consenso. La capacità di elevare le prestazioni di Solana a 1 milione di TPS (i limiti attuali del protocollo sono di circa 81.000 TPS) risiede nella sua architettura innovativa e nell’ottimizzazione del flusso di dati.
Il validatore impiega un modello di concorrenza che esegue diverse attività su pochi thread, ognuno dei quali si concentra su attività specifiche come l’elaborazione dei pacchetti di rete, la convalida delle transazioni e il confezionamento dei blocchi. Questo design massimizza l’utilizzo delle risorse e accelera significativamente l’elaborazione delle transazioni.
In particolare, ogni thread esegue uno degli 11 diversi compiti. Alcuni compiti richiedono un solo thread, mentre altri richiedono più thread che lavorano in parallelo. Ogni thread opera su un core dedicato della CPU, assicurando che non dorma mai o che non venga rimpiazzato dal sistema operativo.
Firedancer introduce anche un’architettura chiamata “tile”, in cui ogni tile rappresenta un lavoro, il suo thread in esecuzione e il core CPU allocato. Questa combinazione consente una flessibile ed efficiente messa a punto delle prestazioni. Ad esempio, i tile net e quic possono gestire oltre 1 milione di TPS, mentre i tile verify e bank si concentrano sulla convalida delle transazioni e sull’esecuzione dei blocchi, sufficienti per gli scenari ad alta liquidità.
La documentazione ufficiale di Firedancer elenca i seguenti 11 tasselli:
- rete: invia e riceve pacchetti di rete (ogni tile può gestire 1 milione di TPS);
- quic: Riceve le transazioni dai client, gestendo la connessione e l’elaborazione dei pacchetti per il protocollo QUIC (ogni tile può gestire 1 milione di TPS);
- verificare: convalida le firme crittografiche delle transazioni in entrata, filtrando quelle non valide (ogni tile può gestire 20-40.000 TPS);
- dedup: controlla e filtra le transazioni duplicate in entrata;
- pacchetto: impacchetta le transazioni in arrivo quando agisce da leader, programmandole in modo intelligente per l’esecuzione;
- banca: Esegue transazioni programmate (ogni tile può gestire 20-40.000 TPS);
- poh: esegue continuamente hash in background, mescolando gli hash generati con le transazioni eseguite per dimostrare l’ordine e la tempistica;
- triturare: distribuisce i dati a blocchi alla rete quando agisce da leader; quando non lo fa, riceve e ritrasmette i dati a blocchi (il throughput dipende principalmente dalle dimensioni del cluster, con benchmark che indicano 1 milione di TPS per cluster piccoli);
- negozio: Riceve i dati dei blocchi quando agisce come leader o da altri nodi quando sono leader, memorizzandoli in un database su disco locale;
- metrico: Raccoglie le informazioni di monitoraggio su altri tile e le fornisce agli endpoint HTTP;
- segno: detiene la chiave privata del validatore e risponde alle richieste di firma di altre tessere.
In particolare, prima che Firedancer maturi, la sua versione transitoria, Frankendancer, è già entrata nella mainnet Solana. Frankendancer è un ibrido tra il codice di Firedancer e quello di Agave, che sfrutta i vantaggi di Firedancer nello stack di rete e nella produzione di blocchi, pur mantenendo le funzionalità di esecuzione e consenso di Agave. Al contrario, Firedancer è costruito interamente da zero senza alcun codice Agave.
Qual è l’impatto di Firedancer?
Indubbiamente, il lancio di Firedancer ha implicazioni significative per l’ecosistema Solana, aumentando notevolmente la diversità dei validatori e riducendo ulteriormente il rischio di singoli punti di fallimento, rafforzando così l’affidabilità della rete.
Inoltre, Firedancer mantiene la retrocompatibilità con i protocolli esistenti, garantendo una transizione graduale per l’ecosistema senza richiedere modifiche sostanziali da parte degli sviluppatori di DApp e degli utenti.
Sebbene Firedancer sia attualmente in modalità non votata e in fase di continua ottimizzazione e verifica, traccia un quadro promettente per il futuro sviluppo della rete Solana.