Cos'è una Blockchain? La Blockchain spiegata semplicemente

Aggiornamento: 19 feb

Sicuramente ti sarà capitato che un amico o un collega ti parlasse di blockchain e criptovalute, e se stai leggendo questo articolo probabilmente ti sei trovato impreparato.

In questo articolo cercherò di spiegarti cos’è una blockchain nel modo più semplice possibile, in modo che la prossima volta saprai di cosa si sta parlando e saprai spiegare come funziona questa tecnologia rivoluzionaria anche ai tuoi amici.



Se preferisci il formato video, ti lascio qui sotto il video presente sul canale YouTube di Informatizzato sull'argomento, completo di illustrazioni e diagrammi per farti capire tutto al meglio.



Iniziamo!


Il termine blockchain è composto da due parti e si può tradurre letteralmente in “catena di blocchi”. Comprendere davvero questa tecnologia può essere complicato, per questo parleremo prima dei blocchi e poi della catena che li lega.


Cos’è un blocco?

In gergo tecnico, un blocco non è altro che un insieme di dati. Questi dati in teoria potrebbero rappresentare qualsiasi cosa, ma, soprattutto quando parliamo di criptovalute, questi dati sono solo una lista di record.


Per quanto riguarda la criptovaluta più conosciuta, Bitcoin, ogni record contiene letteralmente una lista di transazioni. Per esempio potrebbe contenere una lista del tipo:

  • A invia 10 a B

  • C invia 30 a D

  • B invia 4 a F

  • e così via…


Se invece parliamo di Ethereum, la seconda crypto più conosciuta, ogni record contiene in genere una lista di transazioni, ma potrebbe contenere anche altro, ad esempio degli Smart Contract, che sono molto interessanti e di cui sicuramente parleremo in un prossimo articolo dedicato.


In questo esempio, per spiegare al meglio cosa sia una blockchain, prenderemo in considerazione un record composto da una lista di transazioni, come nel caso di Bitcoin.



Perché una catena?

La prima cosa che devi sapere è che c’è un limite ai dati che si possono inserire all’interno di un blocco. Nello specifico, c’è un limite al numero di transazioni che puoi memorizzare in ogni blocco. Per questo dobbiamo continuare ad aggiungere nuovi blocchi per memorizzare le nuove transazioni nella blockchain. Ad esempio Bitcoin ha una media di 1500 transazioni in ogni blocco.


Quello che importa è che una volta riempito un blocco di transazioni, dobbiamo farne qualcosa. Cosa ne facciamo? Lo aggiungiamo alla blockchain ovviamente! Ma come?


Le funzioni di Hash

Per spiegarti come i blocchi vengono inseriti nella catena, dobbiamo parlare prima di una cosa chiamata “funzione di hash”.


Una funzione di hash è una funzione matematica per cui dato un input qualsiasi l’output è una stringa di lunghezza fissa. L’output di questa funzione è chiamato appunto “hash”.


C’è un sacco di matematica dietro alle funzioni di hash, infatti meriterebbero un articolo a parte solo per loro, ma quello che devi sapere è che non importa se l’input è una parola o tutta la divina commedia di Dante, l’hash sarà sempre una stringa di lunghezza fissa diversa per ogni input.


Puoi pensare a un hash come al riassunto univoco dell’input che lo ha generato.


Un’altra cosa importante è che calcolare l’hash di un input è molto facile. Un normale computer può calcolare miliardi di hash al secondo, ma dato un hash, è matematicamente impossibile risalire all’input che lo ha generato.


Le funzioni di hash sono alla base della crittografia moderna e vengono usate dappertutto, ad esempio per rendere sicura la navigazione web o nella firma digitale.


Bitcoin usa una funzione di hash chiamata SHA-256, dove 256 indica il numero di zero e uno di ogni hash.



Creare la catena

Per collegare i blocchi tra di loro e quindi creare la catena di blocchi, usiamo un semplice trucco: inserire in ogni blocco l’hash del blocco precedente.


In questo modo, se un malintenzionato decidesse di modificare un blocco esistente, ad esempio per modificare una transazione, dovrebbe continuare a modificare anche tutti i blocchi dopo per mantenere valida la sua modifica.


A questo punto potresti dire: “ma non hai appena detto che calcolare un hash è facilissimo per un computer? Uno non potrebbe semplicemente lasciare un computer acceso e calcolare tutti i nuovi hash dopo aver modificato un blocco?”


È qui che entra in gioco il concetto di verifica.


Verificare i blocchi

Per aggiungere un nuovo blocco alla catena, questo deve prima essere verificato.


Dal momento che Bitcoin, così come altre crypto, utilizza un modello chiamato proof-of-work per verificare l’autenticità di un nuovo blocco, per aggiungere un blocco all’interno della blockchain lo dobbiamo "minare".


Quello che i miner fanno quando vogliono minare un blocco su Bitcoin, è aggiungere dei numeri a caso al blocco che vogliono minare, in modo che l’hash del blocco più il numero aggiunto dal miner inizi con un tot di zeri.


Per esempio, supponiamo di voler minare un blocco contenente la frase “A invia 10 a B” e che per essere accettato l’hash del blocco debba iniziare con uno zero.

Il problema che il miner deve risolvere è questo: quale numero bisogna aggiungere al blocco per far sì che l’hash inizi con uno zero? Dato che le funzioni di hash non sono reversibili, l’unico modo per trovare il numero giusto è provarne uno a caso e controllare il risultato.


Più sono gli zeri richiesti all’inizio dell’hash e più tentativi ci vorranno per trovare il numero giusto.


Per esempio, con uno zero possiamo aspettarci di trovare il numero giusto dopo circa 4 tentativi, con due zeri dopo circa 500 tentativi e con tre zeri dopo più di un milione di tentativi!


In questo momento, per minare un blocco nella rete di Bitcoin, un miner deve ottenere un hash con 19 zeri iniziali, che si traducono in circa 24 mila miliardi di tentativi!

È per questo che il grosso del mining viene ormai condotto nelle cosiddette “mining farm”: enormi magazzini pieni di computer che non fanno altro che cercare il numero giusto per minare il prossimo blocco.


Questo significa che il malintenzionato che vuole modificare un blocco dovrà competere con tutte le mining farm del mondo messe insieme per mantenere valida la sua modifica, rendendolo praticamente impossibile oltre che estremamente costoso.


La proof-of-work è ciò che rende la blockchain sicura e immutabile.


Questo metodo di verifica, per quanto efficace, ha ricevuto moltissime critiche, soprattutto per l’enorme quantità di energia elettrica che richiede e per le sue conseguenze sull’ambiente. Esistono dei metodi di verifica alternativi, anche più ecologici, e in questo momento sono in fase di sperimentazione in varie blockchain.


Quindi una volta che un dato è inserito nella blockchain, resterà lì per sempre e non potrà essere più modificato. Questo è sia un pregio che un difetto. Vuol dire anche, infatti, che se sbagli a inviare delle monete non potrai più tornare indietro. Nessun rimborso.



La decentralizzazione

Un’altra cosa da sapere sulle blockchain è che sono “decentralizzate”, il che significa che tutte le decisioni, per esempio se accettare o meno una transazione o se applicare un aggiornamento al software oppure no, vengono prese in modo democratico, a maggioranza.


Chiunque infatti può installare un software e iniziare a minare bitcoin ad esempio, entrando a tutti gli effetti a far parte della rete. In questo modo nessuno ha il controllo e tutti possono verificare l’autenticità dei dati inseriti all’interno della blockchain.


La domanda ora è: “ma perché qualcuno dovrebbe mettere a disposizione il suo computer (e la sua corrente elettrica) per verificare i blocchi? Che ci guadagna?”


La ricompensa

In qualsiasi blockchain, i miner vengono sempre ricompensati per i loro sforzi nel mantenere la rete sicura.


Infatti il miner che aggiunge un nuovo blocco alla catena è autorizzato ad inserire una transazione speciale verso se stesso, detta Coinbase, per un valore prefissato dalla rete, andando così a creare nuova moneta.


Ad esempio, la coinbase di Bitcoin al momento è di 6,25 Bitcoin per ogni blocco. Quindi in pratica il miner che arriva per primo guadagna 6,25 Bitcoin, oltre alle commissioni pagate dagli utenti per ogni transazione.


Questo rende il mining profittevole e funge da incentivo per gli utenti che vogliono contribuire alla rete.


La Blockchain in poche parole

Riassumendo:

  1. prendi un insieme di dati (che di solito sono transazioni) per creare un blocco;

  2. aggiungi al blocco l’hash del blocco precedente aggiungi la coinbase;

  3. aggiungici un numero in modo che l’hash di questo blocco inizi con un tot di zeri;

  4. infine invia il tuo nuovo blocco a tutti gli utenti della rete.


Questa è una blockchain, spiegata semplicemente.


0 commenti

Post correlati

Mostra tutti

Resta Informatizzato

Non perderti mai un nuovo post.

Grazie per l'iscrizione!