Come accennato in precedenza, l’elevato numero di transazioni in attesa di conferma e le fees sempre crescenti sono il risultato di un network non più in grado di sostenere la sua stessa crescita. Di fatto, ci sono troppi pochi miners rispetto al numero di utenti che, quotidianamente, effettuano scambi di crittovaluta.
Ecco, quindi, che nasce il problema della scalabilità della rete. Tra le tante soluzioni proposte, sono due quelle più gettonate: Segregated Witness, portata avanti dagli sviluppatori di Bitcoin Core, e Bitcoin Unlimited, una alternativa al client ufficiale.
Segregated Witness, in breve
Senza voler scendere troppo nei dettagli, Segregated Witness, spesso abbreviato in SegWit, è la proposta degli sviluppatori di Bitcoin Core (il client ufficiale) che consiste nel rimuovere i dati relativi alle firme da una transazione. Questo permette riduce le dimensioni di un blocco (la cui dimensione massima, attualmente, è fissata a 1MB). In questo modo, un solo blocco può contenere più transazioni.
Come spiegato, in maniera non troppo tecnica, dagli stessi sviluppatori di Bitcoin Core
Segregated witness (segwit) is a soft fork that, if activated, will allow transaction-producing software to separate (segregate) transaction signatures (witnesses) from the part of the data in a transaction that is covered by the txid
Soft-fork e Hard-fork, cosa sono?
Bene, l’introduzione di SegWit è un soft-fork. Si tratta, cioè, dell’introduzione di una nuova regola che, però, può essere adottata oppure no dai miners, senza che questi ultimi vengano esclusi dal network. Anche i nodi che decidessero di non adottare SegWit, continuerebbero a partecipare alla rete, approvando le transazioni ed includendo blocchi nella blockchain.
Perché un soft-fork venga considerato attivato, occorre che almeno il 95% dei miners ne segnalino l’adozione.
Al contrario, un hard-fork consiste nella riscrittura di molte delle regole alla base del Bitcoin. I blocchi creati da quei nodi che decidessero di non accettare queste nuove regole, diventerebbero incompatibili con la nuova catena. Di fatto, verrebbero a crearsi due catene: una costruita secondo le regole precedenti ed una secondo le nuove. Un esempio di hard-fork è quello successo ad Ethereum, del quale ora esistono due versioni: Ethereum (ETH) e Ethereum Classic (ETC).
Bitcoin Unlimited, una spiegazione non tecnica
Bitcoin Unlimited è una variante del client ufficiale, dove i miners possono scegliere la dimensione dei blocchi da creare. Allo stato attuale delle cose, un simile cambiamento può essere introdotto solamente mediante un hard-fork.
Tutti i nodi della rete dovrebbero, quindi, adottare Bitcoin Unlimited contemporaneamente per non essere buttati fuori dal network.
Il rischio è quindi che si vengano a formare due catene e, di conseguenza, due valute: BTC (ovvero il Bitcoin “classico”, quello che conosciamo adesso) e BTU (Bitcoin Unlimited).
Segregated Witness o Bitcoin Unlimited? Da che parte sto?
Prendere una decisione così netta è molto difficile. Entrambe le parti in gioco hanno ottime motivazioni per sostenere la propria posizione.
Tuttavia, come ho già accennato su Twitter, l’idea di una divisione della rete Bitcoin, che potrebbe avvenire con Bitcoin Unlimited, mi spaventa in quanto, a mio avviso, creerebbe ancora più confusione per chi si avvicina per la prima volta a questo mondo.
Entrambe le soluzioni risolverebbero il problema della scalabilità sono nel breve periodo. Nel caso il network dovesse crescere ancora, ben presto ci troveremmo di nuovo al punto di partenza.
L’adozione di SegWit renderebbe ancora più complicato il codice alla base del Bitcoin ma risolverebbe il problema della cosiddetta transaction malleability. Si tratta di un bug presente da quando Bitcoin è stato concepito e che, in un qualche modo, va risolto. La sua risoluzione renderebbe possibile, tra le altre cose, l’introduzione del Lightning Network, che garantirebbe trasferimenti molto veloci di grandi quantità di denaro tra utenti, al di fuori della blockchain.