Direttore responsabile: Giovanni Capaccioli

La velocità delle transazioni in blockchain: l’evoluzione di un limite

a cura di:
Dane Marciano, CEO di Affidaty S.p.A
Giovanni Capaccioli, R&D di Affidaty S.p.A

La velocità delle transazioni in blockchain: l’evoluzione di un limite

Efficienza.

Sono circa circa 10 anni che la blockchain, che ha dato origine a tutto il movimento, è nata. I programmatori (sia  che si parli di Satoshi Nakamoto sia che si parli di un gruppo di programmatori a lui riferiti) hanno, nel tempo, mantenuto pulito il codice della blockchain, tenendolo pressoché sgombro da modifiche di vario tipo. Questo sostanzialmente perché è sempre stato ritenuto che, fin dalla sua nascita, esso prevedesse gli scenari migliori e maggiormente eterogenei da quel presente al futuro.

Successivamente sono nate nuove blockchain: alcune partendo dalle basi dettate da Bitcoin e discostandosi poco da esse, altre, invece, partendo da nuove considerazioni, nuovi punti di vista, nuovi problemi da affrontare, nuove situazioni socio economiche sviluppatesi.

È da sottolineare che l’ecosistema Bitcoin, negli anni, si è enormemente trasformato, passando da pochi appassionati iniziali a più di 10 milioni di utenti con un numero di wallets stimato in maggiore di 30 milioni totali. Persino il numero di transazioni ha incontrato una crescita notevole, stimata adesso tra le centinaia di migliaia.

Se da un lato stiamo positivamente assistendo ad una notevole crescita dei dati di utilizzo di tale tecnologia, dall’altro in molti hanno osservato quello che potrebbe essere un problema da risolvere piuttosto velocemente: l’impossibilità di processare una tale mole di transazioni ad una velocità adeguata, tale per cui questa tecnologia possa essere agilmente e giornalmente usata dal cittadino comune per la miriade di classiche micro transazioni che ha sempre fatto e sempre farà.

La missione più grande degli sviluppatori Bitcoin è, infatti, quella di portare la propria blockchain nelle mani di tutti, compresi coloro che effettuano quelle molte micro transazioni giornalmente. Per ottenere questo risultato, il metro di paragone è sicuramente uno strumento come Visa, che è capace di operare circa 150 milioni di transazioni giornalmente, 24.000 al secondo.

Si parla chiaramente di due sistemi molto diversi, uno estremamente centralizzato, l’altro decentralizzato e distribuito. 

Ma perché Bitcoin non può ad oggi processare così tante transazioni? I motivi possono essere vari in relazione all’argomento trattato, ma i due principali che sono stati lungamente portati alla luce sono il “limite di dimensione del blocco” e la Proof of Work presa nel suo complesso.

Oggettivamente, la PoW di Bitcoin è stata costruita e codificata affinché un blocco possa essere trovato, minato, hashato, inserite e messe in sicurezza le transazioni, chiuso ed accettato da tutta la rete di nodi in un tempo stimato pari a 10 minuti. Estremamente sicuro, trustless, distribuito e decentralizzato. L’algoritmo di Bitcoin, inoltre, si auto-adatta nel tempo: la difficoltà della PoW viene gestita e modificata automaticamente affinché le azioni per l’apertura e chiusura del blocco, con le transazioni al suo interno, rimangano stimate in 10 minuti. Ecco perché Bitcoin è stimato avere 7 transazioni al secondo.

Un ulteriore motivo che porta, oggi, questa velocità a non essere applicata alle micro transazioni giornaliere è la restrizione emessa sulla grandezza di un blocco.

Nel 2010 Nakamoto introdusse come misura di sicurezza un limite di 1 MB alla dimensione dei blocchi. In tal modo i blocchi aventi una dimensione superiore ad 1 megabyte sarebbero stati automaticamente rifiutati dal network poiché invalidi. Questo sistema venne progettato per prevenire potenziali attacchi DDoS da parte di hacker che avrebbero potuto creare blocchi di dimensioni enormi, se non addirittura infiniti, per diffonderli nella rete e di conseguenza paralizzarla.

La decisione ha però dato vita ad un grosso problema nel lungo termine legato alla capacità della rete stessa.

Il limite attuale di 1 megabyte può realisticamente supportare da tre a sette scambi al secondo, una prestazione che per una rete di queste proporzioni risult già insufficiente, ed è stimato che l’espansione del bacino di utenti possa peggiorare questa situazione.

Ecco perché qualsiasi sviluppatore blockchain, che si tratti di Bitcoin, Ethereum, EOS, Litecoin e così via, è in continua ricerca e sviluppo di scenari e possibili soluzioni da affiancare, alternare o sostituire ai già collaudati metodi.

Più la comunità è grande, maggiori saranno le soluzioni, migliori saranno i prodotti costruiti in relazioni agli ecosistemi ai quali siano stati studiati per essere applicati.