Cos'è la blockchain?

Il termine blockchain letteralmente significa catena (chain) di blocchi (block).

È un registro condiviso e immutabile, come per esempio un registro di transazioni economiche dove sono scritte date, firme, movimentazioni monetarie in ordine temporale.

In una blockchain le informazioni sono memorizzate in blocchi di dimensioni prestabilite. Quindi è come se ogni riga del registro fosse un blocco con dentro delle informazioni.

Ogni blocco nella blockchain è memorizzato con una data crescente comprensiva di ore, minuti e secondi e quindi fornisce una definizione cronologica della scrittura dentro la blockchain stessa.


CONDIVISO


La blockchain è un registro condiviso perché tutti i nodi della rete blockchain condividono le stesse informazioni, ogni nodo detiene una copia del registro.

È una caratteristica scelta by design, in questo modo ognuno può verificare che il registro non sia stato manipolato o modificato.

Com'è possibile ottenere questa copia su tutti i nodi? Grazie ad una rete peer-to-peer, ossia una rete in cui tutti i nodi, tutti i suoi partecipanti, hanno le stesse proprietà, senza bisogno che ci sia un server centrale, un'entità centrale che garantisce o autorizza le transazioni, poiché tutti i nodi possono comunicare tra loro.

IMMUTABILE


La blockchain è un registro immutabile ossia una volta che un blocco di dati viene memorizzato non può essere più modificato.

Quando scrivo informazioni all'interno del blocco, queste informazioni vengono autorizzate da tutti i nodi mediante un algoritmo di consenso che valida la scrittura in blockchain e una volta che queste informazioni sono scritte nella blockchain non possono essere più modificate, diventano immutabili.

La blockchain ti ha incuriosito?


Come ottengo un registro condiviso e immutabile?

Per creare la catena di blocchi, ossia per fare in modo che i blocchi siano collegati tra di loro, si utilizzano delle funzioni hash, ossia funzioni matematiche che dato un blocco di informazioni iniziale, producono un risultato che è una sorta di sintesi del blocco.

La funzione hash è progettata in maniera tale che una piccolissima modifica nell'input produce, con un effetto a valanga, una modifica sostanziale nell'output, di conseguenza cambiando un carattere nel blocco iniziale si otterrà un risultato completamente diverso.

La funzione hash rappresenta una sorta di impronta digitale del blocco e quindi identifica univocamente il blocco.

La funzione hash inoltre non è invertibile ossia partendo dall'output è computazionalmente molto difficile, praticamente impossibile, riuscire a determinare il blocco che lo ha generato.

Soddisfatto delle nozioni imparate sulla blockchain?

Sarai ricontattato dal nostro team per approfondimenti.

Come viene costruita questa catena di blocchi?

  • Si parte da un primo blocco detto Genesi: contiene l’informazione che si desidera scrivere e l’hash del blocco precedente. Essendo il primo blocco, l’hash del precedente è zero/nullo.
  • Si calcola l'hash del blocco Genesi ottenendo il risultato
  • Il blocco due: contiene le sue informazioni e l'hash del blocco precedente.
  • Si calcola l’hash del blocco due usando le sue informazioni e l’hash del blocco precedente ottenendo un risultato
  • Il blocco tre: contiene le sue informazioni e l’hash del blocco due …

E così via per ogni blocco.

Si crea in questo modo una catena di blocchi molto difficile da manipolare perché per riuscire a manipolarla è necessario modificare non soltanto le informazioni scritte nel singolo blocco ma devono essere ricalcolati tutti i blocchi precedenti in quanto ogni blocco per calcolare il suo hash usa un hash calcolato sul blocco precedente.

Come ulteriori elementi di sicurezza, ci sono anche tecniche crittografiche per firmare ad esempio il contenuto all'interno del blocco.


Guarda la blockchain in azione

Sarai ricontattato dal nostro team per approfondimenti.