Che succede se nessuno si tira indietro e lo stallo persiste?
Se nessuno riuscirà a prendere il controllo della situazione, esiste la possibilità di raggiungere un compromesso, una terza via: forse la soluzione più adatta al bene del network.
Poiché l’incremento del limite della dimensione dei blocchi e l’implementazione di SegWit non si escludono reciprocamente, aumenta sempre più nella comunità il desiderio di arrivare ad un compromesso tra le due soluzioni.
IA dire il vero, almeno in un’occasione un accordo è persino stato raggiunto. Ad un incontro tenutosi ad Honk Kong nel febbraio del 2016 tra rappresentanti di Bitcoin Core, vale a dire gli autori di SegWit, e diverse altre grandi aziende di mining, propense all’incremento della dimensione dei blocchi. Sembrò che al tempo entrambe le fazioni avessero raggiunto un accordo: procedere con SegWit, a patto di incrementare leggermente il limite di dimensione dei blocchi, a 2MB per l’esattezza.
Sfortunatamente, l’accordo di Hong Kong non venne più portato avanti: gli sviluppatori di Bitcoin Core non hanno aumentato la dimensione dei blocchi nell’ultima versione di SegWit, e di conseguenza. i miner hanno deciso di non adottarlo.
L’esperienza ha però dimostrato che un punto di incontro tra i due schieramenti sia effettivamente possibile, e che sia possibile trovare una soluzione che soddisfi tutti. C’è ancora la speranza che il confronto politico faccia spazio alla cooperazione, e che presto vedremo il Bitcoin crescere più forte che mai.
È possibile risolvere in fretta questa crisi?
Giorno dopo giorno, utilizzare i Bitcoin diventa sempre più difficile. Per un ecosistema dal valore di 17 miliardi di dollari, questa non è una situazione che può continuare a lungo e deve essere risolta in fretta, in un modo o nell’altro.
Entrambi i fronti, SegWit e BU, presentano argomentazioni che descrivono la soluzione avversaria come non conciliabile con i valori fondamentali del Bitcoin.
Il conflitto ha alla base motivazioni non solo tecnologiche, ma anche politiche. Le due fazioni affermano infatti che la parte opposta voglia prevenire la crescita del Bitcoin o quantomeno tenerla sotto controllo. Alcune teorie insistono persino sul fatto che i rivali stiano architettando una sorta di guerra d’informazione, segretamente finanziata da grossi capitali (Blockstream per SegWit and Roger Ver per BU). Naturalmente, entrambe le fazioni vogliono far credere che la propria versione dei fatti sia la più veritiera.
Osservando il quadro della situazione, sembra che sia stato raggiunto uno stallo e che la decisione dovrà essere affidata ai miner della rete Bitcoin. Al momento non sembra infatti esistere un chiaro vincitore. nonostante la soluzione SegWit sia attualmente la favorita, Bitcoin Unlimited è già riuscita più volte in passato a conquistare i favori del pubblico.
Ad oggi esiste una grossa fetta della rete, poco meno del 50%, che non ha ancora espresso il proprio esplicito supporto per l’una o l’altra proposta. Si prevede che lo scenario finale diverrà chiaro solo una volta che questi utenti abbiano espresso la propria opinione a riguardo; è possibile tuttavia che decidano di rimanere in silenzio, attendendo che la situazione si risolva da sola.
E per quanto riguarda SegWit?
Stesso motivo, più o meno.
Neanche SegWit costituisce una soluzione perfettamente decentralizzata. Di per sé, aumenterebbe la capacità dei blocchi a circa 2 megabyte nel breve termine, fino ad un massimo di 4 megabyte. A seconda della futura velocità di crescita della rete, abbastanza per diversi anni o addirittura decenni.
Prima o poi, però, il limite verrà nuovamente raggiunto e la capacità dovrà essere aumentata. Il potenziale di SegWit nel lungo periodo risiede nel poter eliminare il bug di transaction malleability, rendendo possibile un incremento della capacità produttiva della rete eseguendo catene laterali come Lighting Network, centralizzando di conseguenza il sistema.
Lightning Network può essere descritto come un sistema di mutuo accordo costruito al di sopra della BlockChain. Innanzitutto i Bitcoin degli utenti vengono depositati in un canale di pagamento apposito tramite una normale transazione di Bitcoin nell’arco di circa o poco più di 10 minuti, in base al livello di congestione della rete. Dopodiché tutti i pagamenti del canale vengono condotti al di fuori della BlockChain e processati all’istante e molto economicamente, se non addirittura gratuitamente, da terze parti affidabili.
Quando tutti i membri di un canale di pagamento concordano sulla distribuzione finale di Bitcoin, possono inviare il bilancio netto nuovamente nella BlockChain, permettendo in tal modo alla rete di confermare la validità delle transazioni.
Il problema è che per molti membri della comunità delle criptovalute non esiste una vera differenza tra “un sistema di mutuo accordo mantenuto da terze parti affidabili” e una banca, ovvero il punto cardine dell’autorità che i Bitcoin si sono proposti di rendere obsoleta.
Perché BU non è stato implementato?
Deve affrontare parecchi oppositori, la cui argomentazione principale è che BU renderebbe il Bitcoin più centralizzato.
Alcuni utenti sono certi che l’abolizione del limite dei blocchi proposta da Bitcoin Unlimited possa far gonfiare a dismisura la Blockchain. Al momento, la dimensione dell’intera Blockchain è di circa 150 gigabyte procedendo ad una velocità che oscilla tra i tre ed i sette scambi al secondo. Paragonato al limite di Visa di 24.000 transazioni al secondo, è facile intuire quale sia il problema.
È stato calcolato infatti che se il limite di dimensione dei blocchi aumentasse al punto da poter gestire un bacino di utenti di portata globale, la Blockchain crescerebbe di diversi petabyte, se non addirittura di più.
Questo porterebbe ad una maggiore centralizzazione dei Bitcoin: solo le grosse compagnie sarebbero infatti in grado di permettersi lo spazio, la potenza di calcolo e la banda necessari a processare una tale quantità di dati. Gli operatori più piccoli verrebbero gradualmente eliminati dalla rete, in maniera discorde all’idea fondante del Bitcoin come moneta governata da ciascuno dei suoi utenti.
Cosa propongono BU e SegWit per risolvere il problema della scalabilità?
Bitcoin Unlimited punta a eliminare il concetto di limite di dimensione dei blocchi, permettendo ai miner di decidere autonomamente la propria soglia. D’altra parte SegWit offre un leggero incremento dello spazio, fino a 4 megabyte, collocando al tempo stesso alcuni dati non critici all’esterno dei blocchi.
Bitcoin Unlimited è la naturale evoluzione dei precedenti tentativi fallimentari di risolvere il dibattito sulla dimensione dei blocchi. Poiché i precedenti tentativi di incrementare il limite o di renderlo dinamico non hanno portato a nulla di concreto, BU prova ad abolire il concetto stesso di limite. Ciò che presenta è la possibilità di far creare ai miner blocchi di dimensione arbitraria e di trasmetterli alla rete, in competizione gli uni con gli altri per una posizione nella Blockchain.
Inizialmente nato come un aggiornamento volto a risolvere un problema di altra natura, la transaction malleability, SegWit offre una soluzione differente. In breve, per sbarazzarsi della transaction malleability era necessario spostare alcuni dati non critici, chiamati “dati testimone”, fuori dalle transazioni e di conseguenza dalla Blockchain.
Ciò permette di aumentare il volume dei blocchi fino ad un massimo di 4MB, sebbene molti esperti vicini allo sviluppo del progetto affermano che, al lancio del SegWit, è probabile che la grandezza dei blocchi si assesti sui 2 MB.
Anche se non in maniera diretta, SegWit potrebbe incrementare la capacità delle transazioni anche in un’altra maniera. Risolvendo il problema della transaction malleability, la rete Bitcoin diverrebbe abbastanza sicura da poter essere affiancata da soluzioni al di fuori della Blockchain stessa, come ad esempio dalla tecnologia Lightning Network. Questo renderebbe gli scambi in Bitcoin molto più veloci ed economici che in passato.
È possibile risolvere il problema della scalabilità?
Sono state fatte molte proposte, ma ad oggi nessuna è mai stata realizzata.
Il problema della scalabilità viene analizzato da ormai diverso tempo, e si può affermare che i due primi reali tentativi di risolverlo siano stati il BIP 100 e il BIP 101, dove BIP è una sigla per Bitcoin Improvement Proposal. Questi vennero introdotti nel 2015 rispettivamente dagli sviluppatori Bitcoin Core Jeff Garzik e Gavin Andresen.
Entrambi miravano ad aumentare il limite di dimensione dei blocchi ed entrambi proposero soluzioni hard-fork: se avessero proceduto con le implementazioni, le versioni precedenti di Bitcoin sarebbero diventate incompatibili con il nuovo network. La differenza tra i due consisteva nel fatto che il BIP 100 avrebbe reso il limite di dimensione una variabile decisa dai miner, mentre il BIP 101 sarebbe stato un incremento di dimensione una tantum da 1MB a 8MB.
Per quasi tutto il 2015, vi furono accesi dibattiti nella comunità dei Bitcoin riguardo a quale proposta sarebbe dovuta essere implementata, sebbene si dimostrarono inutili: ad oggi né il BIP 100 né il BIP 101 sono stati realizzati in maniera rilevante.
La storia sembra ripetersi, e ancora una volta due diverse alternative competono per l’approvazione della comunità: Bitcoin Unlimited e SegWit. Il problema della scarsa capacità del Bitcoin è adesso molto più critico rispetto al 2015 , ma proprio come in passato sembra che un chiaro vincitore nella gara altamente politicizzata tra le due proposte non sia ancora stato definito.
Quali sono le conseguenze di una ridotta dimensione dei blocchi?
Le conseguenze sono un aumento di tempi e costi per le transazioni, al punto che il Bitcoin sta lentamente trasformandosi in una sorta di alternativa al bonifico.
In una normale giornata, la rete Bitcoin riesce ancora a funzionare correttamente. Tuttavia talvolta è in grado di raggiungere picchi di carico così alti che diversi utenti hanno dovuto attendere diverse ore o persino giorni per vedere compiuti i loro scambi.
Inoltre, essendo la velocità con cui una specifica transazione viene convalidata direttamente proporzionale alla tariffa dei miner (decisa dal mittente ad ogni transazione), è venuto a crearsi un vero e proprio mercato delle tariffe, che costringe gli utenti a sottostare a spese sempre più alte per poter portare a termine rapidamente i propri trasferimenti.
Mentre nei primi tempi infatti le commissioni venivano calcolate in frazioni di centesimo, oggi il costo di una singola transazione rapida ammonta a diversi centesimi se non addirittura dollari.
Sia i tempi che i costi delle transazioni sono gradualmente aumentati nel corso degli ultimi mesi, rendendo i Bitcoin simili a una controparte funzionale dei trasferimenti bancari, il che costituisce una minaccia esistenziale per le criptovalute: perché usare Bitcoin se esiste già un’alternativa di gran lunga più popolare e diffusa?
Per quale motivo il Bitcoin è incapace di sostenere tutte queste transazioni?
Il problema risiede in uno specifico parametro chiamato “limite di dimensione del blocco”, ed il limite attuale è insufficiente a reggere una frequenza di transazioni costantemente in crescita.
Innanzitutto è opportuno di fare una piccola introduzione su come funzionano i Bitcoin, per coloro che non ne fossero a conoscenza. Tutte le transazioni mai avvenute o che mai avverranno all’interno della rete vengono registrate in un registro pubblico e immutabile, chiamato “Blockchain”.
Come suggerisce il nome, la Blockchain è una sequenza di blocchi; ogni blocco, a sua volta, è una lista protetta da crittografia di tutte le transazioni effettuate nella rete degli ultimi dieci minuti. Ogni nuovo blocco viene permanentemente aggiunto alla fine della Blockchain, così che qualsiasi utente possa sempre controllare che ogni singola transazione sia effettivamente avvenuta.
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 infinite, 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.
Ogni transazione all’interno del network contiene alcuni dati importanti, come il mittente, il destinatario o la quantità di Bitcoin da trasferire. Queste informazioni richiedono uno spazio irrisorio nel caso di una singola transazione; quando tuttavia vengono effettuati centinaia di scambi al minuto, la quantità di dati da elaborare raggiunge un numero non indifferente.
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 risulta già insufficiente, ed è destinata a peggiorare con l’espansione del bacino di utenti.
Il Bitcoin ha un problema di scalabilità?
Sì, ed essendo rimasto irrisolto per molto tempo si fa sempre più grave.
Il Bitcoin si basa su un software creato da un programmatore, o un gruppo di programmatori, noto come Satoshi Nakamoto tra il 2007 e il 2009. Nonostante le varie migliorie apportate ad oggi da sviluppatori e collaboratori, il codice alla base è rimasto quasi immutato per otto anni, trascinandosi dietro i limiti del periodo.
Il problema principale è che l’attuale situazione dell’ecosistema attorno al Bitcoin è parecchio differente da quella presente alla nascita delle criptovalute. Il numero di persone coinvolte da allora è cresciuto da qualche dozzina di appassionati a più di 10 milioni di utenti giornalieri: il costante accrescersi della comunità ha portato di conseguenza ad un sempre maggior numero di transazioni quotidiane, stimate adesso tra le centinaia di migliaia.
La triste realtà è che per la rete Bitcoin, al suo stato attuale, è impossibile processare una tale mole di transazioni ad una velocità adeguata.