Fermata #23 - Le dimensioni contano
Il tema della scalabilità è quello che ha più diviso la comunità Bitcoin, portandola a una vera e propria guerra ideologica. Dalla dimensione dei blocchi a Bitcoin Cash, che qualcuno ancora utilizza
Il 24 marzo scorso un parlamentare dell’isola caraibica di St. Maarten, Rolando Brison, ha annunciato che convertirà il suo intero stipendio in Bitcoin Cash1, manifestando la volontà di trasformare la sua terra nella “capitale caraibica delle criptovalute”. La notizia ha suscitato un pizzico di ironia nella comunità Bitcoin, non tanto per l’interesse istituzionale verso il vasto (quanto fumoso) mondo “cripto”, quanto per il fatto che la scelta sia ricaduta proprio su Bitcoin Cash. Oggi scopriamo i motivi che hanno portato alla luce BCash e il perché la sua nascita, nel 2017, ha rappresentato uno dei capitoli finali di una delle più grandi battaglie ideologiche sulla funzione e sul futuro di Bitcoin.
Per comprendere al meglio il tema è opportuno fare un passo indietro, ricordando la funzione base della blockchain.
La blockchain è inefficiente
Un male necessario
Il fatto che ogni azienda che intenda apparire innovativa oggi lanci progetti basati su “blockchain”, non significa che quest’ultima sia una tecnologia efficace. Anzi, per come è stata introdotta all’interno del sistema Bitcoin nel 2009 è decisamente inefficiente.
La proof-of-work chain, così come l’ha definita Satoshi Nakamoto nel white paper pubblicato nel 2008, è un male necessario: è indispensabile per distribuire la governance del network e rendere antieconomici gli attacchi a Bitcoin, ma è inefficiente nel processare le transazioni. Questo perché ogni pagamento deve essere verificato e memorizzato dall’intera rete globale. L’acquisto di un gelato a Roma, per esempio, deve essere registrato anche dal rivenditore di automobili di Tokyo: tale procedimento implica tempi e costi inaccettabili per uno strumento di pagamento che sia istantaneo e diffuso in tutto il mondo: in poche parole, non è scalabile. Non a caso la blockchain di Bitcoin ospita all’incirca 280 mila transazioni al giorno, mentre grandi reti centralizzate (e in quanto tali più efficienti) come Mastercard e Visa processano rispettivamente 366 milioni e 597 milioni di transazioni.
La soluzione Lightning Network
Questo non significa che Bitcoin non diventerà mai un network globale di pagamenti immediati, perché per sopperire alle carenze intrinseche della blockchain esiste Lightning Network - al quale dedicherò un approfondimento in futuro - che permette transazioni in bitcoin fulminee, in tutto il mondo e con commissioni quasi inesistenti. Ma se oggi Lightning Network - proposto nel 2015 e implementato nel 2018 - sembra un protocollo in grado di rendere obsolete tutte le altre tecnologie di pagamento, prima della sua nascita il problema della scalabilità ha creato spaccature enormi all’interno della comunità Bitcoin.
Distribuzione o scalabilità?
Come scritto nella fermata #17, nel mondo delle reti distribuite il trade-off più noto è conosciuto come il Trilemma perché coinvolge tre variabili: decentralizzazione, scalabilità e sicurezza. Non si può raggiungere il livello massimo in tutti e tre gli aspetti perché il miglioramento di uno implica direttamente il peggioramento di un altro.
Quello che ha diviso maggiormente la comunità negli anni scorsi è il trade-off tra distribuzione del consenso (e della governance) e scalabilità del network e si è manifestato in particolare in un aspetto: la dimensione dei blocchi della blockchain. Capiamo come.
La dimensione dei blocchi
Una transazione in bitcoin è puro testo. Quando si effettua un pagamento non si fa altro che ordinare a un software di scrivere codice che, compatibilmente con il protocollo Bitcoin, comunichi al resto della rete che il soggetto A sta inviando un determinato importo al soggetto B. I testi contenenti le varie transazioni vengono raggruppati in pacchetti di dati (e quindi di byte) che, insieme ad altre informazioni, formano i blocchi della blockchain, la cui dimensione massima non supera i 4 MB2: questo fa sì che all’interno di un blocco si possa inserire solamente una quantità di testo (byte) limitata. Quando le transazioni sono troppe, alcune vengono escluse dal blocco, restano in un limbo chiamato mempool e aspettano di essere incluse nei blocchi successivi3.
In poche parole più la transazione è complessa, più testo deve essere scritto, maggiore è lo spazio che verrà occupato all’interno del blocco. E’ per questo che le commissioni, a differenza di come si potrebbe pensare, non vengono pagate in base all’importo transato, ma alla dimensione (in termini di byte) della transazione.
Perché un tetto alla dimensione del blocco?
Ai più attenti potrebbe essere sorta una domanda. Perché i blocchi devono avere una dimensione massima? Togliendo questo tetto tutte le transazioni potrebbero essere incluse e i tempi della loro approvazione diminuirebbero drasticamente, rendendo Bitcoin più scalabile. Tuttavia un simile aggiornamento comprometterebbe la decentralizzazione della rete, come dimostrato (più avanti capiremo il perché) da Bitcoin Cash. Per operare un full-node Bitcoin, infatti, è necessario scaricare l’intera blockchain, che occupa oggi meno di 400 GB di memoria4. Questo significa che con pochi euro chiunque può avviare un proprio nodo contribuendo alla distribuzione della governance.
Se i blocchi contenessero più dati, il peso complessivo dell’intera blockchain sarebbe enormemente più alto e il costo di operare un full-node diventerebbe per tanti proibitivo. Si otterrebbe, in poche parole, un Bitcoin meno inclusivo. Non è un caso se oggi la rete Bitcoin conta circa 50 mila nodi, mentre la rete Ethereum - che per operare un nodo completo richiede 6 TB di memoria (15 volte tanto rispetto ai 400 GB di Bitcoin) - solo 5 mila.
La Blocksize war e Bitcoin Cash
Il tema della dimensione dei blocchi è stato di gran lunga il più dibattuto nella storia di Bitcoin. Lo scontro - durato indicativamente 2 anni, da agosto 2015 a settembre 2017 - è stato talmente duro da ispirare la scrittura di un libro intitolato The Blocksize War.
Il rischio che la creatura di Satoshi Nakamoto subisse una trasformazione così radicale è stato più che mai concreto perché i sostenitori della modifica formavano una fetta molto ampia della comunità. A scongiurare il cambiamento è stato il consenso trovato attorno a SegWit, l’aggiornamento più importante della storia di Bitcoin, che, tra le altre cose, ha permesso di migliorare la scalabilità del network, portando la dimensione del blocco da 1 a 4 MB circa, e ha reso molto più semplice l’implementazione nel 2018 di Lightning Network.
A quel punto, però, la spaccatura era già talmente profonda che nemmeno SegWit è stato in grado di ricucirla. I cosiddetti “large blockers” - ossia quelli che volevano blocchi significativamente più grandi - hanno fatto nascere nuovi progetti. Il più noto è Bitcoin Cash, che ha la dimensione massima dei blocchi impostata a 32 MB. L’idea alla base di questa nuova criptovaluta era che la funzione di Bitcoin dovesse essere principalmente quella di mezzo di scambio digitale (da qui il termine “cash”) e che perciò la sua scalabilità fosse prioritaria rispetto alla decentralizzazione della rete.
A stabilire vincitori e vinti ci hanno pensato il tempo e il mercato. Considerando la sempre più capillare diffusione di Lightning Network oggi Bitcoin Cash non può definirsi più scalabile di Bitcoin e, allo stesso tempo, la sua rete fa affidamento su solamente 1000 nodi, contro i 50 mila di Bitcoin. Anche la capitalizzazione di mercato è emblematica: 6,9 miliardi di dollari per Bitcoin Cash, 851 miliardi per Bitcoin.
Eppure, tra le isole caraibiche, c’è ancora qualche sostenitore di BCash.
COME ACQUISTARE BITCOIN?
Alcuni lettori mi hanno chiesto quale sia il miglior metodo per comprare bitcoin. Pur avendo risposto in privato ai diretti interessati, sfrutto questo spazio per dare un’indicazione a tutti voi.
Personalmente, quello che reputo come il servizio migliore è Relai. Per acquistare bitcoin risparmiando lo 0,5% in commissioni potete usare il codice “FEDERICO”.
Si tratta di un’applicazione sviluppata da un’azienda svizzera che applica una politica di KYC light: a differenza dei grandi exchange non richiede registrazioni o dati personali, tutto ciò che serve per comprare è il proprio IBAN. E’ ottimale per impostare dei piani di accumulo.
Una delle migliori caratteristiche è il servizio non-custodial. Gli euro bonificati a Relai vengono convertiti automaticamente in bitcoin e trasferiti su un wallet di cui è l’utente ad avere il controllo. I grossi exchange, al contrario, non forniscono le chiavi private ai clienti. In più Relai non vende centinaia di inutili criptovalute, ma solo bitcoin.
NOTA - Questo NON è un messaggio pubblicitario. Relai è un servizio che utilizzo personalmente e che reputo tra i migliori sul mercato in termini di affidabilità, sicurezza e facilità d’uso. Lo consiglio spesso ad amici e parenti. Cosa ci guadagno? Quello che fanno guadagnare i referral code. In questo caso se acquistate con il codice “FEDERICO” risparmiate lo 0,5% sulle commissioni e io ricevo (in bitcoin) lo 0,5% dell’importo che avete deciso di investire.
Bitcoin Cash: criptovaluta nata nel 2017 da una parte della comunità Bitcoin che non credeva più nel Bitcoin originale. E’ conosciuta anche come BCash.
Nei primi periodi i blocchi Bitcoin non avevano una dimensione massima. Nel luglio 2010, un anno e mezzo dopo la nascita del protocollo, Satoshi Nakamoto ha fissato il limite a 1 MB. Con l’implementazione di SegWit, avvenuta ad agosto 2017, i blocchi possono arrivare fino 4 MB.
Se si tratta di un pagamento tra persone fidate, questo non comporta problemi. Se si tratta invece di un rapporto commerciale tra soggetti che non si conoscono è un problema, perché fino a quando non è inclusa in un blocco (o “confermata”) una transazione può essere annullata dal pagante e, se la rete è congestionata e la commissione è molto bassa, i tempi di attesa possono essere molto lunghi.
Un hard disk da 1 TB, cioè con più del doppio della capacità, costa oggi poche decine di euro.