approfondimento: lo sharding per consentire la scalabilità

sharding per la scalabilità delle cryptocurrencies

Le monete virtuali con meccanismo di consenso Proof of Work hanno il limite di un basso numero di transazioni al secondo. Cosa che non le rende sostituti credibili di forme di pagamento diffuse come le carte di credito.

Sharding come soluzione al problema della scalabilità delle criptomonete. Impariamo che vuol dire e come funziona.

Ad inizio anno, diciamo verso febbraio, la blockchain del Bitcoin riusciva a gestire dalle 3 alle 7 transazioni al secondo. Poche, sicuramente. Qualcosa in più si ottiene con la blockchain di Ethereum: da 12 a 30 transazioni al secondo. Numeri ridicoli, se paragonati al numero di transazioni al secondo che gestiscono le reti di carte di credito VISA o MasterCard.

Quindi, pensare oggi alle monete virtuali per sostituire i pagamenti con carte di credito è semplicemente ridicolo. Quantomeno, nell’uso quotidiano e per la diffusione di massa. Il problema, infatti, è uno solo: serve scalabilità. Serve cioè la tecnologia per innalzare a ben altri ordini di grandezza il numero massimo possibile di transazioni al secondo.

Questo limite nasce da una caratteristica intrinseca della blockchain di Bitcoin. E di tante diverse monete virtuali.

Il fatto è che ogni nodo della rete mantiene una copia completa della blockchain. Ciò, come sappiamo, garantisce la sicurezza e l’immutabilità della catena di blocchi stessa. Ossia, è pressoché impossibile per un cyber attaccante di modificare la catena, anche solo per un blocco. Tale modifica verrebbe infatti rigettata dagli altri nodi che possiedono la copia immutata.

Ogni aggiunta alla catena – ogni nuovo blocco, cioè – viene convalidata attraverso il meccanismo di consenso. Che per le monete virtuali più diffuse e datate è il Proof of Work (PoW). Funziona così. Tanti computer in rete, i miner, tentano di risolvere problemi di crittografia. E chi ci riesce per primo aggiunge alla catena il blocco su cui ha lavorato. Guadagnando, in premio, il block reward. Ed inviando, alla fine, il risultato delle proprie fatiche a tutti i nodi che conservano la blockchain. Un meccanismo costoso, in termini energetici.

Insomma: tanti utenti che vogliono processare le proprie transazioni, complessità crescente del mining, immutabilità della blockchain che, col tempo, aggiunge costantemente nuovi blocchi.

Il risultato è un fardello sempre più gigantesco. Sicuro contro gli hacker. Ma lento come un elefante.

La soluzione al problema della scalabilità si chiama sharding. Un concetto che abbiamo già sentito parlando di database. Nei gestori distribuiti di database, l’intero archivio è scomposto in frammenti. Ognuno di essi, di fatto una porzione orizzontale del database complessivo, è memorizzato in un’istanza separata del server. Il risultato è che il carico del database è distribuito tra le tante istanze del server. Ciascuna a carico di un diverso elaboratore. E, pertanto, consente agli utenti di accedere al database in modo veloce ed efficiente.

Se abbiamo capito finora, andiamo avanti.

Trasliamo il concetto di sharding di database alla blockchain. Ecco fatto: ogni nodo avrà solo una parte dei dati contenuti nella blockchain completa. I nodi manterranno e condivideranno solo un frammento delle informazioni della catena dei blocchi. Il decentramento viene quindi mantenuto. Ma a livello di frammento, non di blockchain completa. Il risultato dell’applicazione dello sharding è una migliorata scalabilità.

Facciamo un passo ancora. Il presupposto del PoW è che la validazione del nuovo blocco, attraverso l’opera dei miner, coinvolga tutti i nodi contenenti la blockchain. Applicando lo sharding, invece, i nodi avranno solo un frammento della blockchain. Quindi, il meccanismo di consenso va reinventato. O, meglio, deve seguire una logica diversa.

Per risolvere il problema della scalabilità delle monete virtuali, la strada giusta è lo sharding. Ma per implementarlo ci manca ancora un tassello. Ci manca cioè il sostituto del PoW. Si chiama Proof of Stake (PoS). In breve, secondo questo diverso meccanismo di consenso, ha maggiori possibilità di vincere la competizione per il nuovo blocco chi possiede il numero maggiore di token. Chi ha più monete, insomma. Infine, vincendo la competizione, si incassano le spese di transazione sostenute dagli utenti.

FONTE: https://medium.com

Leave a Reply

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *