Blockchain o block chain è un neologismo inglese, con cui si identifica la catena di blocchi contenente le transazioni economiche (in particolare) del sistema di pagamento elettronico peer-to-peer conosciuto col nome di Bitcoin.
Le transazioni economiche sono collegate tra loro criptograficamente e non è possibile la loro modifica senza il consenso del 51% della rete. Modificare le transazioni economiche registrate nella blockchain non solo richiede la collaborazione di una parte cospicua dei nodi, impone anche il consumo di alte risorse computazionali. Da questa breve riflessione ne consegue che modificare la blockchain di Bitcoin è un processo difficile da attuare, per questo viene considerato un registro immutabile.
L'immutabilità della blockchain non è un assoluto, alcune criptomonete hanno dimostrato nella pratica come sia possibile riscrivere porzioni anche consistenti di una blockchain se si possiede una elevata capacità computazionale: Ethereum Classic, Verge, Bitcoin Gold, per citarne alcune.
Le blockchain non sono uguali
I problemi riscontrati dai progetti di criptovalute sopra citati, ci fanno comprendere che le blockchain non sono uguali tra loro.
In molti casi non si dovrebbe neppure parlare di blockchain, ma di registri distribuiti (distributed ledger).
Riprenderò il discorso poco più avanti, adesso concentriamoci sull'origine del neologismo block chain.
Origine del neologismo Blockchain (Block chain)
Facciamo un passo indietro per scoprire l'origine della parola blockchain.
La parola non è stata coniata da Satoshi Nakamoto, tuttavia le parole block e chain sono utilizzate da Nakamoto nel documento con cui egli descrive, dal punto di vista pratico, il funzionamento del suo sistema di pagamento elettronico peer-to-peer.
Nel documento bitcoin.pdf block, chain e longest chain sono utilizzate più volte ma mai in successione consecutiva, cioè Nakamoto non scrive mai block chain.
Non li usa mai in successione, tuttavia i termini sono lì e sembrano proprio indicare una block chain.
Blockchain Bitcoin e la metafora del treno passeggeri
Per spiegare il funzionamento della blockchain Bitcoin, uso la metafora del treno passeggeri.
Immagina un treno con una sola carrozza, entrare in una immaginaria prima stazione: questo è il blocco di genesi.
Il treno viaggia su un binario unico e gli è stato impedito di procedere in retromarcia, può procedere in una unica direzione.
Ogni 10 minuti il treno raggiunge la stazione successiva, qui un gruppo di operai, che chiamiamo miner, sono incaricati di agganciare una (ed una sola) nuova carrozza al treno. I miner sgomitano per ricevere l'incarico di agganciare la carrozza, perché sanno che solo uno ne potrà avere diritto. Il motivo per cui sgomitano è la ricompensa promessa per il lavoro svolto. Questo è il processo di mining che serve a generare il nuovo blocco, e con il quale agganciamo il blocco ai precedenti.
La nuova carrozza spalanca le porte e le transazioni salgono a bordo, ciascuna collocandosi in uno dei posti numerati nell'ordine prestabilito. Per salire a bordo della carrozza, le transazioni devono pagare una commissione: il biglietto. Il costo del biglietto non è uguale per tutti e i miner, che sono incaricati di occuparsi anche della "biglietteria", sono dei mercenari: preferiscono le transazioni che pagano di più a quelle che pagano meno.
Le porte si chiudono dall'interno e non vi è possibilità di aprirle dall'esterno. Il treno riparte con destinazione la prossima stazione, che raggiungerà tra ulteriori 10 minuti.
Blockchain e i sistemi distribuiti
Blockchain appartiene all'insieme dei sistemi distribuiti.
I sistemi distribuiti non nascono oggi, l'applicazione pratica esplode alla fine degli anni '70 del secolo scorso quando gli aerei implementano l'elettronica nelle strumentazioni di bordo.
Sugli aerei come nella rete di una criptovaluta, la necessità è la stessa: trovare un accordo, un consenso tra i computer.
- Negli aerei i computer di bordo devono giungere a un consenso affinché l'aereo faccia la cosa giusta e non caschi giù.
- In un sistema di pagamenti peer-to-peer, come Bitcoin, i nodi della rete devono giungere a un consenso per far sì che il sistema funzioni.
Quindi, se volessimo rappresentare graficamente il rapporto di dipendenza tra sistemi distribuiti e blockchain, andremo a creare un insieme dei sistemi distribuiti, che contiene l'insieme ledger distribuiti, che a sua volta contiene l'insieme blockchain.