Blockchain: cos’è un blocco e com’è fatto

Blockchain: cos’è un blocco e com’è fatto

Un blocco è fatto come un taxi! Quindi la blockchain è una fila di taxi gialli!

Cosa vuol dire? 

Dunque, nel nostro post “Cos’è la blockchain. In parole semplici abbiamo provato a descrivere la blockchain come una specie di twitter. 

È un esempio che rende bene l’immagine di una serie di messaggi consecutivi tra loro che possono contenere transazioni, ovvero il trasferimento di valore da un account ad un altro in maniera anonima o pseudonima.

In questo post vediamo meglio cos’è un blocco, ovvero come questi messaggi vengono raggruppati e resi pubblici su blockchain. 

Come sempre, prima di utilizzare termini tecnici ed espressioni difficili, spieghiamo bene i concetti in parole semplici usando esempi ed immagini concrete.

INDICE ARGOMENTI

1) 50 persone fuori dalla stazione. Chi parte per primo?

Immagina 50 persone sparse nel piazzale davanti alla stazione del treno. 

Sono tutti appena arrivati in città ed hanno bisogno di raggiungere tutti lo stesso posto. 

Ma ognuno con uno scopo diverso. 

Alcuni hanno un semplice messaggio da trasportare, altri portano con sé un assegno da consegnare, altri ancora un contratto (se hai letto questo post ti dovrebbe suonare tutto molto familiare)

Fuori dalla stazione ci sono 10 Taxi ed ognuno può portare 5 persone (non chiedermi perché ma i tassisti dell’esempio hanno tutti una Multipla). 

Questo significa che tutte le 50 persone prima o poi arriveranno a destinazione. 

L’unico problema dei tassisti è quello di decidere quali passeggeri far salire prima degli altri sul primo taxi in partenza e poi su quello successivo e così via. 

Ti viene in mente qualche modo particolare? 

Come in molte situazioni (forse è poco romantico ma a volte succede proprio così) si potrebbe decidere che il miglior offerente vince il primo giro. 

Ti sembra strano che qualcuno sia disposto ad offrire più soldi rispetto agli altri per arrivare per primo nello stesso posto? 

Se ci pensi è un meccanismo molto diffuso e che si verifica per esempio nei parchi divertimenti, in aeroporto o alla posta. 

All’ingresso di un parco divertimenti puoi scegliere se comprare il biglietto normale o il fast pass, che costa di più ma ti permette di saltare la coda nelle attrazioni. 

Quando compri il biglietto di un volo Easyjet o Ryanair, puoi scegliere di pagare di più per avere l’imbarco prioritario. 

Se vai in posta per spedire qualcosa, puoi scegliere la spedizione standard oppure la spedizione veloce, che ti costa qualcosa in più ma arriva prima.

Come vedi esistono molti esempi. Tornando al nostro, da cosa dipende la scelta di pagare di più per arrivare a destinazione prima degli altri?

2) Dipende tutto da cosa stai trasportando.

Ciò che fa la differenza, in questo caso, è l’oggetto che stanno trasportando e l’urgenza che hanno di recapitare ognuno il proprio messaggio / assegno / contratto. 

Probabilmente se devi consegnare un contratto le cui clausole prevedono una firma entro una certa data ed ora, pena l’invalidità del contratto, avrai molta urgenza e sarai disposto a pagare di più per salire sul primo taxi. 

Se invece hai un semplice messaggio da lasciare a qualcuno, ma non hai nessuna particolare fretta, potresti essere disposto ad aspettare anche uno degli ultimi taxi in partenza, pur di pagare qualcosa in meno degli altri. Fai smaltire la fila e poi con calma sali anche tu su un taxi.

Le persone con il loro carico di messaggi / soldi / contratti sono come i nostri messaggi di Twitter nell’esempio che abbiamo fatto in questo post. I taxi sono i blocchi della catena blockchain ed i tassisti sono i minatori o miners, di cui avrai già sentito parlare, ovvero coloro che creano i blocchi della blockchain. Coloro che guidano i taxi. Ma di cui parleremo in altro post. 

Il concetto importante in questo caso è che (continuando l’analogia con Twitter) una volta che hai scritto ed inviato un messaggio non lo vedrai comparire subito nel registro pubblico. Il tuo messaggio prima di essere pubblicato sul registro è come una di quelle persone fuori dalla stazione in attesa di un taxi che lo porti a destinazione. E per farlo, devi pagare.

Per prendere un Taxi, devi pagare

Niente di strano, giusto? 

La stessa cosa vale anche per la blockchain. Se ci pensi è un meccanismo che in un certo senso preserva il sistema da attori malevoli. Perché? Perché per evitare di inondare blockchain di messaggi inutili (insomma, di SPAM) le persone che vogliono prendere parte al sistema devono pagare coloro che si occuperanno di rendere pubblica la transazione. 

Il limbo in cui vengono lasciati i messaggi in attesa di essere minati viene chiamato mempool. Nel nostro esempio la mempool corrisponde alla piazza di fronte alla stazione del treno dove le persone sono in attesa di prendere un taxi. 

Riprendendo l’esempio di Twitter potremmo creare uno slogan che recita: per Twittare devi pagare! XD

E qui ti potrebbe giustamente sorgere una domanda. Quando abbiamo parlato degli Smart Contract in questo post abbiamo detto che anche gli Smart Contract possono twittare sul nostro Twitter speciale che abbiamo paragonato ad una blockchain. 

Questo significa che qualcuno paga anche quando uno Smart Contract genera un messaggio? Si è corretto. Ogni volta che una transazione lascia la stazione del treno, sia che si tratti di un tweet scritto da un account, sia che si tratti di un tweet generato da uno Smart Contract, il tassista ha bisogno di mettere della benzina (del gas) nella macchina.

3) Come sono fatti i Taxi?

Gialli, ovviamente, sono gialli! 

Ma a parte questo dettaglio, i taxi del nostro esempio sono dei taxi disciplinatissimi! I tassisti non vogliono litigare tra loro. Vogliono rispettare l’ordine di partenza. Ed una volta per strada si mettono in fila uno dietro all’altro in base all’ordine di partenza! 

Per fare questo ed assicurarsi che nessuno imbrogli, i tassisti si attengono a delle regole ben precise. Perché? Perché vogliono che chiunque possa verificare la bontà del loro servizio.

In particolare le regole che hanno deciso di darsi i tassisti sono 5. 

Ogni tassista è dotato di un computer di bordo su cui scrive alcuni dati molto importanti e di cui tutti possono disporre perché questi dati, una volta scritti, vengono resi pubblici.

Ecco cosa riporta ogni tassista sul computer di bordo:

1 – L’ordine di partenza del taxi. Ovvero, quando lascia la stazione ogni taxi riceve un numero in base all’ordine di partenza. Avremo in questo modo la posizione del taxi numero 1, il numero 2, e così via. Saranno così sempre rintracciabili durante la carovana che formeranno per strada in base al numero di partenza.

2 – Ogni volta che parte, ogni taxi segna l’orario di partenza spaccando il millisecondo.

3 – Vengono registrati i passeggeri in forma anonima o pseudonima e viene registrato ciò che stanno trasportando.

4 – Ogni volta che un taxi parte, registra sul suo computer di bordo la targa del taxi che è partito prima di lui. Così per strada starà ben attento a mettersi dietro quella targa specifica. La targa dei taxi è una “targa speciale” e vedremo meglio in un altro post quali sono le regole per “costruirla”. 

5 – Ogni taxi genera la propria “targa speciale”. Per il momento immagina questo: prima di caricare i passeggeri e di scrivere tutte le informazioni sul proprio computer di bordo, i taxi non hanno una targa. La targa del taxi viene generata dal computer utilizzando tutte le precedenti informazioni (ovvero l’ordine di partenza, l’orario di partenza, i dati dei passeggeri, i beni trasportati e la targa speciale del taxi precedente). Il tassista scrive i dati sul computer ed il computer genera la targa del taxi. Se cambia anche solo una virgola anche di un solo elemento, cambia tutta la targa del taxi!

Bene, ora abbiamo tutti gli elementi per uscire dall’esempio e spiegare in dettaglio com’è fatto un blocco. 

4) Cosa si trova in un blocco

I taxi dell’esempio sono come i blocchi della nostra blockchain. 

Così come i taxi, ogni blocco ha:
1 – un Index, ovvero un numero che rappresenta la posizione assoluta del blocco all’interno della blockchain. Il numero di partenza del taxi. 

2 – l’orario in cui è partito, che in termini informatici si chiama timestamp

3 – Tutti i dati delle transazioni contenuti all’interno del blocco

4 – il numero della “targa speciale” (che in termini informatici si chiama HASH) del taxi che è partito prima di lui. Nelle blockchain questo dato si chiama tipicamente Previous HASH 

5 – la targa del taxi stesso, ovvero l’HASH generato in base a tutte le informazioni elencate sopra, come abbiamo visto in precedenza. 

Il concetto di HASH è molto importante, e proprio per questo motivo dedicheremo un post al suo approfondimento. 

Il blocco sarebbe rappresentato così:

La carovana dei taxi lungo la strada sarebbe rappresentata in questo modo:

5) Taxi gialli: cosa abbiamo imparato?

In questo post abbiamo visto insieme com’è fatto un blocco e quali sono gli elementi che lo compongono: 

  • Index, il numero assoluto del blocco, ovvero la sua posizione all’interno della catena
  • Timestamp: ovvero l’orario in cui viene generato il blocco
  • Previous HASH: che rappresenta l’HASH del blocco precedente
  • Tutti i dati inclusi nel blocco
  • HASH del blocco: che rappresenta il codice identificativo del blocco e dipende da tutti i dati precedentemente descritti e di cui il blocco stesso è composto (a dire il vero ci sarebbe anche un ulteriore elemento: il NONCE, ma lo vedremo in dettaglio in un altro post). 

Se sei interessato ad approfondire con noi l’argomento blockchain, iscriviti alla nostra Newsletter e ricevi aggiornamenti, approfondimenti e case study, raccontati in modo semplice e divertente. 

Share on facebook
Share on twitter

non perderti tutte le news, i nostri report gratuiti e gli aggiornamenti sui trend blockchain