La Blockchain spiegata ad un bambino

A meno che non abbiate passato gli ultimi due anni sull’affollatissima montagna del sapone sono abbastanza certo abbiate sentito parlare della blockchain, e tra le blockchains più importanti, di Bitcoin. Grazie alla continua crescita della copertura mediatica riguardo questo settore molti individui, anche profani a questo mondo, ne hanno sentito parlare e stanno cercando di capire concretamente di che cosa si tratta. Questo articolo è per tutti i non-tecnici che vogliono avere una reale idea di cosa sia questa “catena di blocchi”.

Esempio:

Immaginate di ricevere un messaggio dal vostro amico di infanzia che, notoriamente, ha sempre il conto in rosso.

Dopo avergli inviato i 500 euro richiesti il tuo amico potrà prelevare i soldi che gli hai inviato e continuare la sua vacanza.

Provando a ragionare sulle modalità attraverso le quali il trasferimento è avvenuto vi renderete conto che sia voi che il vostro amico “squattrinato” vi siete affidati ad una terza parte intermediaria, la banca, lasciandole la possibilità di gestire i vostri fondi.



Questo esempio evidenzia che per compiere una transazione non è necessario un reale trasferimento fisico di banconote: la transazione viene solo annotata in un registro. Un registro che né tu né il tuo amico controllate. Questa è la più grande falla dell’attuale sistema bancario.

Dipendiamo da terze parti e ci rimettiamo alla loro discrezione.

Qual è il problema di dipendere da qualcun altro?

Quando mettiamo i nostri interessi monetari in mano ad un terzo si presume che il terzo sia molto affidabile e non sia suscettibile di corruzione, interna o esterna. Purtroppo non è così. Vi risulta che il sistema bancario italiano, o anche europeo (si pensi alla situazione della Deutsche Bank), sia stabile e degno della vostra fiducia? Se invece siete il tipo di persone che hanno fiducia incrollabile nelle istituzioni, immaginate qualcuno dei seguenti scenari:

  • Un hacker attacca i server e la banca dati della vostra banca (vedi qui)
  • I servers della vostra banca vanno a fuoco
  • Il direttore della vostra filiale è maleintenzionato è si appropria dei vostri fondi approfittando della vostra fiducia (vedi qui)
  • La banca fallisce (vedi qui)

Dati questi presupposti, alcuni programmatori si sono chiesti se vi fosse un modo per completare transazioni senza che vi siano terze parti a garantirle.



Come abbiamo visto precedentemente una transazione non è nient’altro che la conservazione di dati in un registro. La vera domanda che nel 2007 Satoshi Nakamoto si è posto fu

Vi è un modo di registrare le transazioni senza che qualcun altro lo faccia per noi?

La blockchain non è nient’altro che la risposta a questa domanda. Un metodo per conservare autonomamente dati in un registro senza che un altro lo faccia per noi.

Ora che avete compreso semplicisticamente cosa è la blockchain sono abbastanza sicuro che la vostra mente si stia riempendo di domande a cui cercheremo di rispondere. Come funziona questo registro distribuito e decentralizzato?

La condizione di efficienza di questa tecnologia è l’esistenza di un numero di soggetti (miners), a cui non piace dipendere da terze parti, tale da riuscire a “conservare” questo registro.

Come funziona questo registro (blockchain) ?

Un ulteriore esempio sarà utile:

Immaginate dieci individui che vogliono essere indipendenti da terze parti. In forza di un comune accordo decidono di scambiarsi i dettagli dei propri account (le cosiddette API key o chiave pubbliche ovvero quelle che nel sistema corrente è chiamato IBAN) senza, ovviamente, conoscere l’identità degli altri per tutelarne la privacy. Nel sistema corrente, gli IBAN, invece sono strettamente correlati ad un’identità.

 

1) Cartelle vuote

Ognuno di questi soggetti detiene una “cartella vuota”. Avvenuta una transazione ognuno di questi dieci soggetti comincerà ad aggiungere fogli di dati nella “cartella vuota”. L’insieme di tutte le pagine in ogni cartella di tutti i soggetti formerà il registro che traccia le transazioni.

2) Cosa succede quando avviene una transazione

Immaginate che ognuno di questi soggetti sia seduto davanti ad un foglio bianco, che successivamente sarà conversato nella “cartella vuota”, con una penna in mano. Tutti sono pronti a trascrivere la transazione per registrarla nel sistema.

Ora, l’individuo #2 decide di inviare 10 euro all’individuo #9. Per completare la transazione #2 comunicherà a tutti che ha l’intenzione di inviare 10 euro a #9 e in modo tale che tutti trascrivano questa intenzione sulla pagina bianca.

Ognuno, grazie ai dettagli scambiati precedentemente, controllerà se #2 ha fondi sufficienti per avviare la transazione. Nel caso li avesse la transazione verrà validamente trascritta, da tutti, sul foglio bianco. Bene, la transazione è completata ed è stata registrata senza l’aiuto di terze parti.

3) Continue transazioni

Al passare del tempo le transazioni aumenteranno e ognuno dei 10 continuerà a trascrivere tutte le transazioni sul proprio foglio. Arrivati ad un certo punto, sul foglio utilizzato per trascrivere le transazioni, finirà lo spazio. Quello sarà il momento di conservare il foglio nella cartella vuota. L’attività poi riprenderà dallo step n.2.

4) Conservazione dei fogli

Prima della conservazione dei fogli nei quali sono trascritte le transazioni ogni soggetto deve “sigillarli” con una chiave unica certificata da tutto il network (i famosi 10). Nel concreto tutti i soggetti confrontano il proprio foglio per evitare che qualcuno che non abbia trascritto la transazione “conservi” il foglio incompleto/errato. Sigillandola tutti saranno sicuri che nessun altro potrà modificare i fogli e che il foglio non potrà essere mai spostato o cancellato, ripeto MAI. Quello che è nella cartella rimane nella cartella.  La certificazione dei sigilli viene chiamata in gergo “mining” ma noi la continueremo a chiamare “certificazione dei sigilli”.

Quello che nel sistema corrente è compiuto da terze parti e dalle banche viene adempiuto da questo “sigillo” molto più sicuro di un server.



Dopo aver conservato i fogli nella cartella il circuito può ricominciare. Questo perché tutti gli individui interni al network possono controllare le cartelle, che sono pubbliche, e quindi possono conoscere i dettagli, compresa l’account balance, di tutti i soggetti del network. L’assenza di un’identità connessa all’indirizzo o chiave pubblica serve a tutelare la privacy degli individui essendo possibile risalire all’account balance di tutti gli indirizzi.

Ogni cartella sigillata rappresenta una parte del registro che, proprio perché è nel possesso di svariati soggetti, è distribuito.

In un successivo articolo spiegheremo in che modo può essere posto questo sigillo sui fogli rendendolo certo e immutabile.

One Comment

  1. Buon giorno NGC,
    Purtroppo non è ancora semplice utilizzare la catena di blocchi.
    Io sarei molto interessato a utilizzarla, ma non ho ancora trovato qualcuno che la spieghi nella pratica, solo tante voci è davvero il paradigma rivoluzionario.
    Grazie per il buon servizio svolto.

    Cordialmente

    Salvatore Coniglio

Leave a Comment

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

*