in caricamento ...
Non esiste Blockchain senza Bitcoin – Parte 1
Contrariamente a quanto si sente dire in giro, la blockchain è un sistema di archiviare dati che senza una moneta nativa non può funzionare. Perché funzioni infatti la blockchain ha bisogno di una valuta – o meglio una criptovaluta – da usarsi per rimborsare coloro che svolgono il lavoro di validare le operazioni e garantiscono la sicurezza del sistema.
Si tratta dei così detti minatori, operatori che altrimenti andrebbero ognuno per la loro strada causando la rapida fine della blockchain o comunque una sua disgregazione in tante piccole differenti blockchain.
So che molti sostengono il contrario, ma sono tesi alle quale non sono mai “allegate” le giustificazioni tecnico-scientifiche. Generalmente infatti queste tesi vengono sostenute rimandando a non meglio identificati “brevetti”, “segreti industriali” e chi più ne ha più ne metta, finanche ad ipotesi fantasiose o divertenti.
Con questo articolo a puntate cercherò di spiegare perché una blockchain non può funzionare senza remunerare dei minatori tramite una valuta intrinseca al sistema, e perché è importante che il valore della criptovaluta sia lasciato al libero mercato.
Chiedo a chi mi legge di avere pazienza, perché dopo mesi di “fuffa” con software miracolosi che promettono “blockchain senza criptovalute”, uscirne non sarà proprio una passeggiata.
Per contro, a chi mi seguirà fino alla fine, cercherò di dare la comprensione in profondità della rivoluzione blockchain ed annesse criptovalute.
P.S. : Accetto con umiltà l’accusa che mi faranno sviluppatori e cripto-fondamentalisti, per le spiegazioni troppo semplificate o semplicistiche. E’ lo scotto che devo pagare, ma vorrei farmi capire anche dai non addetti ai lavori, altrimenti questo articolo servirebbe a pochi.
La Blockchain in breve
Iniziamo con qualche concetto basilare: la blockchain è un archivio di dati; è un file piuttosto semplice dove i dati vengono archiviati uno dopo l’altro, ordine cronologico.
Dentro una blockchain ci si può archiviare quello che si vuole, ma ha delle particolari caratteristiche per cui ha senso utilizzarla solo quando si deve tenere traccia di cambiamenti che avvengono con una data precisa, come ad esempio i passaggi di proprietà.
E’ quindi perfetta per archiviare movimenti di valori quali azioni, titoli di stato, opere d’arte, diamanti, automobili e quant’altro. Naturalmente anche il così volgarmente detto denaro.
La prima blockchain mai realizzata è Bitcoin e contiene l’archivio dei pagamenti fatti con la criptovaluta bitcoin (con la “b” minuscola si intende la moneta, con la B maiuscola si intende il protocollo).
In parole povere possiamo dire che la “Banca Bitcoin” usa la blockchain per tenere traccia delle movimentazioni di bitcoin.
Elementi chiave
Alcuni elementi fondamentali che contraddistinguono una blockchain in generale, rispetto ad un database tradizionale, sono:
- I dati sono archiviati in gruppi, i blocchi,
- Ogni blocco è firmato digitalmente;
- L’archiviazione è distribuita, cioè la blockchain risiede in tante copie su elaboratori collegati in una rete e disposta in una vasta aera geografica;
- nella rete non esiste un coordinatore centrale che impartisca ordini agli altri.
L’ultimo punto del nostro elenco è particolarmente bizzarro, perché non ci sono tanti precedenti di questo tipo nel mondo informatico.
A parte i software di condivisione come Torrent o EMule.
La cosa è bizzarra perché se un registro distribuito è senza un coordinatore, andrebbe lentamente incontro ad una sorta di anarchia informatica, che porterebbe ad avere un database inaffidabile.
E’ un concetto che è stato enunciato dal matematico americano Leslie Lamport nel 1982 con il “Problema dei Generali Bizantini“, per il quale gli è stato conferito il premio Alan Touring (una sorta di Nobel per l’informatica), un problema che per certi versi non risulta risolvibile.
Ma nel 2008 Satoshi Nakamoto, l’inventore di Bitcoin, ha per certi versi risolto il problema enunciato da Lamport in un modo che potremmo definire una sorta di unione tra informatica e teorie monetarie.
Ci arriveremo ma prima vediamo ancora alcuni dettagli: ricordiamoci che la nostra rotta è dimostrare che la blockchain senza criptovaluta non funziona e quindi non può esistere.
Qualche elemento in più
Continuiamo ancora per un momento a vedere alcune caratteristiche della blockchain guardando a quelle più “interne”.
Nella Blockchain:
- come detto, i dati sono raggruppati in blocchi;
- Ogni blocco di dati si conclude con una propria firma digitale, che “congela” definitivamente i dati archiviati al proprio interno,
- I nuovi dati si possono aggiungere solo in coda all’ultimo blocco,
- Ogni nuovo blocco inizia con la firma digitale di quello precedente.
Per fare una analogia, la Blockchain potrebbe essere immaginata come un treno merci, dove ogni blocco è un vagone e dove i ganci sono le firme digitali, soltanto che le firme non sono standardizzate, ma sono sempre diverse, a causa del diverso contenuto dei vagoni.
Con questo sistema non è possibile cambiare l’ordine dei vagoni ne è possibile sostituirli con altri vagoni (ad esempio con vagoni che contengono dati alterati rispetto a quelli originali), perché le firme digitali non corrisponderebbero più.
Il nome blockchain deriva proprio da questa logica di “blocchi incatenati” l’uno con l’altro, essendo collegati dalle firme digitali.
L’utilizzazione del meccanismo delle firme digitali concatenate è importante perché garantisce alla Blockchain l’inalterabilità dei dati archiviati.
Non è proprio vero
Non spaventativi se sembro smentire quanto detto appena adesso, ma tecnicamente i dati archiviati in una Blockchain si potrebbero anche alterare.
Un malintenzionato che volesse falsificare delle criptovalute, ad esempio, potrebbe andare a modificare un blocco nel database e poi lo potrebbe inviare a tutti gli altri nodi della rete.
E’ accaduto ad esempio alla criptovaluta “Ethereum Classic” nel Gennaio 2019.
In questo caso il pirata ha creato dei blocchi con monete duplicate (ha fatto letteralmente il falsario), e per ripristinare l’integrità della blockchain (ricordate i ganci dei vagoni del nostro treno) ha “rigenerato” le firme digitali dei blocchi successivi al blocco alterato.
Una cosa fattibile perché si trattava di una “piccola” blockchain.
Ma lo stesso attacco pirata, per una blockchain di grandi dimensioni come quella di bitcoin, che conta oltre 10.000 nodi in tutto il mondo, per il rifacimento di tutte le firme coinvolte dalla modifica, richiederebbe una potenza di calcolo enorme.
Si calcola che per attaccare bitcoin sarebbero necessari almeno 300.000 Dollari/ora, solo per coprire i costi dell’energia elettrica (escluso il costo delle apparecchiature di calcolo) e senza che vi sia la certezza della riuscita.
Infatti, se la potenza di calcolo del malintenzionato fosse inferiore al necessario (cioè minore anche di poco rispetto a quella degli altri “minatori”), avrebbe bisogno di molto tempo per rifare le firme digitali, ma dato che la blockchain continua a “funzionare” gli si accumulerebbe lavoro arretrato, cioè ulteriori nuovi blocchi con firme digitali da fare.
In questo modo, dopo qualche decina di minuti verrebbe sommerso dai dati in arrivo dagli utenti, tanto da fargli fallire l’attacco e portarlo alla bancarotta.
L’alterazione di una blockchain è quindi tecnicamente possibile ma economicamente impraticabile, perché richiederebbe dei costi molto importanti, superiori ai benefici.
In conclusione possiamo dire che Bitcoin non è alterabile perché, data la quantità di energia necessaria, si dovrebbe remare contro il secondo principio della termodinamica.
Riepilogo Parte 1
In questa prima parte di “Non esiste Blockchain senza Bitcoin” abbiamo visto come la blockchain sia un archivio distribuito su una grande area geografica e come la sua sicurezza dipenda dal fatto che i dati vengano “congelati” dalla presenza di firme digitali poste ad intervalli regolari.
Abbiamo anche evidenziato che i nodi della rete di una blockchain, essendo privi di un coordinatore, operano in ordine sparso e che tale configurazione, secondo l’enunciato di Lamport, non dovrebbe funzionare.
Abbiamo infine visto che i dati di una blockchain, pur essendo tecnicamente alterabili, non si riescono ad alterare perchè, per blockchain consolidate e di grandi dimensioni come ad esempio quella di bitcoin, sarebbero necessarie delle risorse enormi tanto da rendere l’attacco pirata praticamente impossibile.
Nella prossima puntata ci avvicineremo sempre più a comprendere il concetto per cui non sono realizzabili blockchain prive di una propria criptovaluta.