Dopo aver testato Bitroot, la mia sensazione principale è stata che 'le sorprese superano le aspettative'. Negli ultimi anni ho testato innumerevoli blockchain pubbliche, dalle prime sperimentazioni con la tecnologia di sharding a varie soluzioni Layer2; la stragrande maggioranza dei cosiddetti progressi tecnologici è stata solo una patch di ottimizzazione su qualche modulo, mentre il livello sottostante non è riuscito a uscire dal tradizionale framework a singolo thread delle blockchain, dove è necessario prestare attenzione per evitare problemi.
All'inizio, quando ho testato Bitroot, non avevo aspettative troppo alte; ho pensato che fosse probabilmente un'altra versione ottimizzata del modello Gas o una versione accelerata dell'EVM con parametri di consenso modificati. E il primo sorpresa è arrivata silenziosamente già nella fase di configurazione dell'ambiente. Ho abitualmente cercato codice di nodi completi simili a Geth o Erigon, preparandomi a trascorrere mezza giornata a compilare e sincronizzare il nodo, ma ho scoperto che la logica di avvio del nodo di Bitroot assomiglia più all'inizializzazione di uno scheduler di attività distribuito.
Nella funzione di inizializzazione di node/service.go, ho notato alcuni moduli di servizio core - SchedulerService, ParallelExecutor, PipelineConsensus - che vengono avviati in modo parallelo. È evidente che Bitroot ha implementato molte nuove progettazioni tecnologiche secondo i piani del white paper; questa progettazione architettonica implica una logica di pensiero completamente diversa rispetto alle tradizionali blockchain pubbliche: non si è concentrato nel far “correre più veloce” un singolo nodo super, ma ha suddiviso il compito centrale della blockchain - verificare le transazioni e raggiungere il consenso - in una serie di operazioni lavorative che possono essere eseguite in pipeline.
Per testare le sue prestazioni, ho scritto uno script che ha inviato continuamente 100 transazioni di trasferimento alla rete di test. È importante sapere che, su blockchain pubbliche tradizionali, questo tipo di transazioni che comportano la creazione di molti nuovi stati di account provocano spesso congestione di rete, facendo aumentare notevolmente le spese di Gas. Ma su Bitroot, attraverso i log di debug dei nodi, ho potuto vedere chiaramente che queste transazioni sono state rapidamente smistate in diversi batch di elaborazione. Una riga di log è particolarmente evidente: "[Scheduler] Batch 73: 24 txns, 0 conflicts, dispatched to 3 executors."
Dietro questa riga di log c'è la logica di scheduling centrale di Bitroot: lo scheduler ha identificato con precisione che tra queste 24 transazioni non ci sono dipendenze di stato - dopotutto, gli indirizzi di invio e ricezione di ogni transazione sono diversi, quindi le ha assegnate direttamente a 3 thread di esecuzione per un'elaborazione parallela. Sembra semplice, ma in un ambiente compatibile con EVM, realizzare ciò è estremamente difficile: è necessario prevedere con precisione quali stati saranno toccati da ogni transazione prima dell'esecuzione. Questo è anche il problema più difficile nel design tradizionale dell'EVM - poiché le transazioni possono invocare dinamicamente i contratti, il loro percorso di esecuzione non può essere previsto prima dell'esecuzione.
Dopo questo periodo di test preliminari, sono giunto a una conclusione centrale: Bitroot non ha cercato di modificare la logica di esecuzione dell'"scatola nera" EVM, ma ha semplicemente applicato un livello di scheduler intelligente all'esterno. In altre parole, prima che la transazione entri nell'esecuzione EVM, questo scheduler valuterà rapidamente, a un costo molto basso, la correlazione tra ogni transazione; le transazioni non correlate vengono assegnate direttamente a thread paralleli, mentre le transazioni correlate vengono messe in coda in modo ordinato, bilanciando perfettamente compatibilità ed efficienza parallela.
Inoltre, il tracker di lettura/scrittura leggero di Bitroot è il suo core data foundation per implementare la concorrenza ottimistica. È interessante notare che, a differenza di altre blockchain pubbliche come Aptos che utilizzano Move VM per l'analisi statica, Bitroot ha implementato un meccanismo di tracciamento runtime altamente efficiente mantenendo la completa compatibilità con la dinamicità dell'EVM.
Un'altra cosa che mi ha colpito è il suo meccanismo di consenso - Pipeline BFT. Il consenso BFT tradizionale è come un’unica corsia di traffico, con efficienza limitata; mentre il Pipeline BFT di Bitroot ha realizzato "quattro corsie parallele". Dalla cronologia dei nodi si può chiaramente vedere: quando il blocco N-1 è in stato di Commit, il blocco N sta eseguendo operazioni di Precommit, mentre il blocco N+1 è già entrato nella fase di Prevote. Questo design della pipeline che disaccoppia e sovrappone le fasi di consenso ha cambiato radicalmente il ritmo di produzione dei blocchi delle blockchain pubbliche tradizionali.
Nell'ambiente di test simulato, il tempo di conferma finale dei blocchi di Bitroot si stabilizza intorno ai 400 millisecondi, in alta concordanza con gli indicatori di prestazione descritti nel white paper. Questo significa che una transazione, dal momento in cui viene emessa fino a quando viene confermata permanentemente da tutta la rete, di solito non supera 1 secondo, offrendo un'esperienza praticamente identica a quella delle piattaforme centralizzate.
Ho anche prestato particolare attenzione alla sua implementazione di aggregazione delle firme BLS: i dati delle firme dei blocchi trasmessi in rete sono stati compressi a una dimensione costante di 96 byte, indipendentemente dal numero di validatori nella rete, i nodi devono completare solo un'operazione di accoppiamento per completare la verifica. Questo design riduce la complessità della comunicazione delle firme da O(n²) a O(n), il che ha un'importanza cruciale per la scalabilità delle blockchain pubbliche.
Attualmente, i risultati dei test preliminari di Bitroot sono già abbastanza sorprendenti. In futuro, continuerò a distribuire contratti per condurre test su più dimensioni e sono molto ansioso per il lancio ufficiale del pacchetto Defi, per vedere quali nuove sorprese può portare questo progetto che rompe il pensiero tradizionale delle blockchain pubbliche. #BTC#ETH#SOL