• Non ci sono risultati.

Capitolo 2. La tecnologia blockchain: sviluppo, caratteristiche e funzionamento

2.2 Gli aspetti tecnologici e le caratteristiche della Blockchain

2.2.4 Le fork e il miglioramento della Blockchain

Enunciate le caratteristiche della Blockchain, si rende opportuno evidenziare anche quelle che sono i provvedimenti che devono essere attuati al fine di migliorare il sistema e risolvere le difficoltà a oggi presenti.

Nella Blockchain considerata, quella sottostante i Bitcoin, il processo di mining vede come principale carattere incentivante la remunerazione in Bitcoin per quei miners che riescono a presentare la proof-of-work e validare una transazione; oltre alla remunerazione, come accennato in precedenza, sono presenti anche le mance, le quali sono erogate facoltativamente da quegli utenti che desiderano aggiungerle alla normale ricompensa per il miner. Lo scopo delle mance è duplice: dal lato dell’utente rendono più attraente la transazione da validare e quindi si ha più possibilità che la transazione in oggetto sia scelta da un miner e inserita in un blocco. Dal lato del miner, la mancia funge da elemento accessorio verso il quale propendere nella scelta fra più transazioni da validare: il miner tende ovviamente a preferire la transazione avente una mancia, o quella con la mancia più alta fra le disponibili.

Ciò al contempo provoca però anche degli effetti distorsivi. In primis, si ricrea parzialmente quel meccanismo di disuguaglianza tanto contestato nei sistemi centralizzati, dove non tutti gli individui hanno la possibilità di rivolgersi a un intermediario e incorrere nei costi di transazione e di intermediazione. Allo stesso modo, con le mance si denota una sostanziale disuguaglianza all’interno del network fra gli utenti che hanno più disponibilità a elargire mance per la risoluzione e il trattamento delle proprie transazioni e quei soggetti che non potendosele permettere, appaiono in una condizione di svantaggio. Infatti, i miners tenderanno a preferire l’inserimento nei blocchi delle transazioni più remunerative, causando così un ritardo nella risoluzione delle proof- of-work relative a transazioni prive di mance; gli utenti meno facoltosi possono dover aspettare ben più di un’ora per vedere convalidata la propria transazione all’interno di un blocco.

Il problema appena esposto è collegato anche alla dimensione dei blocchi, attualmente di 1MegaByte. Se i blocchi presentassero una dimensione maggiore, allora ci sarebbe più posto all’interno di un singolo blocco e le transazioni senza mance potrebbero essere inserite ben prima di quanto avviene.

Un altro fattore da porre in evidenza concerne la collocazione geografica dei principali miners. Si è messo in luce come i miner abbiano un fabbisogno di energia elettrica spropositato per operare e risolvere PoW continuamente; accade allora di frequente che i miners concentrino la loro attività nei mining pool, ovvero dei gruppi molto grandi di server costosi che sono installati in Paesi a basso costo di energia elettrica, al fine di ottenere così una maggior potenza di calcolo.

Questa situazione, abbastanza logica se si ragiona in ottica di mercato, rischia però di compromettere l’attività di quei nodi che, non avendo risorse adeguate per poter competere, si vedono praticamente estromessi dall’attività di mining. Ciò può risultare

63

molto grave in quanto potrebbe venir meno uno dei punti saldi della Blockchain, ossia quello inerente la distribuzione periferica dei nodi validatori e la decentralizzazione dei controlli.

Nel corso degli anni, in particolar modo nel 2017, si è visto necessario superare le inefficienze appena considerate e le comunità dei principali miners hanno dovuto trovare un connubio fra la necessità di rendere più scalabile la Blockchain, risolvere il problema dei “mining pool” e abbassare il costo delle mance.

Per perseguire tale obiettivo sono stati adottati dei particolari strumenti chiamati Fork (“biforcazione”), al fine di migliorare le performance della Blockchain e gestire in maniera più equa ed efficiente il protocollo.

I Fork si dividono in due tipologie, che si andranno a spiegare separatamente: i Soft Fork e gli Hard Fork.

Soft Fork:

I Soft Fork sono rappresentati da cambiamenti reversibili del protocollo e, per capire più facilmente, il loro peso può essere equiparato a quello di un’innovazione incrementale. Constano sostanzialmente nella creazione di una versione aggiornata dello stesso compatibile alle precedenti; ciò consente anche a quei nodi che decidono di non effettuare l’aggiornamento di partecipare alla Blockchain e rimanere attivi nel sistema.

Hard Fork:

Gli Hard Fork sono paragonabili alle innovazioni radicali e rompono completamente con il passato. Sono strumenti che creano un cambiamento irreversibile, imponendo agli utenti del network di aggiornarsi obbligatoriamente.

Gli Hard Fork possono essere di due tipologie, planned o contentious. Gli Hard Fork Planned sono innovazioni e aggiornamenti pianificati e accettati dalla comunità previo raggiungimento di un quorum definito nella fase di proposta del cambiamento, mentre gli Hard Fork Contentious sono rappresentati da quegli strumenti che non riescono a ottenere il consenso da parte degli utenti. Mentre nei Planned si giunge al consenso e il protocollo viene aggiornato in continuità, negli Hard Fork Contentious si arriva al cambiamento tramite una scissione all’interno della Blockchain.

Nel corso della seconda metà del 2017, anche a seguito di un’impennata del valore della moneta virtuale, si è registrato un aumento delle registrazioni e delle operazioni all’interno del network e si è creata una sostanziale diatriba tra chi desiderava mantenere inalterata la struttura della Blockchain e chi voleva apportare delle modifiche sostanziali, risolvendo le inefficienze sopra riportate. Ciò ha creato diversi Hard Fork che hanno portato alla creazione di due protocolli distinti per la Blockchain: Bitcoin Cash e Bitcoin Gold.

Prima di giungere a questi due protocolli distinti, occorre fare un passo indietro. Il problema delle commissioni, sopra accennato, scoppiò nel maggio del 2017 quando più utenti si lamentarono del fatto che dovettero aspettare più di quattro giorni per vedere

64

validata la loro transazione. I tempi di transazione erano aumentati enormemente a seguito dell’incremento sostanziale dei flussi nel network e la soluzione, per gli utenti più facoltosi, fu quella di aumentare le commissioni e le mance al fine di accelerare il processo di verifica. Queste premesse portarono a una situazione surreale, in cui le commissioni superavano il valore unitario degli oggetti che si potevano comprare con i Bitcoin. Inizialmente si ideò una Fork chiamata Bitcoin Unlimited, che avrebbe eliminato il limite dei blocchi; ciò avrebbe portato a uno snellimento dei tempi di verifica, in quanto non ci sarebbe più stato un tetto massimo di grandezza per ogni singolo blocco, che avrebbe potuto così contenere innumerevoli transazioni. Bitcoin Unlimited non fu mai sviluppato completamente, poiché prevalse la corrente di pensiero secondo la quale l’implementazione di tale protocollo avrebbe sì eliminato l’inefficienza del limite massimo dei blocchi, ma avrebbe alimentato quella relativa alla disuguaglianza; si sarebbero implicitamente esclusi i piccoli miner e l’attività di validazione sarebbe stata appannaggio di quei miners aventi grande capacità computazionale per riempire blocchi di grandezza illimitata.

Si passò dunque alla concezione di una nuova Fork, denominata Segragated Witness, volta al miglioramento della scalabilità del sistema attraverso la gestione e l’archiviazione off- chain di alcuni dati; questa soluzione avrebbe consentito di liberare spazio nella Blockchain e permesso ai blocchi di contenere un numero maggiore di transazioni più “leggere”. Gli sviluppatori però, credendo si trattasse di un semplice ripiego di Unlimited, migliorarono il progetto di Segragated Witness e giunsero all’elaborazione di SegWit2x; questa versione, in più della precedente, poteva vantare un incremento della grandezza dei blocchi a 2 MB. Tuttavia lo spazio sulla rete non crebbe significativamente e il problema inerente il limite di grandezza non appariva risolto.

Dalle ceneri di SegWit2x nacque nell’agosto del 2017 Bitcoin Cash, un protocollo nel quale i blocchi hanno la dimensione massima di 8 MegaByte e che presenta token distinti dai Bitcoin, creando così una separazione dalla Blockchain madre. Uno dei vantaggi di Bitcoin Cash è legato sicuramente al minor costo delle transazioni da effettuare nel network, risolvendo così la questione legata all’eccessiva dispendiosità delle commissioni nel sistema Bitcoin.

L’altro significativo Fork da menzionare è Bitcoin Gold, creato nell’ottobre del 2017. Si tratta di un protocollo tramite il quale è possibile validare a una velocità maggiore le transazioni in Bitcoin; ciò dà la possibilità anche a chi possiede hardware di minor capacità computazionale di svolgere attività di mining, eliminando il problema della disuguaglianza creatosi sulla rete Bitcoin a seguito della concentrazione dei principali miners in mining pool. L’obiettivo di Bitcoin Gold è proprio quello di allargare il network di miners.