OPERA: Enabling Inter-node Concurrency in Byzantine Fault Tolerant Blockchains
Questo articolo introduce OPERA, un modello di esecuzione tollerante ai guasti bizantini che estende la concorrenza tra i nodi tramite la replica parziale e il parallelismo inter-nodo, riducendo significativamente i costi di esecuzione e aumentando il throughput nelle blockchain senza compromettere la sicurezza o la semantica delle applicazioni.
Articolo originale sotto licenza CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). Questa è una spiegazione generata dall'IA dell'articolo qui sotto. Non è stata scritta né approvata dagli autori. Per precisione tecnica, consulta l'articolo originale. Leggi il disclaimer completo
Immaginate un mondo in cui milioni di persone cercano di tenere sincronizzato perfettamente un enorme diario condiviso. Non si tratta di un semplice diario; è un registro digitale che registra tutto, da chi possiede un gatto digitale a chi ha inviato denaro a chi. Il problema? Tutti devono essere d'accordo su ogni singola voce, e alcune persone nel gruppo potrebbero essere mentitori maliziosi che cercano di ingannare il sistema. Questo è il mondo selvaggio della blockchain, la tecnologia alla base delle criptovalute e delle app decentralizzate.
Per molto tempo, questi diari digitali hanno avuto un ingorgo stradale importante. Per mantenere tutti onesti, ogni singola persona del gruppo doveva leggere l'intera nuova pagina del diario, controllare ogni parola e scriverla a mano, una per una. Era come una classe in cui ogni studente doveva risolvere ogni problema di matematica alla lavagna, anche se gli era stato assegnato solo uno. Questo rendeva il sistema lento e costoso, specialmente quando si univano più persone. Gli scienziati chiamano questo "Tolleranza ai Guasti Bizantini", un modo sofisticato per dire che il sistema rimane sicuro anche se alcuni membri cercano di imbrogliare. La grande domanda che i ricercatori si sono posti è stata: Possiamo far lavorare questo gruppo più velocemente senza lasciare che i imbroglioni rovinino la festa?
Entra in scena OPERA, un'idea nuova dei ricercatori della Hanyang University che cerca di risolvere questo ingorgo permettendo agli studenti di dividersi il lavoro. Invece di far leggere a tutti l'intera pagina, OPERA assegna parti diverse della pagina a studenti diversi. È come un enorme buffet dove tutti portano un piatto diverso, ma tutti assaggiano il cibo degli altri per assicurarsi che nessuno abbia servito una mela avvelenata. I ricercatori hanno costruito un sistema chiamato OPERA-PBFT per testarlo. Hanno scoperto che, permettendo ai nodi (i computer che gestiscono la blockchain) di eseguire solo una piccola fetta delle transazioni e poi di ricontrollare il lavoro l'uno dell'altro, potevano rendere il sistema molto più veloce. Nei loro test, questo nuovo metodo ha gestito oltre 33.787 transazioni al secondo, ovvero circa 2,4 volte più veloce di alcuni dei sistemi esistenti più rapidi come Aptos. Anche quando il lavoro diventava disordinato e caotico, con molte transazioni che lottavano per gli stessi dati, OPERA ha rallentato solo di un piccolo 7%, mentre altri sistemi sono crollati o sono rallentati drasticamente.
Il Problema: Il Collo di Bottiglia del "Tutti Fanno Tutto"
Pensate a una blockchain tradizionale come a una biblioteca super rigorosa. Quando arriva un nuovo libro (un blocco di transazioni), ogni singolo bibliotecario (nodo) nell'edificio deve leggere l'intero libro dall'inizio alla fine, controllare ogni fatto e scriverlo nella propria copia personale. Anche se la biblioteca ha 100 bibliotecari, la velocità dell'intera biblioteca è limitata dal bibliotecario più lento. Se un bibliotecario è lento o si distrae, l'intera fila si ferma. Questo è chiamato "replicazione completa". È sicuro perché tutti controllano tutto, ma è incredibilmente dispendioso. È come avere 100 chef in una cucina, e ogni singolo chef deve cucinare l'intero pasto da 10 portate, anche se deve solo assaggiarne un piatto per sapere se è buono.
La Soluzione: Il "Buffet Specializzato"
Gli autori di questo articolo, Sungwook Chung e il suo team, si sono posti una domanda semplice: E se non obbligassimo tutti a cucinare l'intero pasto?
Hanno proposto OPERA, un nuovo modo per gestire la blockchain che utilizza la replicazione parziale. Immaginate la stessa cucina, ma questa volta lo chef capo (il leader) distribuisce un menù. Invece di far cucinare a ogni chef l'intero pasto da 10 portate, lo Chef A cucina solo gli antipasti, lo Chef B cucina solo la zuppa e lo Chef C cucina solo il dessert.
Ma ecco la parte complicata: e se lo Chef A fosse un bugiardo e servisse un'insalata marcia? Nel vecchio sistema, tutti lo avrebbero scoperto perché tutti avrebbero assaggiato tutto. In OPERA, poiché lo Chef B e lo Chef C non hanno toccato l'insalata, come possono sapere se è sicura?
OPERA risolve questo con una danza intelligente in due fasi:
- L'Assegnazione "Fidati ma Verifica": Ogni transazione (il piatto) viene assegnata a un piccolo gruppo di chef (nodi) per la cottura. Nello specifico, viene data a f + 1 chef primari e f - k chef di riserva. Il numero f rappresenta il numero massimo di imbroglioni che il sistema può gestire. Se il sistema può gestire 2 imbroglioni, allora almeno 3 chef devono cucinare e concordare sul risultato.
- Il Certificato di "Assaggio": Una volta che gli chef primari hanno finito, non si limitano a dire "È fatto". Consegnano un set di lettura/scrittura (read/write set). Pensate a questo come a una ricevuta che dice: "Ho letto questi ingredienti e ho cambiato questi sapori". Gli altri chef guardano queste ricevute. Se f + 1 chef (il numero minimo necessario per superare il voto dei mentitori) consegnano esattamente la stessa ricevuta, il sistema si fida del fatto che il piatto sia sicuro.
Se un chef primario è un imbroglione o scompare (un "guasto bizantino"), gli chef di riserva intervengono per cucinare il piatto e generare le proprie ricevute. Una volta raccolte abbastanza ricevute corrispondenti, il piatto è considerato "verificato".
La Danza del "Conflitto": Quando i Piatti Collidono
A volte, due piatti diversi devono usare lo stesso ingrediente. Ad esempio, due transazioni potrebbero tentare di spendere denaro dallo stesso portafoglio contemporaneamente. Nel vecchio sistema "tutti cucinano tutto", gli chef si sarebbero semplicemente alternati. In OPERA, poiché diversi chef stanno cucinando parti diverse, potrebbero accidentalmente tentare di usare lo stesso ingrediente simultaneamente.
Per risolvere questo, OPERA utilizza una tecnica chiamata Riesecuzione Deterministica di Risoluzione dei Conflitti (CRDR). È come un arbitro che osserva la cucina.
- Prima, il sistema esamina tutte le ricevute per vedere quali piatti collidono.
- Raggruppa i piatti non conflittuali e permette loro di essere serviti immediatamente.
- Per i piatti in conflitto, il sistema li esegue nuovamente, uno alla volta, in un ordine specifico, per garantire che il risultato finale sia perfetto.
Questo assicura che, anche se il lavoro è stato diviso, il risultato finale sia esattamente lo stesso che se una sola persona lo avesse fatto da sola. Garantisce che il "diario" rimanga coerente e che nessuno possa imbrogliare.
I Risultati: Velocizzare la Festa
I ricercatori hanno testato la loro idea costruendo OPERA-PBFT, una versione della blockchain che utilizza questo nuovo metodo di divisione del lavoro. Hanno eseguito simulazioni con diversi numeri di computer e diversi tipi di carichi di lavoro.
- La Grande Vittoria: Nei loro test, OPERA-PBFT ha raggiunto una velocità di 33.787 transazioni al secondo (TPS). Questo è 2,4 volte più veloce di Aptos, uno dei leader attuali in termini di velocità.
- Il Test della "Confusione": Hanno anche testato cosa succede quando il lavoro diventa caotico (chiamato "carichi di lavoro sbilanciati"), dove molte transazioni lottano per gli stessi dati. La maggior parte dei sistemi rallenta drasticamente in questo scenario. OPERA-PBFT è rallentato solo di un misero 7%, mentre altri sistemi come Aptos sono rallentati del 77%.
- Il Costo: Hanno anche misurato quanto "lavoro" compiva il sistema. In un sistema tradizionale, ogni computer svolge ogni compito. In OPERA, il lavoro totale è stato ridotto fino al 44%. Ciò significa che il sistema non è solo più veloce, ma anche più efficiente, utilizzando meno energia e potenza di calcolo.
Perché Questo è Importante
L'articolo suggerisce che non dobbiamo scegliere tra sicurezza e velocità. Per molto tempo, le persone hanno pensato che per mantenere una blockchain sicura dai mentitori, tutti dovessero fare tutto. OPERA dimostra che si può dividere il lavoro, lasciare che diversi computer gestiscano parti diverse e mantenere comunque il sistema sicuro e veloce.
È come rendersi conto che una grande orchestra non ha bisogno che ogni musicista suoni ogni strumento per creare musica bellissima. Se il direttore (il protocollo) assegna le parti giuste ai giocatori giusti e si assicura che si ascoltino l'un tempo, la musica può essere suonata più velocemente e con più forza che mai prima d'ora. I ricercatori hanno scoperto che questo approccio funziona anche quando alcuni giocatori cercano di suonare le note sbagliate, dimostrando che una blockchain può essere allo stesso tempo una cassaforte super sicura e un'autostrada ad alta velocità.
Sommerso dagli articoli nel tuo campo?
Ricevi digest giornalieri degli articoli più recenti corrispondenti alle tue parole chiave di ricerca — con riassunti tecnici, nella tua lingua.