Il Bitcoin è al momento la crittovaluta più diffusa. Quando nel 2012 iniziammo a studiarla, rimanemmo affascinati dal concetto di crittovaluta, che rappresenta una bellissima applicazione della crittografia. In questo articolo vorrei soffermarmi su una proprietà che il Bitcoin dovrebbe avere secondo i suoi sostenitori, cioè quella di essere un “means of payment” (un mezzo di pagamento) e sul perché il Bitcoin non l’ha ancora raggiunta.
Bitcoin per i pagamenti
Alla base del Bitcoin risiede la tecnologia blockchain, a sua volta un’applicazione della crittografia di grande interesse.
Volendo riassumere in maniera estremamente semplificata, potremmo dire che la blockchain è un libro mastro che permette a entità logiche, chiamate “indirizzi”, di scambiarsi dei bitcoin. Ogni scambio di bitcoin si chiama “transazione”. Grazie a proprietà delle “cryptographic hash function” e della firma digitale (crittografica), ogni transazione che viene inserita nella blockchain è irreversibile e pubblica. L’irreversibilità è una caratteristica dello scambio di bitcoin che lo avvicina allo scambio del contante e lo distingue nettamente da forme precedenti di e-payment, come ad esempio i pagamenti tramite carte di credito, con le quali si può sempre annullare una transazione, purché si convincano le autorità preposte. Non ci sono “autorità” nel Bitcoin, nessuno può cancellare una transazione ormai confermata. D’altro canto, tutte le transazioni sono pubbliche, ovvero chiunque può vedere, in ogni singola transazione, quale indirizzo Bitcoin stia mandando bitcoin e quale indirizzo Bitcoin li stia ricevendo.
Questo allontana il Bitcoin dal mondo del contante e lo avvicina ai tradizionali servizi di e-payment, sebbene in questi ultimi le regole del KYC (Know Your Customer) permettono un controllo più stretto sull’identità effettiva degli attori, mentre nei pagamenti di bitcoin si vedono solo gli indirizzi, ovvero stringhe alfanumeriche da cui è più complicato completare un’identificazione.
Per effettuare una transazione è necessario utilizzare la chiave privata (crittografica) corrispondente all’indirizzo su cui sono presenti i bitcoin, mentre il ricevente non deve fare nulla, anzi non può nemmeno rifiutare i bitcoin in arrivo.
L’autoregolamentazione bitcoin e i suoi problemi
Avendo presentato sommariamente le transazioni Bitcoin, è necessario esaminare in qualche dettaglio la cosiddetta proprietà “crypto-anarchica” del Bitcoin, da cui poi inevitabilmente nascono i fork. I sostenitori del Bitcoin sono convinti che il Bitcoin rappresenti un sistema monetario (sia riserva sia scambio) in cui manchi un insieme di autorità preposte a regolarne il funzionamento. Secondo loro, il sistema si auto-regola, con il meccanismo che adesso brevemente descriviamo.
Per fare funzionare il Bitcoin servono tre figure: gli utenti finali, che usano dei programmi chiamati “wallet” per scambiarsi bitcoin vicendevolmente, i “miner”, che aggiornanono la blockchain inserendo nuove transazioni, e gli sviluppatori del software (sia i wallet sia il software per il mining, ossia l’attività compiuta dai miner). Quando un miner crea un blocco di nuove transazioni, egli lo propaga a tutto il network (la rete costituita dagli utenti finali e dai miner). Questo è il punto delicato: gli altri miner possono accettare il nuovo blocco oppure rifiutarlo. Ribadisco: la scelta è unicamente loro! Ogni miner, per ragioni proprie imperscrutabili, decide se accettare il nuovo blocco o no.
Secondo gli ideatori del Bitcoin, il miner dovrebbe respingere un blocco solo se le transazioni non sono valide (ad esempio, se un utente spende più soldi di quelli che ha) e se non rispetta il formato informatico che ci si aspetta da un blocco. In questo mondo ideale, un comportamento irrazionale di qualche miner sarebbe penalizzato dal comportamento della maggioranza degli altri, e quindi ci si aspetterebbe che il sistema tendesse a un equilibrio.
In questo mondo ideale, le transazioni di bitcoin sono veloci (massimo un’ora) e con commissioni bassissime rispetto ai pagamenti elettronici convenzionali.
Purtroppo la proprietà di auto-regolazione è entrata in crisi non appena il Bitcoin ha iniziato ad essere adottato su larga scala, cioè nel 2017. Per come è stato inizialmente pensato, un blocco di transazioni può permettere il processamento di un massimo teorico di 7 transazioni al secondo, in quanto viene aggiunto un nuovo blocco alla blockchain ogni 10 minuti e ogni blocco non può eccedere la dimensione di un MB (MegaByte). Se si considera che il solo circuito Visa viaggia sulle migliaia di transazioni al secondo, ci si rende conto dell’abisso di prestazioni. Da luglio del 2017 le transazioni che il sistema Bitcoin non riesce a smaltire (le cosiddette “pending transactions” o “unconfirmed transactions”) sono arrivate a numeri altissimi, al momento in cui scrivo ce ne sono più di 150.000. La conseguenza più eclatante è che la maggior parte delle nuove transazioni ci mette più di una settimana per essere confermata, il che rappresenta un tempo esorbitante per un sistema di pagamento.
Le soluzioni ai problemi bitcoin
Per rimediare al problema, varie soluzioni sono state tentate.
- Quella tentata dagli utenti è pagare una spesa di commissione più alta (l’ammontare della spesa di commissione è volontario, ma influenza la priorità con cui la transazione viene processata). Questa però è una soluzione peggiore del male, perché si è scatenata una gara tra i Wallet a chi paga la commissione più alta, facendo andare alle stelle le spese di commissione. Quindi dal mondo ideale in cui ci saremmo dovuti trovare, stiamo andando verso lo scenario peggiore: transazioni lentissime e carissime.
- Le soluzioni tentate dagli sviluppatori dei software Bitcoin sono molteplici. Il gruppo di sviluppatori più noto è quello che sviluppa Bitcoin Core, e che approssimativamente coincide con la Bitcoin Foundation. Questo gruppo comprende molti dei pionieri del Bitcoin e pensa che le soluzioni proposte da loro saranno adottate da tutti. Però non esiste un’autorità nel Bitcoin, quindi sia gli utenti che i miner sono liberi di accettare o respingere le loro proposte, utilizzando o meno gli ultimi software da loro sviluppati. Obiettivamente, il “quieto vivere” spinge la maggior parte degli utilizzatori a seguire le decisioni di Bitcoin Core/Bitcoin Foundation.
Per risolvere il problema della congestione delle transazioni (e quindi delle spese di commissione altissime), gli sviluppatori di Bitcoin Core hanno pensato di agire su due fronti. Intanto, hanno tolto dai blocchi una parte delle informazioni presenti in ogni transazione.
Questo approccio (chiamato “SegWit”, abbreviazione di “Segregated Witness”), che è molto tecnico e non possiamo spiegare in poche righe, permette di tenere la grandezza massima del blocco a un MB, aumentando il numero di transazioni di un fattore variabile, arrivando in media alla possibilità di processare circa 15 transazioni al secondo. Il secondo fronte è permettere la creazione di catene di blocchi al di fuori della blockchain del Bitcoin, registrando a parte degli scambi parziali di denaro il cui totale viene poi riportato sulla blockchain del Bitcoin. Ad esempio, immaginiamo di essere un utente che compra spesso su Amazon. Invece di creare una transazione per ogni nostro acquisto su Amazon, si potrebbe creare una transazione una volta al mese che riassume tutti gli acquisti.
Un modo per farlo è utilizzare il nuovo protocollo “Lightning”. Dubito che questo approccio possa effettivamente funzionare, per ora non è stato ancora implementato e la congestione rimane.
- Infine, anche i miner si sono mossi. Quando un gruppo di miner decide di accordarsi su un cambio di formato della blockchain, si crea un “fork”, ovvero una diramazione dalla catena dei blocchi di transazioni. I miner che seguono la modifica creano e accettano i blocchi modificati, gli altri si rifiutano di farlo e continuano a validare solo i blocchi standard.
In questo caso si è creato un gruppo consistente, pari a circa il 15% del totale della potenza computazionale del network Bitcoin mondiale, che ha deciso che la grandezza dei blocchi non può rimanere fissa a un MB ma deve altresì seguire la richiesta.
Hanno pertanto impostato la grandezza massima dei blocchi a 8 MB riuscendo a evitare completamente congestioni, tenendo di conseguenza le spese di commissione molto basse. E sono anche pronti ad aumentare ulteriormente la grandezza del blocco qualora necessario. Questi miner hanno deciso di assumere come nome “Bitcoin Cash”: “Bitcoin” evidenzia la continuità con il progetto originale di Satoshi Nakamoto (l’inventore del Bitcoin), “Cash” evidenzia la caratteristica di essere “means of payment”, che il Bitcoin tradizionale ha al momento perso.
Queste variegate soluzioni alternative, spesso in contrasto fra di loro, tendono a confondere chi si avvicina al mondo delle crittovalute.
Non aiuta l’insorgere di valute con nomi sapientemente scelti per attirare facili investimenti su tecnologie portatrici di dubbia innovazione.
Tra queste abbiamo “Bitcoin Gold” e “Bitcoin Diamond”, ad esempio. Si tratta di fork, cioè in ultima analisi di gruppi di miner che dissentono dalla linea del Bitcoin Core e che quindi cambiano il formato dei blocchi e/o delle transazioni. A mio parere non si sente il bisogno di questi fork.
E’ giustissimo che si creino altre crittovalute (ce ne sono al momento più di mille), come il Litecoin, Ethereum o Monero, che rispondono a esigenze molto diverse da quelle del Bitcoin, ma creare un fork del Bitcoin ha senso solo se il Bitcoin standard non riesce ad auto-regolarsi e a imporsi un cambiamento quando si scontra con un problema strutturale, come quello precedentemente esposto della congestione delle transazioni.
La mia conclusione è che l’ideale di auto-regolazione del sistema ha mostrato i suoi limiti alla prima vera prova che ha affrontato (la scalabilità), in quanto il Bitcoin al momento si è ridotto ad essere solo un investimento. I fork sono l’unico modo in cui il sistema può uscire dalla trappola della staticità e il più promettente è certamente Bitcoin Cash.