in caricamento ...
Non esiste Blockchain senza Bitcoin – Parte 3
Terza e penultima puntata di questa serie di articoli con i quali cerco di spiegare il motivo per cui una blockchain non può funzionare senza una propria moneta. In realtà le prime due puntate erano largamente introduttive, mentre qui entreremo nel problema.
Nella puntata precedente, ho messo in guardia da quanto raccontano i giro: la Blockchain funziona e non ha bisogno delle criptovalute. Probabilmente stanno mascherando la vendita di software che ad una attenta analisi sono database centralizzati.
Nel primo articolo, al contrario, abbiamo visto che la blockchain è un archivio di eventi in ordine cronologico, un Registro Distribuito su computer sparpagliati in tutto il globo, ma che questi computer sono privi di un regista, di un coordinatore.
Per rendere meglio questo concetto, ho coniato un termine che identifica questa “bizzarra” rete di computer: anarchia informatica.
Ricordiamoci che la prima blockchain è quella di Bitcoin, un sistema dove all’inizio i computer coincidevano con i detentori di bitcoin, i “correntisti”, ognuno dei quali ovviamente pensa principalmente al proprio portafoglio e molto meno al “bene” della rete.
Come evitare l’anarchia ? Ci arriveremo.
Un atto di umiltà
Breve parentesi: la blockchain non è materia puramente informatica, è argomento multidisciplinare, con una sfaccettatura sia Informatica che Economica, ma che, come vedremo, funziona solamente se ci sono entrambi.
Per un informatico e per chiunque usi un PC, questo è un aspetto assurdo. I software non hanno mai avuto bisogno di denaro per funzionare, ma solo di righe di codice. Per certi versi è ridicolo. Lo è stato anche per il sottoscritto. Ritenevo questa idea irrealizzabile, fino anche inaccettabile.
Del resto non esiste nessun precedente, per cui preparatevi, questo è un cambio di paradigma. Un cambiamento molto profondo.
Il mio consiglio è : mettete in contro che per capire la Blockchain c’è un sacrificio da fare.
Significa che se siete “informatici” dovrete accettare di leggere anche concetti e terminologie proprie della materia economica, e che queste faranno parte integrante del software.
Se invece provenite dal campo della finanza e dell’economica, dovrete documentarvi in temi informatici per comprendere che sono due tematiche interdipendenti.
Questo elemento è imprescindibile.
Vediamolo assieme.
La debolezza
Bene, partiamo ora con il nostro sistema decentrato: tanti computer collegati in rete, ognuno dei quali con lo stesso archivio (la blockchain) e lo stesso programma.
Una volta avviato il programma, ad esempio “Bitcoin Core”, il PC diventa un “nodo” della rete e inizia a parlare con tutti gli altri.
I nodi non si vedono, non si conoscono e non hanno una autorità centrale che li coordini, ma lavorano tutti per lo stesso fine : tenere aggiornato l’archivio, la blockchain.
E qui viene il bello: ma lo faranno davvero ?
Non c’è nessuno che controlla: chi ci garantisce contro eventuali contraffazioni del software ? Chi ci garantisce che un nodo non falsifichi i dati a proprio vantaggio ?
Questa è la debolezza del sistema decentrato, cioè il lato umano : gli uomini sono uomini e gli affari sono affari.
Ne verremo fuori ? La risposta è si.
Un matematico americano: Leslie Lamport
Prima di arrivare al dunque, devo parlarvi in modo sintetico di un concetto informatico piuttosto sconosciuto ma anche divertente.
E’ un problema che il matematico americano Leslie Lamport nel 1982 ha soprannominato “il problema dei generali bizantini”.
Lamport per questo lavoro ha vinto il premio “Nobel” per l’informatica, il Touring Award.
Tengo a precisarlo perché significa che le basi di Bitcoin non sono improvvisate, ma hanno dei vincoli e dei fondamentali consolidati.
Bene, senza ricorrere a matematica o formule, possiamo usare l’esempio che ha creato lo stesso Lamport, che ha trasposto il problema in un campo di battaglia.
Il problema dei Generali Bizantin
Immaginiamo che una città sia assediata dall’esercito bizantino. Dopo il lungo assedio sono tutti stremati, assediati ed assedianti.
Ma c’è una possibilità per gli attaccanti per vincere: bisogna sferrare l’attacco tutti allo stesso istante, in modo sincronizzato.
Il Re deve impartire l’ordine di attacco, tutto sembra essere pronto, ma si rende conto che la possibilità di avere successo è piuttosto debole: nell’esercito ci potrebbero essere dei generali traditori che potrebbero rifiutarsi oppure potrebbero bloccare la diffusione degli ordini, rendendo impossibile un attacco sincronizzato.
Nella figura si vede che sul lato destro un generale traditore distoglie dall’attacco altri due generali (alterando i messaggi con gli ordini).
Sono cose che possono accadere nello stesso identico modo in una rete distribuita, cioè peer-to-peer :
- Ogni generale è un nodo/PC della rete,
- Ogni messaggio è un nuovo blocco di dati da aggiungere nella blockchain
- Il generale traditore è un PC con un software “malevolo” che altera i dati o i messaggi,
- Il Re è l’utente che invia un ordine (ad esempio un pagamento in bitcoin).
Secondo Lamport non esiste soluzione al problema se il numero di generali traditori è maggiore di un terzo del totale.
La Soluzione Nakamoto
Satoshi Nakamoto, lo pseudonimo che nasconde l’inventore di Bitcoin e che molto probabilmente cela Dave Kleiman, Hal Finney e poche altre persone, ha risolto il problema utilizzando il criterio del consenso della maggioranza dei nodi.
In pratica se i messaggi che circolano nella rete sono accettati da almeno il 51% dei nodi, allora tutti li adotteranno per aggiornare la blockchain.
Naturalmente per essere valido il messaggio deve essere firmato digitalmente dal nodo che lo ha generato e deve agganciarsi “perfettamente” alla firma digitale di quello precedente, già archiviato nella Blockchain.
Ma la storia non è finita qui, perché manca ancora l’incentivo affinché i nodi siano invogliati / incentivati a far bene il loro lavoro.
Lo vedremo nella prossima ed ultima puntata.
Link Utili
Byzantine Fault Tolerance: The Key for Blockchains – Articolo su Nasdaq.com
How the Byzantine General Sacked the Castle: a Look Into Blockchain – Link su Medium
Nonostante la materia criptovalute e blockchain non mi affascinino , leggo molto volentieri e con interesse i suoi articoli.
Complimenti e grazie.