A forza di fork …

Pubblicato il 19 Nov 2017

roberto-garavaglia-responsabile-editoriale-pagamentidigitali-it

A poco più di una settimana dal giorno in cui si sarebbe dovuta consumare la fork SegWit2x, l’8 novembre scorso i più importanti membri dell’alleanza che ne aveva annunciato da tempo la fattibilità, hanno deciso di sospenderne l’avvio per la mancanza di consenso che, trattandosi di una hard fork, avrebbe provocato una scissione della Blockchain sottesa ai Bitcoin, con la conseguente creazione di una nuova criptovaluta. 

Analisi del fenomeno fork

In questo breve articolo vedremo quali sono state le fork più recenti e in quale misura il riproporsi delle stesse potrebbe rappresentare un rischio prestazionale per qualsiasi processo basato su un ledger distribuito permissionless, non solo quella che supporta gli scambi della criptovaluta più famosa del mondo.

SegWit2x: un atto mancato

SegWit2X avrebbe avuto lo scopo di migliorare l’utilizzo e la scalabilità dell’infrastruttura decentralizzata (DLT) che gestisce gli scambi di bitcoin, proprio laddove, in particolare nei periodi di utilizzo intensivo, il calo prestazionale è avvertito maggiormente. Strutturata in due fasi, la prima, chiamata Segregated Witness (attivata il 1° di agosto 2017) prevedeva di efficientare il protocollo riducendo la dimensione delle transazioni, mediante la segregazione di alcuni metadati (le firme) che accompagnano le transazioni. Il secondo step (attivabile ove al 15 novembre si fosse raggiunto il consenso richiesto) avrebbe dovuto condurre all’aumento della dimensione massima dei blocchi, attualmente pari ad un Megabyte.

Tecnicamente quanto avvenuto è stato non riuscire ad attivare la seconda parte di SegWit2x (ossia quella su cui maggiormente la community si era divisa), che avrebbe dovuto raddoppiare la dimensione dei blocchi portandoli a 2MB, volendo con ciò incrementare l’efficienza del protocollo e, almeno in teoria, portare a una diminuzione delle fee richieste dai miners per validare più velocemente le transazioni.

Nel momento in cui questo articolo viene redatto (17 novembre 2017, ore 10:57 CET) si noti la situazione fotografata nella Figura 1, da cui emerge come i blocchi minati dai nodi che avevano aderito a SegWit2x stiano diminuendo drasticamente.

Figura 1: Bitcoin Blocks (fonte coin.dance – Ultimo accesso 17/11 ore 10:57 CET)

 

I Bitcoin Cash: il compromesso

La prima parte con cui si era iniziato ai primi di agosto SegWit è avvenuta al netto di un compromesso che ha prodotto l’hard fork dei Bitcoin Cash, una nuova catena dalla quale si è originata un’altra criptovaluta (il BCH), separata dalla quella core e irreversibile, dove i blocchi hanno la dimensione massima di 8MB. Per questa nuova blockchain, i sostenitori hanno sempre dichiarato che avrebbe potuto costituire un buon mezzo per effettuare pagamenti P2P, attese le prestazioni decisamente superiori rispetto alla blockchain parent [1].

 

I Bitcoin Gold: la libertà è partecipazione (direbbe Gaber …)

Nel corso nel mese di ottobre, precisamente dalla notte di martedì 24, si è data un’ulteriore hard fork che, a buon diritto, può annoverarsi tra quelle più importanti che si sono recentemente avviate.  Bitcoin Gold, questo è il nome dato al nuovo cryptoasset, nasce con l’obiettivo di incrementare la decentralizzazione dei miner che mantengono sicura la rete e si occupano della creazione di nuovi bitcoin.

Ma chi sono (e perché sono così importanti) i miners. Veniamo a darne una sintetica spiegazione, per potervi consentire una migliore comprensione del Bitcoin Gold.

Il distributed ledger, ossia l’architettura su cui si basano in Bitcoin, viene acceduto dai partecipanti che operano sulla rete (tramite dei “nodi”) mettendo a disposizione risorse di calcolo, mediante cui si ottempera alla validazione delle transazioni, evitando, così, il ricorso ad un intermediario terzo (tali partecipanti assumo il ruolo di “Validatori”). Durante questo processo vengono “coniate” nuove unità di criptovaluta come sistema di remunerazione che ripaga – almeno in parte – il costo sostenuto dai “Validatori” (risorse di calcolo, energetiche, ecc.) che per questo motivo vengono altresì chiamati “Miner”. Il modello d’incentivazione assicura che questi ultimi vengano remunerati per il loro lavoro di approvazione, solo laddove il compito sia stato svolto correttamente (verificato dagli altri nodi)[2], rendendo antieconomico qualsiasi tentativo di alterazione surrettizia dei blocchi precedentemente validati.

Nell’ultimo periodo, secondo coloro che hanno proposto la fork in esame, la capacità computazionale dei miner si sta concentrando maggiormente in Cina e nei paesi orientali, dove, sfruttando il basso costo dell’energia elettrica, è possibile detenere una potenza di calcolo maggiore.

Una concentrazione siffatta, mette fuori gara chi non ha a disposizione elevate risorse per competere. Secondo alcuni, esiste addirittura il rischio che tale concentrazione possa conferire un potere eccessivo ad un gruppo limitato di nodi, minando il principio di base della Blockchain, ossia la dispersione del ledger sulla rete che garantisce un modello di governance distribuita.

Il nuovo protocollo dei Bitcoin Gold, rende sostanzialmente ininfluente l’hardware (ASIC based) con cui è, oggi, possibile validare le transazioni di bitcoin, conferendo nuovamente la possibilità di fare mining anche a coloro che possiedono apparati meno potenti, mitigando il rischio di concentrazione dei miner [3].

 

L’impatto delle hard fork sulle performance di un’architettura distributed ledger (DLT)

Premesso che le hard fork descritte sono tutte avvenute sulla Blockchain dei Bitcoin, un’architettura, quindi, basata su un ledger distribuito, dove l’accesso è permesso a chiunque senza alcun meccanismo di controllo (si parla di “permissionless ledger” in tal senso), qualsiasi azione volta a migliorare le performance, passa inevitabilmente per un consenso distribuito che deve essere raggiunto da una maggioranza. Per quale scopo migliorare le performance dovrebbe essere la prima domanda da porsi. Secondariamente (ma non per questo meno importante) occorrerebbe chiedersi quale compromesso si è disposti ad accettare, tra l’opportunità rappresentata da un modello di governance condiviso e tecnicamente democratico (ossia aperto a chiunque possieda una potenza computazionale), in contrapposizione a un modello meno aperto, dove l’accesso alla blockchain può avvenire solo in funzione del possesso di alcuni titoli o a fronte dell’opposizione di alcune garanzie (“permissioned ledger” o “hybrid ledger”).

Ciò premesso, veniamo ad esaminare alcune casistiche su cui è bene riflettere, per comprendere l’impatto che il ripetersi di hard fork potrebbe avere sulle performance di una architettura DLT.

La Blockchain come architettura per agevolare i pagamenti

Se il miglioramento che si auspica è unicamente rivolto ad efficientare una Blockchain  finalizzata a rendere più agevole lo scambio di Bitcoin, non è detto che la strada “2x” (al momento sospesa) sia la sola ed unica strada; anzi, la fork del 1° agosto 2017 che ha generato i Bitcoin Cash, potrebbe già essere un buon esempio per ipotizzarne l’impiego in quei contesti dove la rapidità effettiva del settlement di transazioni monetarie, sia realmente l’obiettivo più importate da conseguire (si pensi a tal proposito agli scenari di P2P Payment, dove gli importi transati sino non rilevanti come quelli dei micropagamenti).

Il valore del cryptoasset di una blockchain

Se si guarda al solo aspetto di riserva di valore, prescindendo in questa sede dalla disamina di logiche speculative (comunque sempre presenti nei mercati), è importante comprendere come alcune elementari nozioni debbano essere prese in considerazione.

Chiediamoci, innanzitutto, se sia lecito domandarsi quale possa essere il Fair Value del Bitcoin, o meglio, di quali valori si componga. Valore come riserva di valore e valore intrinseco come mezzo di scambio sono, probabilmente, gli elementi più corretti da analizzare.

Partiamo dal primo. La volatilità del Bitcoin, se posta in relazione al più tradizionale bene rifugio, ossia l’oro, rende gli investimenti in questa criptomoneta assai più rischiosi. Oggigiorno, tuttavia, complice l’instabilità politica di importanti stati sovrani e la crisi, spesso di natura altrettanto geopolitica, di molte economie sviluppate, le comunità sono state indotte alla ricerca di altri possibili “beni rifugio”.

Garrick Hileman, studioso del Centre for Alternative Finance dell’Università di Cambridge, ha recentemente asserito che potrebbe essere attribuibile al Bitcoin la definizione di “oro virtuale”, un bene prezioso che si può scambiare con altri traders su mercati OTC, ma che è difficile da usare nelle spese di tutti i giorni per la lentezza intrinseca nelle transazioni.

E qui veniamo alla seconda componente del Fair Value della criptovaluta: il valore come mezzo di scambio, ossia il valore del Bitcoin intrinsecamente legato alla possibilità (o opportunità) di essere impiegato come mezzo di trasferimento della moneta.

Le prestazioni dei Bitcoin non sono all’altezza dell’utilizzo – comune – che ne fanno gli utenti, costretti ad aspettare tempi decisamente lunghi per vedere le proprie transazioni confermate, oppure a vedersi aumentare le commissioni per dare la precedenza alle proprie transazioni. L’enorme successo che ha avuto la criptomoneta ha evidenziato un problema di efficienza tipico del protocollo Blockchain e la rete si è saturata.

Poiché la governance dei Bitcoin è basata su un modello condiviso, non esistendo un unico decisore centralizzato in grado di determinare risoluzioni, quando si vogliono cambiare le regole è necessario che la rete stessa sia d’accordo. Ed è proprio nel solco di tale determinazione che è possibile inserire l’avvicendarsi delle hard fork dianzi descritte.

La Blockchain come architettura per il distributed computing

Veniamo infine all’analisi di quali possano essere gli impatti delle hard fork, su blockchain deputate a supportare processi di natura anche non intrinsecamente legata al mondo finance. Si pensi a tal proposito alle applicazioni di notarizzazione, di tracciabilità o di gestione dell’identità digitale, per fare solo alcuni degli esempi più semplici ed altrettanto rapidamente in corso diffusione. Sono scenari che traggono beneficio dall’opportunità offerta intrinsecamente negli algoritmi su cui si basa la Blockchain, con cui è possibile abilitare i cc.dd. “Distributed Contracts” (o “Smart Contract”).

Uno “Smart Contract” è un metodo di utilizzo delle DLT per formare accordi attraverso la Blockchain, sfruttando opportunamente il quale, è possibile raggiungere altri scopi, che vanno oltre il concetto di valuta virtuale. Più in dettaglio, possiamo dire che uno smart contract è la “traduzione” o “trasposizione” in codice informatico di un contratto, che permette di verificare in automatico l’avverarsi di determinate condizioni e di eseguire in automatico azioni (o dare disposizione affinché si possano eseguire determinate azioni) nel momento in cui le condizioni determinate tra le parti siano raggiunte e appurate. In altre parole lo smart contract è basato su un script che “legge” sia le clausole che sono state concordate sia la condizioni operative nelle quali devono verificarsi le condizioni stesse e si auto-esegue nel momento in cui i dati riferiti alle situazioni reali corrispondono ai dati riferiti alle condizioni e alle clausole concordate.

In Ethereum (una blockchain pubblica su cui sono implementate molte applicazioni distribuite), gli smart contract sono micro-programmi (script) cui è associato un piccolo data-base che è possibile modificare solo dal programma che lo controlla (codice e dati sono incapsulati). Lo script può ricevere dall’esterno messaggi che devono essere firmati digitalmente e che vengono esaminati dal medesimo per decidere in quale modo agire. L’esecuzione di uno Smart Contract avviene in una macchina virtuale presente su ogni nodo della rete: ogni step (ossia ogni transazione) del contratto viene attivato da un messaggio per poi passare allo step successivo; questo avviene in modo automatico e indipendente in tutti i nodi della rete.

L’uso delle risorse viene remunerato con una speciale criptovaluta chiamata Ether, che, nella sostanza, rappresenta un token, trattato a tutti gli effetti come una criptovaluta su cu è possibile fare trading (come per il Bitcoin). L’esecuzione di uno smart contract su Ethereum ha pertanto un costo espresso in Ether, che permette di ricompensare il lavoro svolto dai nodi esecutori e validatori.

Inalterabilità, tracciabilità e programmabilità sono dunque alcune delle peculiarità riscontrabili anche in una blockchain che “esegue” distributed contract, da preservare contro qualsiasi attacco informatico. Nei casi di hard fork, o meglio, durante il propagarsi degli effetti sul network di una hard fork, emergono alcuni rischi che pongono in pericolo l’affidabilità e, soprattutto, l’immutabilità delle transazioni avvenute. Ciò che infatti può accadere è il manifestarsi dei cc.dd. “replay attack”, dove soggetti malintenzionati replicano le transazioni sulla nuova catena appena effettuate sulla catena di origine. Tale situazione si verifica per via del fatto che i due cryptoasset (quello legacy e quella della forked chain), nel periodo in cui si sta consumando la scissione, hanno la stessa chiave privata, esponendo quindi le transazioni al rischio di essere duplicate.

Conclusioni

La breve analisi condotta in questo articolo mette in luce alcune vulnerabilità tipiche delle blockchain pubbliche, ossia quelle il cui accesso segue una logica permissionless. I casi (sempre più ricorrenti) di hard fork che producono scissioni irreversibili della catena, con la conseguente nascita di nuove criptovalute, non sono in sé deprecabili, poiché rappresentano un metodo per esprimere miglioramenti (almeno così si auspica) in cui la comunità di sviluppatori e di miner crede. La presenza di un modello di governance condiviso (o, se si preferisce, l’assenza di un modello di governo centrale) può rappresentare l’espressione democratica di un sistema decisionale, dove una pluralità di soggetti può esprimere il proprio voto per il conseguimento di obiettivi condivisi. Tuttavia, l’esercizio stesso di tale democrazia, impone la necessità di prevedere, in molti casi, scissioni interne al sistema; è proprio in queste circostanze che, come nella vita materiale organizzata da una politica intesa quale espressione di una sovranità popolare, si indeboliscono le difese e si sguarnisce il fianco, esponendo l’intera comunità a rischi che devono sapersi mitigare, agendo preventivamente … laddove possibile.

NOTE


[1] La nascita di BitcoinCash si inserisce nella diatriba per migliorare la scalabilità su cui da anni la comunità di Bitcoin è divisa (la capacità di processare transazioni sulla Blockchain di Bitcoin è limitata, circa 6-7 transazioni al secondo)

[2] Il compito dei miner è quello di creare i blocchi delle transazioni da concatenare ai blocchi precedenti e devono competere tra di loro per far approvare il proprio blocco prima degli altri, risolvendo un complesso problema matematico tramite continui tentativi (proof of work), che richiede una sempre maggiore potenza di calcolo

[3] A tale proposito, la soluzione Bitcoin Gold si dice anche “ASIC resistent”

Leggi tutti i servizi di Roberto Garavaglia

Valuta la qualità di questo articolo

La tua opinione è importante per noi!

Articoli correlati

Articolo 1 di 5