Per rendere immodificabile il contenuto dei blocchi della Blockchain, ogni blocco viene “sigillato” con un Hash calcolato con la funzione S.H.A. 256 che prende come argomento tutti i dati del blocco, e cioè tutte le transazioni in esso contenute.
L’Hash in questo caso funziona da codice di controllo: modificando anche di una sola virgola il contenuto di un blocco questo andrebbe in conflitto con il suo Hash evidenziando così la contraffazione.
Ma nella Blockchain anche l’ordine cronologico dei blocchi è immodificabile e questo sempre grazie all’Hash dei blocchi. Infatti l’argomento dell’Hash che chiude un blocco include, in realtà, anche l’Hash del blocco precedente.
Questa immagine vuole rappresentare l’Hash del blocco 2 (H2) calcolato utilizzando come argomento i dati del blocco 2 + l’Hash del blocco 1 (H1):
Quindi se ad esempio si tentasse di spostare ed inserire il blocco 3 tra il blocco 1 e 2, l’Hash del blocco 3 (H3) diverrebbe parte del blocco 2 ed andrebbe in conflitto con l’Hash del blocco 2 (H2)…, evidenziando anche in questo caso la contraffazione. (Ecco formata la catena…).
In realtà tutto ciò non rende ancora immodificabile la Blockchain perché gli Hash possono evidenziare una contraffazione ma non impedirla.
Abbiamo già visto che la Blockchain è un file che viene condiviso, cioè “clonato”, su una pluralità di nodi di una rete informatica peer to peer (P2P):
Si stima che la rete Bicoin vanti la presenza di circa 50.000 nodi: oltre 10.000 sono presidiati dai miners e circa 40.000 si stimano essere presidiati da privati…
NB: chiunque con un PC collegato ad internet può custoridire una copia sempre aggiornata della Blockchain e quindi essere un nodo della rete. Inoltre chiunque, scaricandosi il software apposito, può mettersi a fare anche il miner (e diverrà così anche “censibile”). |
Quindi quando una copia della Blockchain viene contraffatta, quella copia sarà semplicemente “ignorata” dal Sistema Bitcoin.
Affinché un tentativo di contraffazione abbia successo, e cioè venga accettato dal Protocollo Bitcoin, è necessario che “l’attaccante” riesca a modificare il 50% + 1 delle copie della Blockchain della rete. Vedremo che ciò è possibile in teoria ma non in pratica grazie al lavoro dei miners.
Nel paragrafo successivo vedremo perche i dati memorizzati nella Blockchain sono sicuri e, in un certo senso, “eterni”: