Una semplice guida per comprendere il processo Blockchain in relazione al mondo reale.

Questa è una serie in due parti. Puoi trovare il collegamento all’articolo di follow-up alla fine di questo articolo, non appena sarà pronto.

Tutti parlano di Bitcoin in questi giorni, dal tuo barbiere ai tuoi amici che lavorano in borsa. Non preoccuparti, questo articolo non parla di come guadagnare soldi con il Bitcoin. Tuttavia, cercherò di aiutarti a capire la tecnologia di base che rende il Bitcoin funzionante e come questo concetto di blockchain possa essere utile nei prossimi decenni.

 

Panoramica storica

Il 31 ottobre 2008 è stato pubblicato un rapporto ufficiale da una persona anonima o un’organizzazione chiamata Satoshi Nakamoto, che spiegava un nuovo approccio per inviare denaro dal mittente al destinatario in modo diretto, senza coinvolgere alcun intermediario finanziario. Il documento ha dato un nome a questo concetto, ossia Bitcoin. Poiché Bitcoin utilizza alcuni concetti di base della crittografia, questo nuovo modo di scambiare denaro è stato classificato come criptovaluta. Il solo scopo del Bitcoin era per le transazioni finanziarie, ma i ricercatori hanno compreso che la sua tecnologia di base può essere adoperata per costruire altre applicazioni sicure e robuste, che possano rivoluzionare il modo in cui i sistemi attuali funzionano. “Blockchain” era il nome dato a questa tecnologia costitutiva. Troppe parole tecniche? Semplifichiamo!

Cos’è Blockchain? – Un’analogia del mondo reale

Supponiamo di vivere in una città, che ha un grande parcheggio per ospitare 200 auto in una volta (ipotizziamo che il parcheggio abbia solo un piano terra). Questo parcheggio ha un cancello principale che rimane chiuso e si apre solo quando una macchina entra o esce. Ora analizziamolo da diversi punti di vista:

  •      Prezzo: dato che alcune compagnie private hanno costruito questo spazio esclusivamente per il parcheggio e tutti i costi di manutenzione saranno sostenuti dalla società proprietaria, ci sarà un elevato costo di affitto per affittare un singolo posto auto.
  •      Sicurezza: se i ladri hanno accesso alla porta principale, possono raggiungere facilmente la tua auto (prendere le ruote, o il carburante, o danneggiare il freno, qualunque cosa!)
  •      Limite: cosa succede se il numero di macchine nella tua città cresce da 200 a 300? Il parcheggio non avrà spazio sufficiente per tutte le vetture e qualche altra società privata dovrà costruire un nuovo parcheggio.
  •      Fiducia: ti fidi della compagnia di parcheggi e loro sono responsabili della sicurezza e dell’affidabilità.
  •      Centralizzato: siccome tutte le macchine sono in un edificio, possiamo considerarlo un parcheggio centralizzato.

Ora, cambiamo lo scenario attuale. Immagina che ci siano 200 case nella tua città e tutte le 200 case hanno due garage ognuna. Tuttavia, per semplificare la nostra spiegazione, supponiamo che ogni casa abbia una sola macchina (tutte le vetture riempiono tutti gli slot del grande parcheggio descritto sopra). Quindi, ciascuna casa ha un garage vuoto tra i due garage disponibili. Ora, ipotizziamo che la gente della città decide di affittare il garage extra a chiunque necessiti di un parcheggio. Questo modello di spazio per il parcheggio risolverà il problema di parcheggiare 200 o più auto (nel caso in cui le persone entrino ed escono dalla città) senza il bisogno di costruire spazi di parcheggio più grandi per l’intera città.

Simile allo scenario precedente, analizziamo questo:

  •      Prezzo: dal momento che le persone non hanno costruito il secondo garage esclusivamente per l’affitto e il costo della manutenzione sarà ridotto, il costo per affittare lo spazio extra sarà relativamente basso rispetto al grande parcheggio centrale;
  •      Sicurezza: ciascuna macchina è riposta in un garage diverso, pertanto i ladri dovranno sbloccare tutti i garage per ottenere l’accesso alle auto, offrendo così maggiore sicurezza. (La sicurezza in blockchain è un po’ diversa ma per semplicità consideriamola al momento in questo modo!)
  •      Limite: man mano che il numero di case cresce, supponendo che ognuna abbia anche posto in garage, lo spazio per tenere più macchine continuerà ad aumentare. Così, crescendo la rete di affittuario e afittatore.
  •      Diffidenza: dato che nessuna autorità centrale controlla questi spazi di parcheggio distribuiti, assumiamo che ci saranno alcune direttive stabilite da tutti i proprietari di garage partecipanti per affittare i loro posti.
  •      Decentrato: come menzionato nel punto precedente, essendo questi parcheggi distribuiti in tutta la città, possiamo considerarlo un parcheggio decentrato.

L’analogia descritta sopra dà le basi per comprendere l’effettiva infrastruttura tecnica della Blockchain.

Modello di parcheggio per modello tecnico

Il modello di parcheggio presenta una panoramica molto semplice di Blockchain in alcune lingue del mondo reale. Ora proviamo a far corrispondere i componenti del nostro esempio di parcheggio al modello tecnico attuale:

  •      Il grande parcheggio centrale è un sistema centralizzato come AWS, Google Cloud, ecc. Queste piattaforme cloud sono anche distribuite a un certo livello ma, per semplicità, le assumeremo come un’unica entità;
  •      Le macchine sono i dati e le applicazioni;
  •      Il parcheggio distribuito è un sistema decentralizzato – Blockchain.

Aspetta! Ci siamo persi qualcosa.

Tutti i sistemi decentralizzati non sono Blockchain! Sì, Blockchain è un tipo di sistema decentralizzato particolare, che ha una proprietà unica. Quale proprietà? Parliamone.

I “blocchi” creano la Blockchain

Rivediamo il nostro esempio di parcheggio distribuito e facciamo una piccola modifica. Ipotizziamo che il lucchetto di un particolare garage venga generato quando una macchina è parcheggiata al suo interno (supponiamo che la stessa vettura vada nello stesso parcheggio ogni giorno). Inoltre, si consideri di aver numerato tutti i garage distribuiti in ordine seriale. La coppia di chiavi del garage n. 50 si basa sulla coppia di chiavi del garage n. 49 e anche sulle caratteristiche (quali colore, peso, numero del motore ecc.) della macchina parcheggiata all’interno del garage n. 50, e questo processo parte dal garage n. 1 e si sposta fino al garage n. 200 o anche di più.

La coppia di chiavi di ciascun garage dipende dalle caratteristiche dell’auto del garage e dalla coppia di chiavi di accesso del garage precedente.


Pertanto, se un ladro cerca di entrare nel garage numero 49 e modifica qualsiasi caratteristica della macchina, ad esempio il suo colore o numero di registrazione, le caratteristiche della vettura di quel garage cambieranno. Ciò significa che verrà generata una nuova coppia di chiavi di blocco per il garage n. 49 e, poiché la coppia di chiavi di blocco per il garage n. 50 dipende dalla coppia di chiavi del garage n. 49, cambierà anche la coppia di chiavi per il garage n. 50. Lo stesso vale su per garage futuri.

Ora, facciamo un’ultima ipotesi sul fatto che il calcolo di una coppia di chiavi richiede molte risorse di calcolo. Questo significa che se dovessimo ricalcolare queste coppie, nel caso in cui un ladro modificasse qualsiasi caratteristica dell’auto in qualunque garage, sarà praticamente impossibile ricalcolare di nuovo tutte le coppie.

Cosa succede se una coppia di chiavi di sicurezza viene cambiata?

Spero tu ricordi che abbiamo parlato di tutti i proprietari di garage rispettando alcune regole? Una di queste è controllare un garage valido. Un garage è valido se è possibile validare la sua coppia di chiavi di blocco.

Se una coppia di chiavi di blocco viene modificata, le coppie
di chiavi di blocco di tutti i seguenti garage non sono valide perché ogni
coppia dipende dalla coppia precedente. (Il processo per convalidare una coppia di chiavi di blocco per un particolare garage è molto veloce rispetto a generarne uno).

Questa dipendenza da una coppia sulla coppia precedente lo rende una catena di garage. Nel mondo tecnico questi garage sono detti “blocchi”, ottenendo così il suo nome: Blockchain (una catena di blocchi).

I blocchi in Blockchain sono legati al blocco successivo da hash proprio come le coppie di chiavi d’accesso nel nostro esempio. Simile all’esempio garage, se i dati in un blocco vengono modificati, gli hash devono essere ricalcolati per tutti i blocchi successivi. Dal momento che calcolare l’hash è un’operazione che richiede molte risorse, diventa quasi impossibile farlo. Quindi la rete esclude il blocco invalidato. Il calcolo dell’hash viene chiamato mining; ne parleremo meglio nella prossima versione di questa serie.

Come si recuperano i blocchi dalle modifiche?

Tutti i computer della rete blockchain conservano una copia della blockchain completa. Quindi se un blocco o una catena completa in uno o più computer viene modificata, l’intera rete tenta di confrontarla con le proprie copie dell’intera catena.

Se la maggioranza dei nodi (o computer) della rete rileva che la catena modificata non è valida, la catena modificata viene sostituita con una catena valida proveniente da altri nodi. Questo rende il Blockchain vulnerabile all’attacco del 51%. In parole povere, se più del 50% dei nodi della rete sono dannosi (o dicono che hanno una catena modificata), l’intera rete può essere compromessa.

Conclusioni

Questa è una grande quantità di informazioni da digerire. Questa era la PRIMA parte della guida completa per principianti, fornendo le basi per Blockchain. Spero che questo articolo ti abbia preparato per una buona discussione con i tuoi amici riguardo l’argomento Blockchain. Scopri la prossima versione di questa serie in cui parliamo di Ethereum, Smart Contracts e Mining.

Se ti è piaciuto leggere questo articolo, fai clic e tieni premuto “Applausi” qui sotto, e aiuta i tuoi amici a trovarlo condividendolo con loro. Grazie! 🙂

Questa è stata la prima versione della serie “Beginner’s Guide to Blockchain“.