Sommario
1、Danzatore del fuoco
2. Punti chiave
3. Introduzione
3.1 Verso Solana 2.0
4. Fase iniziale del layout
5. Stato attuale dei client di validazione su Solana
6. Perché hai bisogno di un altro client di validazione?
7、Danzatore del fuoco
7.1 Pila di Firedancer
7.2 Architettura modulare
7.3 Modello di sicurezza
8. La strada verso il futuro
9. Conclusione
10. Riferimenti
11. Dichiarazione
Danzatrice del fuoco
Nel seguente rapporto, approfondiremo Firedancer, esplorando la sua proposta di valore e il ruolo che svolge nel realizzare la visione delineata nel white paper originale di Solana. Per molti, il suo rilascio segnerà il primo passo verso Solana 2.0, spingendo all’estremo i limiti dell’hardware e del software, risolvendo le sfide dei client di validazione esistenti e ridefinendo la scalabilità, l’affidabilità e l’affidabilità della rete.
Punti chiave
La visione di Solana è incentrata sull'hardware e crede nella scalabilità lineare con la legge di Moore, a condizione che l'ottimizzazione del software possa tenere il passo.
Allo stato attuale, i validatori esistenti devono affrontare problemi di prestazioni e scalabilità, principalmente a causa di limitazioni del software piuttosto che di limitazioni hardware.
La resilienza della rete Solana si basa sulla diversificazione dei client di validazione per ridurre il rischio di guasto del sistema e aumentare la tolleranza agli errori. L’introduzione di Firedancer, un nuovo software client di validazione di terze parti, segna un passo avanti verso l’aumento di questa resilienza, promuovendo la diversità dei clienti e risolvendo la dipendenza di Solana da clienti limitati.
Lanciata dal team Jump Crypto, la metodologia di Firedancer si basa su un sistema di trading globale ad alte prestazioni, una soluzione naturale per ottimizzare Solana, con l'obiettivo finale di operare al limite dei limiti fisici e teorici.
Sebbene lo sviluppo di Firedancer rappresenti un'importante pietra miliare, gli sforzi continui su documentazione, compatibilità e governance della comunità sono fondamentali per l'evoluzione di Solana in uno standard aperto.
introduzione
La storia di Solana è iniziata nel 2017, quando Anatoly Yakovenko ha pubblicato il white paper originale che descrive Proof of History. Ciò dipinge una visione per la costruzione di una blockchain in grado di superare i problemi di scalabilità delle soluzioni esistenti. È stata progettata come una piattaforma ad alte prestazioni e a bassa latenza: una blockchain in grado di costruire un motore di trading in grado di competere con il Nasdaq.
Sulla base del concetto originale proposto da Anatoly e dal team fondatore, finché il software non ostacola l'hardware, le prestazioni complessive della rete della blockchain possono aumentare linearmente con l'avanzamento dell'hardware - come descritto dalla Legge di Moore, il numero di transistor in un circuito integrato è circa ogni due Raddoppia ogni anno con una crescita minima dei costi. Supponendo che il software sia ottimale, i parametri prestazionali di Solana possono raddoppiare ogni due anni senza ulteriori aggiornamenti.
Fonte: media
Tuttavia, anche se le prestazioni possono migliorare con l’avanzamento dell’hardware, una comunicazione efficiente tra i nodi è fondamentale per evitare che la larghezza di banda della rete diventi un collo di bottiglia ed evitare ritardi di rete. Ciò è fondamentale per prevenire qualsiasi forma di latenza di rete, anche con i progressi dell'hardware.
Il client di convalida Solana presenta attualmente alcune limitazioni che potrebbero incidere sulle sue prestazioni e scalabilità, nonché problemi di affidabilità della rete dovuti a un'insufficiente diversità. La maggior parte di queste limitazioni sono limitazioni basate sul software anziché a livello hardware. Kevin J Bowers è un ricercatore di sistemi ad alte prestazioni presso Jump, responsabile della promozione del progetto Firedancer. È famoso per la sua affermazione esagerata: "La velocità della luce è troppo lenta". Con decenni di esperienza nello sviluppo di sistemi di trading globale ad alte prestazioni, Jump spera di aumentare l’affidabilità di Solana costruendo un client di validazione indipendente, Firedancer.
Fonte: Solana
Firedancer non è concepito come una soluzione a breve termine semplicemente guardando al passato. È progettato per superare i limiti della potenza di calcolo, offrire scalabilità e affidabilità e operare ai confini della fisica e della teoria.
Verso Solana 2.0
Nello sviluppo tradizionale, le operazioni vengono generalmente viste dal punto di vista dello spazio dati piuttosto che da quello dello spazio fisico. Questa visione è inevitabilmente vincolata da limitazioni fisiche, come la velocità della luce, che si traducono in uno scarso utilizzo dell’hardware e in un rallentamento delle prestazioni del sistema.
Fonte: Revelo Intel
Ciò si traduce in uno scarso utilizzo dell'hardware poiché le pratiche di sviluppo tradizionali spesso ignorano i vincoli fisici. In altre parole, la scalabilità del sistema non è limitata dall’hardware ma dalle inefficienze del software. C'è un famoso detto che recita così: "L'hardware più veloce è una scarsa soluzione primaria per rallentare il software".
Jump Trading affronta queste sfide frontalmente, evolvendosi da un sistema di trading tradizionale a uno stack tecnologico altamente personalizzato. Questa trasformazione affronta le sfide uniche del commercio su scala globale, dove la vicinanza fisica agli scambi, le richieste di mercato eterogenee e i rigorosi standard operativi sono fondamentali.
A differenza dei supercomputer tradizionali, il sistema di Jump deve essere tollerante ai guasti in modo rapido, trasparente e capace di aggiornamenti incrementali. Devono operare in un ambiente diversificato, competitivo e altamente regolamentato con rigorosi standard di conservazione dei dati e responsabilità. Aggiungere semplicemente più hardware a Solana non è sufficiente. Invece, l’ottimizzazione del software è fondamentale e Firedancer si avvicina al raggiungimento di questi obiettivi.
Per riferimento, un singolo validatore che esegue Firedancer ha elaborato 1,2 milioni di TPS durante una dimostrazione dal vivo nel novembre 2022, sebbene la maggior parte delle stime indichi 600.000 TPS come numero più realistico. Questo numero è più volte superiore all’attuale limite teorico di Solana di 50.000 TPS e supera di gran lunga il volume delle transazioni generalmente gestito dai principali fornitori di servizi come Visa (circa 1,5.000 – 2.000 TPS).
Fonte: Twitter
Firedancer introduce un cambio di paradigma nell'architettura e nelle funzionalità del client di validazione di Solana. Non si tratta solo di costruire un client di validazione; si tratta di costruire un client altamente affidabile e orientato alle prestazioni che migliori la già veloce ed efficiente blockchain di Solana.
Fonte: Capitale Senza Attriti
Con il lancio di Firedancer, Jump inaugura una nuova fase che molti chiamano Solana 2.0. Sfruttando anni di esperienza in ambienti di trading ad alta frequenza, l’aggiunta di questo prossimo client di validazione indipendente agli strumenti di Solana contribuirà a rendere la rete più affidabile, efficiente e solida.
Fonte: Revelo Intel
Solana si distingue per la sua velocità superiore e le recenti soluzioni ai problemi di inattività del sistema. Tuttavia esiste il potenziale per ulteriori miglioramenti. Firedancer mira a essere il client di validazione con le migliori prestazioni su tutte le blockchain, risolvendo l'attuale dipendenza eccessiva da una manciata di clienti aumentando la diversità dei clienti di Solana.
Fonte: Github
Allestire il palco
In Solana, i validatori partecipano al meccanismo di consenso proof-of-stake di Solana per convalidare le transazioni e proporre nuovi blocchi da aggiungere alla catena.
Fonte: Revelo Intel
In questo modo, i possessori di token Solana ($SOL) possono partecipare al consenso e ricevere ricompense di staking bloccando i loro token $SOL nei nodi di validazione.
Fonte: Revelo Intel
La Proof of Stake (PoS) fornisce incentivi sia positivi che negativi. I partecipanti sono tenuti ad avere una garanzia finanziaria a titolo di deposito cauzionale. Se un validatore infrange le regole, parte della sua puntata verrà "tagliata" come penalità. Altrimenti, verranno compensati tramite premi di staking.
Per completare il proprio lavoro e connettersi con altri nodi della rete, i validatori devono utilizzare client di validazione, applicazioni che consentono loro di partecipare al consenso. Si tratta di un software che consente di verificare e confermare le transazioni per garantire che siano conformi alle regole della rete.
Client di validazione diversi possono contenere codice diverso, ma devono tutti implementare la stessa logica. Questo è importante perché se un client riscontra un errore o un guasto, i nodi che eseguono altri client saranno in grado di mantenere la rete online e prevenire tempi di inattività della rete.
Fonte: Revelo Intel
Una maggiore diversità dei client significa maggiore resilienza e protezione in caso di possibili bug o vulnerabilità nel codice client del validatore. Ad esempio, nel 2016, gli aggressori hanno scoperto un bug nel client geth di Ethereum e hanno avviato una serie di attacchi DDoS (distributed denial of service) sulla rete. Per proteggersi da tali attacchi, la soluzione è che gli operatori dei nodi passino rapidamente a un altro client per mantenere la rete operativa mentre la vulnerabilità viene corretta.
Stato attuale del client di convalida Solana
Solana ha attualmente circa 1.649 validatori e ha uno dei maggiori numeri di nodi nella rete PoS, nonché una delle reti più ampiamente distribuite, misurata dal coefficiente di Satoshi Nakamoto. Attualmente, i clienti validatori di Solana includono Solana Lab Client e Jito Lab Client, che detengono rispettivamente il 68% e il 32% del capitale attivo. Sebbene la crescita dei clienti di Jito Labs nel corso del 2023 svolga un ruolo chiave nella diversificazione della rete, sono ancora necessari ulteriori sforzi.
Il client Jito è un fork del client Solana Labs, tranne per il fatto che introduce uno pseudo pool di memoria (perché Solana non dispone di un pool di memoria) per ottimizzare MEV. Ciò consente ai validatori di cercare nel mempool transazioni non confermate o in sospeso, raggrupparle in modo ottimale e quindi inviarle al motore di blocco Jito.
Fonte: Revelo Intel
Tuttavia, il fatto che si tratti di un fork significa che i due client condividono molti componenti sviluppati nel codice base originale. Pertanto, se sono presenti vulnerabilità o bug non ancora scoperti nel client originale di Solana Labs, entrambi i client ne saranno interessati.
Andando avanti, oltre ai due clienti esistenti (Solana Labs e Jito) e Firedancer, ci sono due team indipendenti che lavorano su nuovi clienti. Ciò significa un totale di 5 validatori, tre che utilizzano Rust (Solana Labs, Jito e Agave sviluppati da Anza), uno che utilizza C (Firedancer) e uno che utilizza Zig (Sig sviluppato da Syndica).
Perché ho bisogno di un altro client di validazione?
È importante per Solana avere un altro client di convalida come Firedancer poiché migliora la resilienza e le prestazioni della rete. Diversi client di validazione riducono il rischio di guasto del sistema, poiché client diversi possono reagire in modo diverso agli stessi problemi di rete.
Fonte: Solana
La diversità dei client convalidati dal software garantisce che un singolo bug o vulnerabilità in un client non comprometta l'intera rete. Inoltre, clienti professionali come Firedancer possono apportare miglioramenti prestazionali su misura per le esigenze specifiche di Solana, migliorando ulteriormente l'efficienza e l'affidabilità della rete.
Fonte: Revelo Intel
Quando sulla rete sono in esecuzione più client diversi, è improbabile che condividano la stessa vulnerabilità. Se un client fallisce a causa di un bug o di un attacco specifico, altri client con architetture diverse potrebbero non essere interessati, garantendo continuità e stabilità della rete.
Fonte: Revelo Intel
Un altro problema è che i client attuali (Solana Labs e Jito) vengono eseguiti come un unico processo, il che rende difficile apportare modifiche una volta che il codice è in esecuzione in produzione. Ad esempio, i validatori che eseguivano questi client erano costretti a chiudersi quando avevano bisogno di implementare aggiornamenti di sicurezza immediati. Tutti i sistemi distribuiti, siano essi processori di pagamento centralizzati, database o blockchain, hanno una cosa in comune. Un singolo errore di implementazione può far crollare l’intero sistema.
Inoltre, nessuna quantità di test può prevenire tutti i possibili errori. Ecco perché è importante supportare più clienti in un ambiente di produzione, soprattutto per una blockchain progettata per raggiungere tempi di inattività pari a zero e rimanere antifragile al limite.
Idealmente, potrebbero esserci 4 client sviluppati da team indipendenti che utilizzano linguaggi di programmazione diversi, ciascuno dei quali controlla il 25% delle azioni attive. In questo modo, nessuna singola implementazione controllerà più del 33% delle condivisioni attive, contribuendo a prevenire singoli punti di errore.
Fonte: Revelo Intel
Oltre a migliorare le prestazioni, Jump sta costruendo un nuovo client di validazione per Solana per aumentare l'affidabilità della rete. Ad esempio, Solana ha avuto quattro incidenti in passato in cui la produzione dei blocchi è stata bloccata a causa di problemi nei moduli software che hanno influenzato il consenso. Questi problemi vengono solitamente risolti coordinando i validatori su Discord e richiedono soluzioni manuali.
Una volta che Firedancer sarà in produzione, sarà più semplice applicare le stesse ottimizzazioni a tutti gli altri client. Ad esempio, Jito sta sviluppando JitoDancer, che implementerà le ottimizzazioni necessarie per funzionare con Firedancer.
Danzatrice del fuoco
Firedancer è una riscrittura dell'attuale client di validazione di Solana in C, garantendo che non vengano importati bug dal codice base originale.
È stato sviluppato da zero da Jump. Sfruttando la propria esperienza nel trading ad alta frequenza, Jump è uno dei team più capaci nella creazione di un sistema ad alte prestazioni, a bassa latenza e con tolleranza ai guasti.
Fonte: Revelo Intel
Il codice è open source, il che consente a chiunque di rivedere e comprendere le ottimizzazioni in fase di sviluppo. Kevin Bowers è attualmente a capo di un team che continua a spingere i limiti della tecnologia in ambienti ad alte prestazioni. La loro esperienza nell'orchestrazione ottimizzata dei dati, negli stack tecnologici personalizzati e nella scalabilità globale del sistema non ha eguali.
Proprio come Jump, Solana necessita di un’infrastruttura solida, flessibile ed efficiente per supportare il suo ecosistema in crescita. L'introduzione di Firedancer, un secondo validatore indipendente, è un passo verso questo obiettivo. Firedancer è progettato per essere scalabile a livello globale, evolversi in modo incrementale, tollerante ai guasti ed aperto a un'ampia comunità. Il suo sviluppo è aperto e invita alla collaborazione e al feedback della comunità Solana.
Fonte: Revelo Intel
Per il resto, il client è ancora compatibile con i client di Solana Labs e Jito Labs, sebbene siano scritti in Rust. Il client Firedancer sarà inoltre compatibile con l'hardware esistente utilizzato dai validatori Solana, senza costringerli ad aggiornare a nuove macchine. Con Firedancer, Solana aumenterà la larghezza di banda e l'hardware.
La visione di Firedancer è semplice: ogni componente deve essere ottimizzato per le massime prestazioni, in modo che la capacità di esecuzione del client sia limitata solo dall'hardware del validatore. Confrontatelo con lo stato attuale, dove le prestazioni del validatore sono limitate dalle inefficienze del software.
Stack tecnologico Firedancer
Firedancer è stato costruito riscrivendo da zero i tre principali componenti funzionali del client Solana Labs in C, ottimizzando ogni singola parte per spingere il client ai limiti del suo hardware.
Fonte: Revelo Intel
Fondamentalmente, Firedancer è molto più di un semplice validatore; è una testimonianza della convinzione di Jump di oltrepassare i confini e innovare all'intersezione tra tecnologia e finanza, con l'obiettivo di ottimizzare il throughput delle transazioni e ridurre i costi.
Fonte: Revelo Intel
Ottimizzando questi componenti chiave, Firedancer garantisce che la scalabilità di Solana sia limitata principalmente dall'hardware del client, piuttosto che dal software stesso. Ciò è coerente con la visione originale di Solana proposta da Anatoly molti anni fa: progettare un modo per comunicare in modo efficiente tra i nodi in modo che la larghezza di banda non sia più un collo di bottiglia.
Nel mondo dell’informatica ad alte prestazioni, alla fine tutto deve essere ottimizzato. Questo approccio è coerente con la legge di Moore, secondo la quale il numero di transistor su un microchip raddoppia circa ogni due anni, con conseguente aumento della potenza di calcolo e costi inferiori per transistor.
La scalabilità di Firedancer è strettamente legata al numero di transistor in un microchip, poiché più transistor significano più spazio fisico sulla superficie del chip. Di conseguenza, i progettisti di chip possono aggiungere più core, offrendo a Solana una maggiore velocità di trasmissione dei dati. Ciò consente alla rete di scalare man mano che la larghezza di banda e l’hardware migliorano mantenendo un livello sufficiente di decentralizzazione.
Fonte: Revelo Intel
Nel contesto di Solana, avere più core del processore significa poter eseguire più transazioni in parallelo. Ciò si traduce in un aumento significativo della velocità di trasmissione dei dati, poiché più transazioni possono essere elaborate contemporaneamente senza aspettarsi l'una dall'altra.
Le prime simulazioni mostrano che la larghezza di banda cresce quasi linearmente all’aumentare del numero di core. In altre parole, raddoppiando il numero di core nell'hardware di un validatore si otterrà quasi il raddoppio del numero di transazioni che il validatore riceve nello stesso lasso di tempo.
Architettura modulare
L'architettura modulare di Firedancer lo distingue dai clienti esistenti. Questa modularità si riferisce alla sua struttura interna ed è progettata per aumentare l'efficienza e l'affidabilità del processo di verifica della rete. Ciò non deve essere confuso con il più ampio dibattito sull’architettura blockchain, che si concentra su come la rete blockchain stessa è strutturata e funziona.
Quest’ultimo implica una discussione sulla divisione del lavoro all’interno dell’ecosistema blockchain, come la separazione dei livelli di consenso, esecuzione e disponibilità dei dati, un concetto che non è direttamente correlato ai principi di progettazione o alla funzionalità di Firedancer.
Fonte: Revelo Intel
Firedancer utilizza un'architettura basata su riquadri, in cui ogni riquadro è un processo Linux C indipendente con una certa memoria. Al contrario, gli attuali client Rust vengono eseguiti come un singolo processo.
In questo contesto, un processo si riferisce a un'istanza di un programma in esecuzione. Ad esempio, i moderni sistemi operativi funzionano allocando memoria e risorse a diversi processi, ognuno dei quali gestisce compiti specifici.
Fonte: Revelo Intel
Le piastrelle, in quanto processi indipendenti, presentano numerosi vantaggi rispetto ai sistemi a processo singolo. Isolano gli errori gestendo lo stato del validatore in diverse aree di lavoro, garantendo che i problemi con un riquadro non influiscano sull'intero sistema.
Questo isolamento semplifica inoltre la manutenzione e gli aggiornamenti, poiché i singoli moduli possono essere modificati o sostituiti individualmente senza arrestare l'intero sistema. Ad esempio, durante un riavvio o un aggiornamento, ogni riquadro può continuare l'elaborazione dal punto in cui era stata interrotta.
Inoltre, i riquadri fanno un uso migliore delle risorse perché ogni riquadro può essere eseguito su un core della CPU separato, evitando conflitti di risorse e ottimizzando le prestazioni. Questi fattori rendono le piastrelle più robuste, flessibili ed efficienti rispetto agli approcci a processo singolo.
I primi test mostrano miglioramenti delle prestazioni di 10-100 volte rispetto al client Solana Labs, con ciascun core GPU che elabora più di 1 milione di transazioni durante i test.
Fonte: Revelo Intel
modello di sicurezza
Uno dei compromessi tra il linguaggio C e Rust è che il linguaggio C non ha la garanzia di sicurezza della memoria fornita da Rust. Per proteggersi da queste situazioni, Jump utilizza una pratica chiamata "sandboxing del sistema operativo", che sostanzialmente significa isolare diversi processi (tile) dal sistema operativo.
Seguendo il principio del privilegio minimo, i riquadri possono accedere solo alle risorse di sistema ed eseguire chiamate di sistema strettamente necessarie per svolgere il proprio lavoro. Infatti, una ricerca approfondita nel campo della sicurezza della memoria in linguaggio C ha spinto il team ad adottare il pensiero contraddittorio e a ridurre il più possibile la superficie di attacco. Se i riquadri non sono isolati, un attacco potrebbe causare danni all’intera rete se sfruttassero con successo la vulnerabilità per colpire più validatori.
Questo approccio riconosce che non esiste un "codice perfetto" e che alcune vulnerabilità o buchi di sicurezza verranno inevitabilmente introdotti. Tuttavia, per proteggersi da questi scenari, Jump impiega una strategia di difesa approfondita in modo che anche se un utente malintenzionato riesce a compromettere una parte di codice, la portata dell’impatto è limitata e non influisce su altre parti dello stack tecnologico.
la strada davanti
Non c'è dubbio che l'entrata in produzione di Firedancer rappresenti una pietra miliare importante per Solana, e molti lo chiamano Solana 2.0. Tuttavia, ci sono sfide da affrontare dal punto di vista della sicurezza.
Nonostante i vantaggi offerti da Firedancer, è comunque necessario replicare fedelmente il comportamento dei client esistenti. In caso contrario potrebbero essere introdotti errori di consenso per incompatibilità.
Un modo per affrontare questi problemi è far sì che una percentuale della quota sia distribuita su entrambi i clienti, con l'obiettivo di mantenere la quota totale di Firedancer al di sotto del 33% nel lungo termine.
La cosa più importante da considerare è che una base di codice non può essere sviluppata in modo isolato. Ecco perché Jump continua a valutare le prestazioni in base alle capacità dei clienti Labs esistenti.
Un'altra sfida che Jump deve attualmente affrontare è la mancanza di specifiche e documentazione standardizzata. Il lato positivo è che questo cambierà.
Le nuove implementazioni devono fare attenzione a non introdurre nuovi bug pur mantenendo la velocità di sviluppo. Di conseguenza, Jump ha fatto del miglioramento della documentazione di Solana una delle sue priorità.
Una volta che Jump fornisce i file delle specifiche effettive che definiscono il protocollo Solana, chiunque dovrebbe essere in grado di creare un validatore Solana semplicemente consultando la documentazione, piuttosto che il codice del validatore.
Ciò non solo aiuterà Firedancer a rimanere compatibile nel tempo, ma questa documentazione completa sarà anche fondamentale per altri team indipendenti che costruiscono i propri clienti. In definitiva, anche se la rete sarà in grado di sfruttare decenni di esperienza di Jump, l'obiettivo finale di Solana è quello di diventare uno standard aperto governato da una comunità diversificata di contributori.
Insomma
In sintesi, anche se Firedancer è solo un client di validazione autonomo per Solana, la sua introduzione rappresenta una pietra miliare importante per la rete.
Firedancer è progettato per migliorare l'affidabilità, le prestazioni e la diversità dei clienti di Solana e affrontare l'attuale dipendenza eccessiva da alcuni clienti.
Questa mossa è in linea con la visione di Solana di progettare un modo efficiente per comunicare tra i nodi che si adatti ai miglioramenti hardware anziché essere limitato dalle inefficienze del software.
Riferimenti
Libro bianco di Solana
Validatori Solana
Cliente di Solana Labs
Cliente di Jito Labs
Cliente di Firedancer
Tinydancer – Il primo client leggero di Solana
Salta contro la velocità della luce
Helius: Cos'è Firedancer?
Documenti sul Danzatore del fuoco
Esibire
Non abbiamo mai avuto rapporti commerciali con Solana o Jump Crypto e questo rapporto non è stato finanziato o commissionato in alcun modo.
I membri del nostro team, compresi quelli direttamente coinvolti nell'analisi sopra descritta, possono ricoprire posizioni nelle monete discusse.
Questo contenuto è solo a scopo didattico e non costituisce una consulenza finanziaria o di investimento. Dovresti fare le tue ricerche e investire solo ciò che puoi permetterti di perdere. Siamo una piattaforma di ricerca, non un consulente finanziario o di investimento.
Fonte di informazioni per questo articolo: revelointel