Nel 2025, uno degli obiettivi primari della Stellar Development Foundation (SDF) è aumentare la capacità teorica di Stellar Core a 5000 transazioni al secondo (TPS). Man mano che l’adozione di Soroban, la piattaforma di smart contract di Stellar, accelera e nuovi casi d’uso emergono, la scalabilità è fondamentale per garantire che Stellar rimanga veloce, accessibile e facile da usare per gli sviluppatori.
Questo post fornisce una panoramica ad alto livello dei nostri sforzi di scalabilità, suddivisi in cinque temi chiave. Consideratelo un’introduzione ai nostri principali progetti; approfondiremo ciascuna area di ottimizzazione in post futuri.
- Protocollo 23
Il protocollo 23 introduce l’esecuzione di smart contract multi-thread, la cache dei moduli WebAssembly e lo stato dei smart contract. Nonostante la scalabilità a vera parallelizzazione N-way e l’uso di tecniche di cache aggressive, la buona notizia è che gli operatori di nodo non devono aggiornare il proprio hardware per beneficiare di questi miglioramenti.
Questi miglioramenti sfrutteranno al massimo le CPU e la RAM già comuni nell’infrastruttura di validazione. Nel tempo, alcuni requisiti hardware potrebbero crescere man mano che la capacità aumenta, ma la nostra priorità attuale è sbloccare la capacità inutilizzata, non imporre nuovi oneri.
- Aumento della parallelizzazione
Storicamente, Stellar Core era principalmente single-thread. All’inizio di quest’anno, abbiamo abilitato la elaborazione in background dei messaggi su Mainnet, che ha dato risultati promettenti. Adesso, stiamo andando ancora oltre, spostando ancora più lavoro in background, come la verifica delle firme e l’esecuzione dei blocchi. Queste funzionalità sono attualmente opzionali, ma dovrebbero diventare predefinite dopo il voto del Protocollo 23. Il risultato: più opportunità per Stellar Core di utilizzare al massimo le CPU disponibili. - Disaccoppiamento del consenso dall’esecuzione
Attualmente, le fasi di consenso e esecuzione di Stellar Core vengono eseguite in sequenza: la rete deve finalizzare la votazione sul registroNprima che le transazioni possano essere applicate al database e non inizia a votare sul registroN+1fino a quando l’esecuzione non è terminata. Ciò significa che mentre si esegue un set di transazioni, la votazione è inattiva e mentre il protocollo di consenso Stellar è in votazione, l’esecuzione del set di transazioni è inattiva.
Stiamo ridisegnando questo flusso per consentire al consenso e all’esecuzione di essere eseguiti in parallelo, dove i nodi votano sul registro N+1 mentre eseguono N. Ciò è reso possibile dal design parallelo-friendly di Soroban, dove tutte le voci che verranno lette o scritte devono essere specificate nel footprint. Pertanto, consente una partizione sicura dei set di transazioni per il registro N e N+1. Questo approccio pipeline elimina i tempi di inattività e ci aiuta a raggiungere sia gli obiettivi di capacità che di tempo di blocco.
- Cache aggressiva per carichi di stato più rapidi
Tutti i componenti di Stellar Core si basano su BucketListDB per gestire lo stato del registro. Ad alti volumi, le letture e le scritture ripetute possono diventare un collo di bottiglia. Stiamo affrontando questo problema con due modifiche:
Cache in memoria più aggressive per accelerare i carichi di stato per la convalida e l’esecuzione delle transazioni.
Post-elaborazione in memoria per aumentare la velocità di scrittura durante il commit.
Queste modifiche apportano sostanziali miglioramenti di prestazioni utilizzando la RAM già fornita dalla maggior parte degli operatori.
- Benchmarking della capacità più intelligente
La scalabilità senza misurazione è una supposizione. Stiamo perfezionando il nostro framework di benchmarking per ridurre al minimo il rumore di misurazione dagli strumenti di carico sintetico e dall’overhead delle metriche, aiutandoci a comprendere meglio i limiti reali del sistema.
Con ogni rilascio di Stellar Core, pubblichiamo i nostri risultati teorici di capacità. Potete seguire quelli qui:
https://github.com/stellar/supercluster/blob/main/doc/theoretical-max-tps.md
A questo link, potete trovare la metodologia completa, i risultati attuali e le istruzioni per riprodurre. Il nostro obiettivo è migliorare il framework di benchmarking continuando a pubblicare regolarmente i risultati con ogni rilascio.
Cosa significa questo per la rete
Questi miglioramenti dovrebbero portare la capacità teorica di Stellar Core fino a 5000 TPS nei benchmark del 2025. Ma raggiungere la capacità teorica è solo un pezzo del puzzle. Questi aggiornamenti devono essere implementati in modo sicuro e incrementale e i sistemi downstream come Horizon e Stellar RPC dovranno anch’essi essere scalati per gestire volumi di transazioni più elevati.
Una maggiore capacità apre la porta a nuove applicazioni, senza compromettere i tempi di conferma o l’affidabilità. In ultima analisi, rende Stellar più attraente per gli sviluppatori, più resiliente ai picchi di domanda e meglio posizionata per servire gli utenti che dipendono da transazioni rapide e a basso costo.
SDF si impegna ad aiutare la rete Stellar a scalare responsabilmente: condividendo i dati di performance in modo trasparente, mantenendo i costi hardware ragionevoli per aumentare la decentralizzazione e fornendo la capacità di cui l’ecosistema ha bisogno per crescere.












Leave a Reply