Immaginiamo per un attimo che Bitcoin Cash sia Bitcoin: stesso hashrate, stessi miner, stessi nodi, prezzo in USD dell’asset bitcoin cash (BCH) uguale a bitcoin (BTC), stessi utilizzatori; insomma, che Bitcoin Cash sia Bitcoin ma con un block size, che per il momento definiremo come la capacità massima in byte dei blocchi di transazioni, 32 volte superiore, ossia 32 MB al posto dell’attuale 1 MB.

Cerchiamo di sviluppare insieme un ragionamento che ci porti a comprendere perché il concetto di “big block” sia fondamentalmente nocivo per il Protocollo, ma prima vediamo perché si è deciso di intraprendere la strada dell’aumento delle dimensioni massime dei blocchi di transazioni.

Quella proposta dai sostenitori di Bitcoin Cash, e in misura ancora maggiore da quelli di Bitcoin SV, è una potenziale soluzione al problema della scalabilità on-chain di Bitcoin: il block size, attualmente di massimo 1 MB, è un parametro che limita artificialmente la quantità di transazioni inseribili in un blocco e dunque la quantità di transazioni al secondo (TX/s) che è possibile effettuare sfruttando il Protocollo Bitcoin (BP). La conseguenza è che Bitcoin on-chain non è (più) molto utile come protocollo transazionale mentre si presta bene ad essere riconosciuto come settlement layer, considerata la tendenza all’immutabilità delle transazioni inserite sulla blockchain.

Ogni transazione ha un peso, espresso in byte, che si somma a quello delle altre presenti in un blocco di transazioni. Questo peso totale non può in linea teorica superare il block size, sebbene per Bitcoin le cose siano un po’ diverse, dal momento che l’introduzione di SegWit ha portato con sé un nuovo parametro chiamato block weight, che in qualche modo rappresenta un escamotage e permette ai blocchi di pesare di fatto più di 1 MB, fino a un massimo di 4.

Ma per il nostro ragionamento, ipotizzeremo che questo nuovo parametro non esista, al fine di confrontare equamente i due protocolli (BP e BCP) e avere dunque le stesse condizioni di partenza, dal momento che Bitcoin Cash non adotta SegWit e dunque non può usufruire del block weight. Non vogliamo un confronto impari, giusto?

Ritornando al limite artificiale alla dimensione dei blocchi, possiamo dedurre che se lo si aumentasse, o se addirittura si decidesse di rimuoverlo, il numero di transazioni per blocco aumenterebbe significativamente, in proporzione al nuovo limite stabilito. Potrebbero persino tendere a infinito se si adottassero dei giga blocks

Sulla carta il ragionamento funziona, tuttavia esiste un tradeoff, un compromesso di tipo tecnologico/economico che fa vacillare tutto il ragionamento. In questo articolo cercheremo di comprendere quale sia.
Prima di iniziare, però, è necessario comprendere quale sia il modello economico di Bitcoin alla base dell’incentivo ai miner.

Da dove derivano le entrate dei miner di Bitcoin?

I miner ricevono un incentivo al fine di rafforzare la sicurezza della catena di blocchi e far tendere le transazioni all’irreversibilità: maggiore è la difficoltà nello scoprire la Proof-of-Work (PoW) e maggiore è il numero di competitor, più alta è la sicurezza della catena, dato che va a ridursi la possibilità per i miner di effettuare reorg o double spending.

Questo incentivo monetario è chiamato Reward (premio) ed è così composto: R = S + MF, dove R sta per Reward, S per Subsidy e MF per Mining Fees.

Il premio è dunque la somma del Subsidy, ossia i nuovi bitcoin immessi in circolazione, più le commissioni (Mining Fees) inserite dagli utenti che inviano transazioni e costituite da bitcoin già in circolazione.

Quando l’utente ha bisogno di inserire velocemente la sua transazione all’interno della catena di blocchi, va ad aumentare le commissioni, quando invece non ha fretta ha la possibilità di pagare fee inferiori.
Il Protocollo Bitcoin è stato creato in modo tale da ridurre uno dei parametri presenti sopra, il Subsidy, ogni quattro anni, per la precisione ogni 210.000 blocchi, per effetto di un evento programmato chiamato Halving. 

Si partì con 50 bitcoin nuovi per blocco e dopo quattro anni si passò a 25, poi a 12,5: a maggio di quest’anno si è arrivati a 6,25.

Il sistema dunque è concepito in modo da far tendere il valore S a zero, e diminuire quello che in gergo viene definito inflation rate, un parametro che in italiano potremmo definire inflazione monetaria; tuttavia, per non far arrabbiare gli economisti che definiscono inflazione il solo aumento dei prezzi, diremo che il Protocollo fa sì che con il tempo l’offerta monetaria si riduca e tenda a zero.

Poiché il valore S tende a zero, la nostra formuletta esposta in precedenza diverrà: R = S → 0 + MF → R (perdonate l’esposizione errata della formula; so che il “tendente a” dovrebbe andare sotto i due parametri!), dove S appunto tende a zero e MF tende al valore R, ossia va a rappresentare la totalità del premio ai miner.

Il destino finale del Protocollo è quello di avere un R = MF, ossia un Reward per i miner pari alle sole commissioni.

Cosa accade quando il network di Bitcoin diventa congestionato?

Attualmente, come abbiamo già visto, il Protocollo Bitcoin ha un limite artificiale che ha come conseguenza diretta una ridotta scalabilità on-chain — è possibile fare un numero limitato di transazioni, pari a circa 4 transazioni al secondo  —  e come conseguenza indiretta un aumento delle commissioni ai miner in caso di congestione del network.

Quando infatti gli utenti aumentano il numero delle loro transazioni on-chain, i miner sono incentivati a includere nei blocchi le transazioni con una quantità di fee maggiore e ad escludere quelle con commissioni minori: non fosse così genererebbero meno profitto e rischierebbero di rendere il loro business non remunerativo.

Ecco però che quando il numero di transazioni aumenta al punto da riempire i blocchi, il network si satura e le transazioni con una minor quantità di commissioni vengono messe in coda, lasciate all’interno delle mempool dei nodi, in attesa di essere prima o poi inserite in un blocco da qualche miner “benevolo” e “fortunato”, poiché deve inserire queste transazioni con commissioni minori all’interno del suo blocco candidato e deve trovare la Proof-of-Work prima dei competitori.

La situazione di congestione tende a presentarsi ogni volta che il numero di transazioni aumenta, vuoi per un rinnovato interesse verso Bitcoin da parte di nuovi utenti, vuoi perché si effettua un halving senza che il prezzo in USD del singolo bitcoin raddoppi.

Immaginate di essere un miner che per effetto dell’halving vede ridursi il suo compenso esattamente della metà: dovrete compensare le perdite in qualche modo!

O riducete i costi, magari spegnendo i macchinari, ottimizzandoli o trovando un posto in cui l’elettricità e la manutenzione costano di meno, o vendete i vostri nuovi e sudati bitcoin a un prezzo maggiore (impossibile coordinare un aumento di prezzo in un network decentralizzato !)... oppure vi concentrate sulla componente MF della nostra formula, andando a preferire transazioni con commissioni maggiori.

Questo in gergo viene definito Fee Market, anche se per alcuni si dovrebbe chiamare Blockspace Market, dal momento che è come se l’utente partecipasse a un' asta per accaparrarsi del prezioso spazio sui blocchi di transazioni (Blockspace).

BCH offre transazioni più economiche... a scapito della decentralizzazione

Bene, fatta questa lunga e stancante premessa su Bitcoin, possiamo concentrarci su Bitcoin Cash.

Abbiamo detto all’inizio che per questo ragionamento ipotizzeremo che Bitcoin Cash sia Bitcoin, ossia che presenti le stesse condizioni attuali del network e che il suo asset abbia lo stesso prezzo in USD di bitcoin.
Bitcoin Cash ha però dei blocchi da 32 MB, dunque, a parità di peso per transazione, i miner possono inserire un numero 32 volte superiore di transazioni per blocco.

Se oggi ogni blocco Bitcoin contiene mediamente 2.500 transazioni (4,16 TX/s), con Bitcoin Cash ne conterrebbe teoricamente 80.000 (133 TX/s).
In uno scenario in cui il Subsidy tende a zero e i miner sono incentivati a riempire i blocchi per poter guadagnare il Reward (pari alle commissioni), anche qui si tenderebbe alla saturazione dei blocchi, con però una differenza fondamentale: le commissioni per singola transazione potrebbero essere decisamente inferiori a quelle attualmente presenti su Bitcoin.

Tutto bene, dunque? Non proprio.

Bitcoin è la prima forma di denaro contante elettronico decentralizzato. Attenzione: la decentralizzazione non è un vezzo, ma una caratteristica fondamentale che rende il Protocollo resistente alla censura, le transazioni tendenti all’immutabilità e garantisce una costanza nella sua politica monetaria che va a rendere bitcoin un tipo di denaro “sonante”, scarso e difficile da produrre (Hard Money).

La decentralizzazione fa sì che le modifiche al Protocollo debbano trovare il più ampio consenso possibile e di conseguenza, è fondamentale preservarla e possibilmente estenderla.

Ora, abbiamo Bitcoin Cash (il nuovo Bitcoin) con blocchi da 32 MB, belli saturi (per fortuna!). Cosa succede alla blockchain?

Il primo effetto osservabile è un aumento delle dimensioni della stessa: con blocchi da 1 MB abbiamo un network la cui catena di blocchi pesa ad oggi 316 GB e ha blocchi saturi al 99,8% di media, come possibile vedere in questa immagine:

Immaginate di quanto possa aumentare la catena con blocchi pesanti 32 MB: ipotizzando una situazione teorica e ideale in cui la saturazione attuale dei blocchi dovesse essere stabile, significherebbe un aumento di 32 MB ogni 10 minuti, 4.608 MB al giorno (144 blocchi), 1.681.920 MB, ossia 1.68192 TB all’anno (52.560 blocchi).

Chiaramente si tratta di ipotesi ma se la confrontiamo con la situazione della catena di Bitcoin a parità di condizioni, vediamo che quest’ultima aumenterebbe di 1 MB ogni 10 minuti, 144 MB al giorno e 52.560 MB, ossia 52.56 GB, all’anno. 

Vogliamo portare all’estremo questo ragionamento? Ok. Ipotizziamo che tutte le transazioni nei blocchi di Bitcoin siano SegWit e che il peso effettivo dei blocchi sia di 4 MB: avremmo un aumento di 4 MB ogni 10 minuti, 576 MB al giorno, 210.240 MB, ossia 210,24 GB all’anno. Una discreta differenza rispetto a Bitcoin Cash, non trovate?

Ma, se vogliamo, l’aumento delle dimensioni della catena di blocchi non è neanche il maggiore dei problemi, dopotutto lo spazio a disposizione negli hard disk domestici, senza considerare quelli aziendali, aumenta costantemente e i costi si riducono all’aumentare della produzione che a sua volta aumenta a causa della domanda crescente.

Esistono altre componenti da considerare: la capacità delle linee Internet, il throughput delle stesse e quello dell’hardware dei nodi che validano i blocchi di transazioni del network.

Un aumento così vertiginoso della blockchain non richiede solo che ci siano persone disposte a mantenere l’intera storia delle transazioni memorizzata sui loro hard disk, ma che abbiano anche accesso a reti con capacità e throughput elevati, al fine di eseguire un download iniziale dei blocchi in modalità trustless (IBD) ossia senza fare affidamento su servizi di fast sync (o snapshot), processare la grande quantità di dati immessi nel network per validare i blocchi, e impedire che ci sia asincronia tra i nodi durante la propagazione, con conseguenti problemi alla temporalizzazione dei blocchi di transazioni e rischi di crash sistemici. 

Il mantenimento di nodi validatori tenderebbe alla professionalizzazione, come avvenuto per il mining, andando ad incidere sull’elemento fondamentale del nostro contante digitale: la decentralizzazione del Consenso.

Purtroppo siamo soggetti a un relativismo culturale che ci fa credere che il mondo intero sia nelle nostre stesse condizioni di sviluppo tecnologico, che l’accesso a linee Internet ad alta velocità sia la norma, e che non ci sia un divario tecnologico (digital divide) tra le zone economicamente più ricche del Pianeta e quelle più povere, quando in realtà all’interno di uno stesso Paese potrebbero presentarsi divari non indifferenti. 

Oltre ad essere soggetti a questo relativismo culturale tendiamo anche a non considerare i tradeoff che la tendenza alla centralizzazione e alla professionalizzazione della validazione comportano.

Incrementando la capacità dei blocchi, Bitcoin diverrebbe meno resistente alla censura

Il digital divide potrebbe comportare la presenza di big farm validator così — chiamo così i validatori professionali —  in limitati Paesi, in cui si incontrano i due parametri costo di mantenimento/innovazione tecnologica (Cina?). La conseguenza potrebbe essere una potenziale mancanza di uno degli elementi fondamentali di un protocollo P2P: la resistenza alla censura.

La resistenza alla censura fa sì che il network non possa fare la fine degli esperimenti precedenti a Bitcoin, tra i quali ricordiamo, ad esempio, ecash e egold, chiusi dal Governo Americano con estrema semplicità, oltre a non permettere a nessuna entità, pubblica o privata, di bloccare le transazioni e limitare o persino annullare di fatto la fungibilità degli asset monetari del sistema.

In un contesto di professionalizzazione della validazione, la politica monetaria del nostro electronic cash sarebbe facilmente modificabile, ancora più di quanto avviene nel sistema monetario attuale, dal momento che pochi attori (i nodi validatori professionali) potrebbero approvare modifiche politiche al Protocollo, andando semplicemente a installare le nuove implementazioni che le contengono nonché colludere per far sì che vengano approvate dal Consenso gambizzato. Ci si potrebbe trovare con un electronic cash di tipo easy money, e dunque paragonabile al denaro digitale che tutti noi già conosciamo (USD, EUR, etc.).

Vi siete chiesti come mai è così semplice eseguire un hard fork su Bitcoin Cash e ancora più semplice su BSV, rispetto a farlo su Bitcoin?
Avete notato quanto diventi sempre più complesso introdurre “miglioramenti” sul Bitcoin Protocol e come mai gli hard fork si evitino come la peste?

Il motivo sta proprio nella difficoltà nel mettere d’accordo tutti gli attori del Consenso: in primis i nodi validatori e in secondo luogo gli utenti. Maggiore è il loro numero, più complesso diventa modificare le regole del protocollo senza generare un fork contenzioso e più sicura è la politica monetaria dello stesso — ricordiamoci che Bitcoin è un sistema monetario!

Siamo destinati dunque ad avere blocchi di piccole dimensioni e un network potenzialmente saturo per sempre se vogliamo preservare la decentralizzazione del sistema? Niente affatto.

Eventuali innovazioni tecnologiche future potrebbero di fatto ridurre il digital divide ed essere applicate su larga scala, facilitando l’aumento del numero di nodi validatori e consentendo di aumentare il block size in tutta tranquillità.

L’aumento dei nodi potrebbe essere anche incentivato dal modello economico dei second layer, come Lightning Network, che prevede un compenso ai nodi per il routing delle transazioni.

Non solo: future proposte di miglioramento del Protocollo (BIP) potrebbero ottimizzare le transazioni, riducendo gli eventi di congestione del network e consentendo una più semplice apertura di canali di pagamento su Lightning Network, favorendo il passaggio a questo network P2P per i micropagamenti, e lasciando più spazio sulla blockchain a transazioni che necessitano di una scrittura diretta sul settlement layer, il nostro Protocollo Bitcoin.

Quello vero.

Le idee e le opinioni espresse in questo articolo appartengono unicamente all'autore e non riflettono necessariamente il punto di vista di Cointelegraph.