La blockchain, spiegata al mio cane

Riccardo Montagnin
Cosmos Italia
Published in
9 min readJun 10, 2019
Una foto di Greys, il mio cane

Blockchain. Quante volte hai sentito parlare di questo termine senza capire veramente che cosa fosse? O magari non sai nemmeno di cosa si parla. Se anche tu, come molti altri, vorresti capire qualcosa di più su questo tema ma non hai grandi conoscenze tecniche, allora questo articolo è quello che fa per te.

Il titolo “La blockchain spiegata al mio cane”, infatti, racchiude il desiderio che questi pochi paragrafi sul tema possano essere compresi da chiunque, anche da Greys (che puoi osservare in copertina mentre fissa la sua prossima preda). Vorrei inoltre che, una volta finita la lettura, ti fosse possibile spiegare agli altri ciò che hai appreso, così che anche loro possano approfondire le conoscenze riguardanti questo argomento.

Prima di partire, vorrei però recuperare dalla tua mente alcuni concetti base di come funziona il mondo dei conti correnti ora.

I conti correnti

Come probabilmente già sai, per le banche tu sei soltanto un numero. E non sto scherzando, è così davvero! Tu sei il tuo saldo in banca. Cosa intendo con questo?

Per farla molto semplice, consideriamo una banca come se fosse composta da una sola persona seduta ad un tavolo. Questa persona ha in suo possesso solamente due cose: un foglio su cui è presente una tabella di due colonne, e una penna. Per aprire un conto corrente quello che dovrai fare è recarti da questa persona e fornirle il tuo nome. A questo punto, tutto quello che questa persona farà sarà aggiungere una riga alla tabella scrivendo a sinistra il tuo nome e a destra un bello zero (il tuo saldo iniziale). Nel momento in cui vorrai fare un versamento, andrai dal banchiere e gli consegnerai i soldi da depositare. Lui, di cambio, aggiornerà il numero accanto al tuo nome aggiungendoci la somma che gli hai consegnato. Viceversa, nel caso di un prelievo, egli ti consegnerà i soldi sottraendo la somma richiesta dal tuo saldo. Ecco, così funziona una banca in parole povere.

Probabilmente, detto ciò, ti starai facendo una domanda: “Ma chi mi assicura che il banchiere, per i suoi interessi personali, non modifichi i saldi delle persone che hanno un conto presso la sua banca?”. Direi che è una domanda più che lecita, e il punto è proprio questo. Nessuno, idealmente, può impedire ad una banca di modificare il saldo dei propri correntisti. Nella realtà dei fatti, questo non accade per ovvie ragioni, ma altre cose potrebbero portare a dei guai per i correntisti. Pensiamo ad esempio al caso del Venezuela, un intero stato fallito che ha portato al collasso di tutte le banche e dunque alla perdita di praticamente tutti i soldi di tutti i correntisti.

Come è possibile intuire, tutti questi scenari all'interno dei quali il danneggiato sei tu hanno in comune una causa sola che permette tali sviluppi: le banche (e, più sopra di loro, gli Stati) rappresentano un potere centralizzato. Che ti piaccia o meno, non puoi far altro che sottostare alle decisioni prese da questi attori, sperando sempre che ti tutelino.

La decentralizzazione

Come detto in precedenza, nessuno impedisce al banchiere di cambiare il proprio saldo per un tornaconto personale. Come possiamo dunque risolvere questo problema? Una soluzione molto semplice è quella di rendere il registro dei saldi dei correntisti pubblico. Se ognuno infatti può accedere a tale registro, nessuno potrà cambiare il proprio saldo senza che gli altri lo notino. Oltre a ciò, possiamo cambiare la definizione di saldo nella seguente.

Definiamo saldo la somma dei movimenti compiuti da una persona.

Prendiamo l’esempio in cui si siano quattro persone in gioco:

  • Alice con un saldo di 100€
  • Bob con 50€
  • Carlo con un saldo di 25€
  • Davide non possiede nulla (0€)

Tutti questi saldi iniziali sono derivati da una transazione per persona, ovvero quella di deposito iniziale.

Ora, mettiamo il caso in cui Alice voglia trasferire 50€ a Davide. Essendo che tutti hanno accesso al registro di transazioni, e dovendo gli altri validare questo particolare movimento, quello che succederà sarà il seguente:

  • Alice renderà pubblica la sua volontà di trasferire 50€ a Davide
  • Bob visionerà la richiesta di Alice e, una volta che avrà confermato tramite il registro pubblico che ella può di fatto trasferire quel denaro, confermerà la transazione.
  • A sua volta, Carlo farà lo stesso e anch'egli validerà la transazione.
  • Una volta che sia Bob che Carlo avranno validato la transazione il registro sarà aggiornato per tutti e una nuova copia di questo registro sarà distribuito a tutti i partecipanti.

Compiute queste quattro operazioni, ci ritroveremo dunque nella condizione in cui tutti avranno accesso ad un registro contenente una transazione in più di prima. Per calcolare dunque il nuovo saldo di Alice quello che si basterà fare è sommare tra loro le due transazioni che la interessano:

  1. + 50€ (deposito)
  2. - 50 € (invio a Davide)

Come si può intuire, questo sistema ha un punto di forza molto importante: nessuno è in grado di modificare il proprio saldo in maniera opportunistica senza chiedere conferma agli altri. E’, di fatto, impossibile barare. Tale sistema sposta dunque la responsabilità da una sola persona (il banchiere del primo esempio) mettendolo nelle mani di tutti i partecipanti alla rete. Il potere diventa in questo caso decentralizzato.

I blocchi

Arrivati a questo punto, starai forse pensando “Ok, bello il sistema. Ma questa blockchain, che cavolo è?”. Ci arrivo subito, ma prima fammi continuare l’esempio.

Passa qualche anno, e la nostra rete inizialmente composta da 4 persone si espande improvvisamente, attirando la curiosità di molti altri individui che vogliono utilizzare un sistema equo per lo scambio di denaro. Cosa succede in questo caso? Molto semplice, le transazioni tra gli individui diventano improvvisamente molto numerose e stare dietro a tutte chiedendo la conferma di ciascuna di esse prima di passare a quella successiva diventa improvvisamente troppo difficile. Per risolvere questo problema, decidiamo dunque di farci più furbi: ogni volta che vengono prodotte 10 transazioni, le prendiamo e le inseriamo all'interno di un pacchetto. Così facendo il numero di validazioni sarà molto minore (1/10 in questo caso), anche se leggermente più difficile (ad ogni validazione dovranno essere verificate 10 transazioni, e non 1). In questo modo abbiamo creato il primo pezzo della nuova tecnologia, il blocco.

Un blocco (block) non è altro che una serie di transazioni impacchettate tra loro, per rendere più facile il lavoro di validazione di queste ultime.

La catena

Arrivati a questo punto, vorrei farti io una domanda per vedere se fin’ora hai capito tutto.

Che cosa succede nel caso in cui si invertano due blocchi anche distanti tra loro?

Come potrai facilmente intuire, questo sarebbe un problema bello grosso. Se infatti i saldi delle persone sono date dalla somma delle transazioni che esse hanno compiuto, invertire due blocchi di transazioni tra loro porterebbe quasi certamente ad una modifica dei saldi stessi. Per fare un esempio, prendiamo il caso seguente.

  • Al blocco 1, Alice ha una saldo di 50€
  • Al blocco 2, Alice riceve 20€ da Bob, e il suo saldo diventa di 50 + 20 = 70€
  • Al blocco 3, Alice invia 60€ a Carlo, e il suo saldo passa a 70 - 60 = 10€

Ora, per uno scherzo della natura, il registro pubblico cambia e i blocchi 2 e 3 si invertono. Facendo così, al blocco 2 Alice possederà 50 - 60 = -10€! Con una semplice modifica, il suo saldo è magicamente diventano negativo, rendendo invalide tutte le transazioni dal blocco 3 in poi!

Per evitare questo problema si potrebbe inserire un nuovo sistema che permetta di collegare tra loro i blocchi in modo di impedire che due di essi vengano scambiati.

La catena (chain) non è altro che un sistema che impedisce ai blocchi di transazioni di essere spostati dalla loro posizione originale.

Questo sistema, sebbene molto complesso, può essere riassunto in un concetto molto semplice: tramite una particolare funzione matematica, ad ogni blocco viene dato un identificativo che dipende dal blocco precedente. Se spostassimo dunque un blocco e ripercorressimo la catena dall'inizio, ci accorgeremmo che qualcosa non va, visto che gli identificativi non sarebbero corretti ad un certo punto. La procedura mediante la quale tutta la catena diventa non più valida viene detta invalidazione.

La blockchain

Dopo aver visto cosa si intende con il termine block e cosa con il termine chain, mettere assieme le due definizioni per crearne una nuova è abbastanza immediato.

La blockchain non è altro che un registro di transazioni distribuito. Al suo interno le transazioni vengono raggruppate in blocchi (block) che sono a loro volta collegati l’uno all'altro per formare una catena (chain).

In definitiva, dunque, questa nuova tecnologia permette a chiunque voglia di transare del denaro senza essere soggetto alle restrizioni di enti come le banche. Non è pertanto difficile capire come questo nuovo sistema potrebbe cambiare il mondo come lo viviamo ora. Pensa infatti alle possibilità che si aprirebbero se chiunque volesse scambiare denaro potesse farlo nel giro di pochi secondi, da una parte all'altra del mondo, senza pagare alcuna commissione e senza dover sottostare ad alcuna regola. Sarebbe come se chiunque avesse accesso ad un sistema come PayPal ma senza l’obbligo di doversi fare un account o possedere un conto bancario. Sarebbe a dir poco rivoluzionario.

Come ultima cosa, c’è una precisazione da fare. Siamo partiti parlando di denaro e siamo finiti a definire cos'è una blockchain. Nel mentre, però, ho saltato volontariamente un piccolo passaggio: quello che è possibile scambiarsi attraverso l’uso della blockchain non è denaro contante (euro, dollari, …). Quello che ci si scambia attraverso l’utilizzo di questa tecnologia sono le criptovalute, termine composto dal prefisso cripto che identifica un’altra componente alla base di questo sistema (la criptografia) e il suffisso valute ad identificare un qualcosa che, per un insieme di persone (ovvero gli utenti della blockchain stessa) ha un valore.

Non solo denaro

Ricapitoliamo tutto ciò visto fin’ora.

La blockchain permette di tenere traccia dei saldi dei suoi utenti in maniera decentralizzata. Essa è sostanzialmente un registro distribuito immutabile che tiene traccia delle transazioni delle persone che la usano. Ma è davvero solo questo?!

In realtà no. La blockchain può essere utilizzata per registrare qualsiasi tipo di transazione, ma ho deliberatamente evitato di parlare di questo punto fino ad ora perché ci tengo a tenerlo per un altro articolo. Addentrandoci in questo mondo, infatti, finiremmo inevitabilmente a discorrere per ore, toccando anche temi molto tecnici. Per questo motivo, ho redatto un secondo pezzo che potrai trovare qui: Bitcoin, Ethereum e la Blockchain 3.0, spiegati al mio cane. All'interno di esso ho voluto fare una comparazione e una descrizione di Bitcoin, Ethereum e le nuove blockchain che stanno emergendo negli ultimi anni. Il tutto, ovviamente, in termini quanto più semplici possibili così che tutti possano facilmente comprendere di cosa si parla.

Conclusioni

Arrivati fino a qui spero che il concetto di blockchain sia un po’ più chiaro. Nel caso così non fosse, vorrà dire che avrò fallito nel mio intento. In questa evenienza sarei felice di modificare questo articolo incorporando i vostri suggerimenti (potete farmeli avere attraverso Twitter).

Se invece questa spiegazione vi fosse stata utile, vi invito a condividerla con i vostri amici, parenti o animali per far sì che anche loro possano venire a conoscenza di cosa si cela dietro il termine ormai così diffuso e contemporaneamente oscuro quale è quello di blockchain.

--

--

Riccardo Montagnin
Cosmos Italia

I’ve got too many places where to write my bio, so if you wanna see the updated one go to Twitter: https://twitter.com/ricmontagnin