Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

3
voti

I rischi delle Blockchain

Colgo l'invito di un frequentatore del forum per parlare di biforcazioni, un aspetto importante ma anche critico del funzionamento delle monete crittografiche come Bitcoin, Ethereum e tutte le altre valute basate su blockchain. Non meno importante, la biforcazione è un aspetto che evidenzia la "democrazia" insita nel database distribuito che governa le crypto-currencies, che praticamente è un database basato sul consenso. Concetto assolutamente rivoluzionario per l'informatica.
Qui di seguito non troverete una trattazione di informatica, ma i rudimenti di base per capire le due principali biforcazioni che possono capitare dentro una Blockchain : quella originata dalla presenza di un blocco anomalo o addirittura falso, e quella causata da una divisione nella comunità di sviluppatori. Ma mentre la prima si autocorregge, la seconda comporta cambiamenti a tutto il sistema, anche con danni di tipo economico.


Indice

Premessa

Le monete crittografiche, dette anche monete matematiche, sono dei sistemi di pagamento che funzionano in modo peer-to-peer, e quindi senza una banca centrale. Il cuore di queste valute sta in un database distribuito tra gli utenti/nodi, nel quale vengono registrate le transazioni. Il database, (in inglese "Ledger", libro mastro), ha una particolarità : sebbene sia accessibile a chiunque, i dati contenuti possono essere spostati solamente da chi ne detiene la rispettiva password, che pertanto ne è il proprietario : solo lui quindi può decidere il trasferimento dell'informazione (pagamento) verso qualcun altro.

Blockchain : Blocchi concatenati in sequenza temporale

Blockchain : Blocchi concatenati in sequenza temporale

Tutte queste operazioni vengono controllate e coordinate da una persona che svolge il lavoro di validatore delle transazioni (nel gergo informatico vengono chiamati Minatori), una sorta di notaio, il quale terminato il controllo delle transazioni appone sul database una sorta di firma digitale (Hash) in modo che nessun altro possa più modificarla.
Da aggiungere, non meno importante, che utenti e validatori di una crittovaluta utilizzano un software Open-Source che è sviluppato da una comunità di programmatori, quindi pubblicamente visibile e sottoposto a controlli incrociati da persone di tutto il mondo, e non come il software di una qualunque banca, che è riservato e proprietario.
Tengo a chiarire questo concetto perché, nonostante la chiarezza e trasparenza di cui godono (i codici sorgenti dei programmi sono pubblicamente consultabili, così come i forum tra gli sviluppatori) talvolta sulle crittomonete si leggono delle vere e proprie sciocchezze, dovute fondamentalmente all'ignoranza sull'argomento, che non manca certo di informazioni (anche se naturalmente sono in lingua inglese).


Biforcazione "Ordinaria"

Come detto questo post si occupa di biforcazioni (Fork). Vediamo il caso più semplice.
Il validatore (minatore) è una persona che per mestiere raccoglie i pagamenti (transazioni) e si occupa di controllarli. Finito il controllo, queste transazioni vengono impacchettate in un nuovo blocco che si aggiunge ai blocchi precedenti della catena (la blockchain), riconoscibile con un numero progressivo e una data e ora.
I blocchi, inoltre, sono "incatenati" tra loro dalla loro stessa firma (HASH) che viene utilizzata per iniziare il blocco successivo.

Blocchi Incatenati tramite Hash

Blocchi Incatenati tramite Hash

Premesso che le crittovalute sono monete universali, quindi senza confini, nè per chi si occupa della loro validazione, né per coloro che le utilizzano (basta avere l'accesso ad internet), può accadere che due minatori creino contemporaneamente un nuovo blocco con la stessa numerazione.
Si crea pertanto una "biforcazione" della blockchain, con due blocchi "simili" che si diramano dal blocco precedente.
Ma il software dei nodi della blockchain, in questo caso, provvederà automaticamente a scartare il blocco più giovane, ponendo immediatamente rimedio al problema.
Se invece i nuovi blocchi hanno anche la stessa ora (TIMESTAMP), allora prenderà il sopravvento la nuova catena che si viene a formare composta dal maggior numero di blocchi; quasi una sorta di votazione a maggioranza.

blockchain : biforcazioni

blockchain : biforcazioni

La stessa cosa accade se un validatore-minatore "corrotto", tenta di inserire nella blockchain un blocco che contiene una transizione "pirata"; ad esempio una transazione che gli assegna una cifra inesistente, oppure gli consente di spendere la stessa cifra una seconda volta (problema del double-spending). Anche in questo caso, dato che i nodi prima di inserire un nuovo blocco nella loro copia della blochchain ne effettuano il controllo della congruità, succederà che il blocco viene scartato e sostituito con uno valido.
Ricordo infine che i nodi su una blockchain sono moltissimi (ad esempio Bitcoin ne ha oltre 5000), per cui è praticamente impossibile che un malintenzionato riesca a sabotarla. Per riuscirci dovrebbe prendere il possesso del 50%+1 dei nodi, ma data la dimensione, anche se ci riuscisse la notizia diventerebbe certamente pubblica e causerebbe il crollo economico della crittomoneta o comunque l'abbandono da parte degli utilizzatori.In ogni caso la probabilità che di generino blocchi erronei esiste e potrebbe accadere in qualunque momento, ma i nodi hanno un algoritmo per cui ad un certo punto decidono di scartare quelli meno affidabili, garantendo la continuità nel funzionamento della Blockchain.
Ecco perchè si dice che la Blockchain è un database fondato sul consenso.


Hard Fork

Il secondo tipo di biforcazione è detto Hard Fork, capitato ad esempio con la moneta Ethereum, che ora è divisa in Ethereum ed Ethereum Classic.
Questa biforcazione è generata da due visioni "filosofiche" del sistema; una vera e propria scissione all'interno della comunità di sviluppatori. Qui la biforcazione dei blocchi è imposta da due software diversi, quindi i blocchi si separano e si creano due nuove blockchain, autonome e distinte.
Anche Bitcoin in questo momento sta attraversando un mare in tempesta, in quanto la comunità di sviluppatori è divisa tra la filosofia Segwit e la filosofia Unlimited. Il motivo è dovuto al fatto che l'attuale versione del software di mining ha un collo di bottiglia dovuto alla dimensione di ogni blocco (limitato a 1 MB). Dato che i blocchi vengono emessi ogni 10 minuti, limitarli a 1MB significa limitare i pagamenti che vengono fatti in tutto il mondo con Bitcoin. In pratica il sistema Bitcoin attuale non riesce a validare più di 250 pagamenti al minuto.

Per informazioni, si può consultare la pagina "Grafici" del sito https://blockchain.info/

Oggi, dalle indicazioni percepite, sembra che la versione software "Unlimited" stia prendendo piede, cioè sempre più minatori la stiano adottando, ma non c'è ancora nemmeno il 50% delle adesioni. Solo quanto sarà oltrepassato il 75% dei nodi aderenti, il sistema unlimited potrà partire, ma se alcuni vorranno restare con il vecchio sistema si creerà una scissione.
Sono gli effetti del libero pensiero, una sorta di scelta democratica.

Conclusione

Le biforcazioni sono eventi che nella struttura di una Blockchain possono accadere, ma il sistema è previsto per poterle gestire, sia nel caso esse siano provocate de eventi casuali sia da eventi "disonesti".
Diverso il caso di una biforcazione voluta, che viene forzata da una nuova versione del software di gestione della blockchain. Qui qualche preoccupazione permane nel caso di Hard Fork avvenuti per motivi ideologici, per puro campanilismo, eventi che provocano certamente un danno alla relativa crittovaluta, con una forte caduta del prezzo.
In questo caso, comunque, il ruolo dei minatori è fondamentale, visto che, soprattutto con Bitcoin, vengono messi in gioco i loro investimenti nelle strutture Hardware che si occupano appunto della validazione.
Sono i primi pertanto che peseranno bene la loro scelta nell'adozione del nuovo o vecchio software di gestione della blockchain.


Ringrazio @aldofad per aver suggerito questa trattazione.

0

Commenti e note

Inserisci un commento

Inserisci un commento

Per inserire commenti è necessario iscriversi ad ElectroYou. Se sei già iscritto, effettua il login.