Blockchain, la guida completa ma semplice

La tecnologia blockchain è diventata famosa contestualmente al fenomeno delle criptovalute, ma ancora pochi hanno ben chiaro quale sia il funzionamento di questo nuovo sistema di processare le informazioni.

In questa guida abbiamo voluto darne una spiegazione chiara anche per chi non ha idea di come funzioni il sistema attuale, il “nonno” di blockchain, con cui vengono processate normalmente le informazioni su internet.

Prima di andare avanti, ricorda che in questa guida non parleremo granché di criptovalute ma il discorso è valido anche per loro.

Il fatto è che molti associano blockchain solo a questo tipo di realtà, mentre i suoi orizzonti sono decisamente più ampi.

A cosa serve blockchain

Sarebbe difficile spiegare il funzionamento di un attrezzo senza spiegare a che cosa serva.

Quindi prima di tutto risolviamo questo arcano: blockchain è un modo per gestire le informazioni che vengono scambiate tra più dispositivi.

È la stessa cosa di internet, fondamentalmente, con la sola differenza che internet è centralizzato mentre la blockchain è decentralizzata.

Sembra difficile, ma non lo è:

  • Su internet, chi si connette ad un sito web lo fa connettendosi al server di quel sito. Il server è un archivio che ha tutte le informazioni sul sito: quante pagine ha, di che colore, come sono disposti i vari contenuti e così via. L’utente invia al server una richiesta di potergli mostrare quelle informazioni e se essa va a buon fine il server le manda all’utente. Chi ha il controllo del server ha il controllo totale sulla gestione di questo processo: può cambiare tutte le regole del gioco e gli utenti possono semplicemente adattarsi.
  • Attraverso la blockchain, le informazioni non sono salvate in un unico posto ma su tutti i dispositivi connessi alla blockchain. Questo significa che tutti possono vederle e nessuno può alterarle o controllarle a proprio piacimento senza le dovute autorizzazioni. Tutti i dispositivi hanno una copia completa della blockchain, che parte dalla prima informazione scambiata, e quando si aggiungono nuove informazioni tutti quanti le visualizzano nello stesso modo.

Ecco perché si definisce “centralizzato” il sistema dei server: c’è un unico punto di controllo, che è quello di chi comanda il server.

Se i server si rompono, vengono hackerati o chi li gestisce effettua una modifica, tutti gli utenti non potranno far altro che assistere e subirne le conseguenze.

La blockchain, che invece è uno strumento decentralizzato, garantisce a tutti le stesse condizioni ed è di conseguenza più trasparente ed equa.

Ecco perché dal momento in cui la sua fama è aumentata, promossa dalle criptovalute, molte aziende che con le criptovalute non hanno niente a che fare hanno deciso di impiegarla per gestire i loro processi.

blockchain guida

Blockchain si basa sull’architettura di rete peer-to-peer, in cui tutti i nodi sono connessi tra loro anziché con un server centrale

Cos’è blockchain

A questo punto ci viene abbastanza facile spiegare che cosa sia blockchain. Si tratta di una catena di blocchi, ciascuno dei quali contiene informazioni.

Le informazioni possono essere di qualsiasi genere, mentre la dimensione del blocco viene scelta dagli sviluppatori nel momento in cui sviluppano il software; per Bitcoin, ad esempio, la dimensione fissata è di 1 MB.

Questo significa che ogni volta in cui c’è 1 Mb di informazioni in più, un blocco viene creato ed aggiunto alla catena.

Quando un utente si unisce alla catena, riceve una copia completa di questa che parte dalla prima informazione mai scambiata.

Non c’è modo di cambiare la catena: se un utente apporta una modifica alla propria copia per trarne vantaggio, questa viene immediatamente identificata come invalida da tutti gli altri dispositivi connessi.

Questo è uno dei meccanismi fondamentali tramite cui è stata resa sicura la tecnologia blockchain, più sicura di quella che invece viaggia attraverso i server.

Questo sistema, per come lo abbiamo spiegato ora, ha due difetti:

  • Il primo è che se tutte le informazioni sono visibili a chiunque, nessuno può avere privacy. La blockchain di Bitcoin contiene tutti gli scambi economici avvenuti dall’inizio della crittomoneta in poi, il che significa che tutti potrebbero sapere chi ha comprato cosa e quanto lo ha pagato ( per capire meglio come funziona ti consiglio di leggere l’articolo su cosa sono i Bitcoin).
  • Il secondo problema è insito nella differenza tra questo sistema e quello dei server. Nel caso dei server, ogni utente comunica con il dispositivo centrale e questo eventualmente girerà le informazioni a tutti gli altri. Nel caso della blockchain, invece, tutti devono inviare le informazioni a tutti: si ha un problema cronologico, perché non è detto che tutti le ricevano nell’ordine giusto. Immaginati una chat con tutti i messaggi inviati in ordine sparso: non sarebbe una chat funzionante.

Nella tecnologia blockchain ci sono già le soluzioni a questi due punti, dobbiamo semplicemente scavare un po’più a fondo nel funzionamento di questo meccanismo.

Crittografia e privacy

Il problema della privacy viene risolto semplicemente dalla crittografia. I blocchi contengono informazioni che non sono scritte come lo sarebbero normalmente, ma che vengono occultate da protocolli numerici.

Questo rende totalmente indecifrabile qualsiasi informazione; tutti gli utenti hanno quindi una copia di tutte le transazioni storicamente avvenute, ma è una copia che non possono comprendere.

Ogni blocco utilizza una crittografia diversa, di conseguenza non è possibile decrittare la blockchain.

La crittografia pubblica viene effettuata dai miners, come vedremo più avanti; questi non possono vedere la copia originale del blocco, perché a loro ne arriva una copia già crittografata usando dei protocolli privati associati a ciascun utente.

Più avanti spiegheremo meglio questo processo: quello che conta, per il momento, è comprendere che non è possibile risalire a chi ha fatto che cosa utilizzando la blockchain.

Questa è un’altra grande differenza rispetto al modello tradizionale, quello dei server, su cui tutto quanto può essere tracciato; d’altronde non è un caso che di privacy online se ne parli sempre di più e che società del calibro di Google e Facebook abbiano attraversato degli scandali legati proprio a questo aspetto.

Il mining ed il corretto funzionamento di blockchain

Per assicurare un corretto funzionamento della blockchain, come dicevamo prima, è importante che tutte le transazioni vengano registrate nell’ordine corretto.

Si dice che la tecnologia di blockchain sia una tecnologia peer-to-peer, dove i peer sono i dispositivi connessi: tutti comunicano con tutti, senza passare da un server centrale che smista la comunicazione.

Ecco che diventa importante riuscire a fare in modo che tutti i messaggi vengano registrati da tutti nell’ordine corretto, proprio perché come abbiamo detto all’inizio tutti devono avere la stessa copia della blockchain.

Per capire questo problema, immaginati questo esempio molto semplice: ci sono cinque persone in fila indiana che si passano due palle, una blu ed una rossa: la prima ce l’ha il capofila, la seconda l’ultimo della fila.

Tutti devono ricevere una palla alla volta, una volta sola, e passarla ad un’altro che non l’ha ancora ricevuta.

Quello che succederà è che il capofila passerà la palla blu ad un secondo giocatore, mentre l’ultimo della fila passerà la palla rossa ad un altro ancora.

In questo modo, qualcuno avrà ricevuto prima la palla blu e dopo riceverà la palla rossa; qualcun altro avrà ricevuto prima quella rossa e dopo quella blu.

Come si fa ad essere tutti concordi sul fatto che le due palle siano partite nello stesso momento?

Nella tecnologia blockchain questo rappresenta un problema fondamentale, vediamo il motivo.

blockchain spiegazione

Blockchain necessita del mining per confermare qualsiasi tipo di scambio di informazioni, non soltanto quelle che riguardano le transazioni

Perché esiste il problema dell’ordine cronologico

Immaginati di avere 2 Bitcoin sul tuo wallet e di stare attendendo un pagamento dal valore di 1 Bitcoin.

Il tuo debitore ti invia una prova di averti inviato il denaro, così tu decidi di fare un acquisto dal valore di 2,5 Bitcoin.

Se l’ordine cronologico viene stabilito in modo corretto, tu alla fine avrai 0,5 Bitcoin: 2+1-2,5.

Se l’ordine cronologico non fosse garantito, invece, quel che succederebbe sarebbe che tu procederesti a fare l’acquisto prima di aver ricevuto il denaro e di conseguenza il tuo ordine non sarebbe completato.

Alla fine avresti 3 Bitcoin, ma non saresti riuscito a spenderli per acquistare quel che volevi perché al momento della transazione ne avevi soltanto 2.

Diventa quindi fondamentale avere un protocollo che assicuri l’esatto ordine cronologico con cui un portafoglio ha ricevuto e inviato le criptovalute; tolto dal campo delle criptovalute ed applicato ad un concetto esterno, come un magazzino aziendale gestito tramite blockchain, questo aspetto diventa ancor più fondamentale.

In che modo viene risolto dal mining

miners sono persone che mettono a disposizione la potenza di calcolo dei loro strumenti per garantire il corretto aggiornamento della blockchain.

Quello che avviene è molto interessante:

  • L’algoritmo originale della blockchain stabilisce una “firma” per ogni blocco che verrà aggiunto; questa firma è un numero che si ottiene mettendo nell’ordine corretto tutte le transazioni di un blocco.
  • I miners provano a mettere in ordine in vari modi le transazioni contenute del blocco, semplicemente facendo tentativi su tentativi.
  • Quando viene identificata la combinazione giusta, il sistema riconosce la firma del blocco e lo ritiene da quel momento in poi verificato. Il blocco viene aggiunto alla catena e da quel momento in poi tutte le transazioni che contiene sono irreversibili.

Questo significa che le transazioni avvenute con blockchain diventano verificate e sicure soltanto dopo che il blocco a cui appartengono è stato minato.

Quanto tempo è necessario affinché ciò avvenga? Dipende dalla complessità dei blocchi e dalla potenza di calcolo che i miners stanno prestando alla rete.

Nel caso di Bitcoin, che è costruita su un modello piuttosto arretrato, sono necessari circa 10 minuti dal momento in cui si effettua la transazione.

Le applicazioni di blockchain

Come abbiamo detto, le applicazioni di questa tecnologia sono pressoché illimitate.

Oltre alle criptovalute ( se vuoi conoscerle tutte ti consiglio di leggere la lista delle migliori criptovalute esistenti), vogliamo mostrarti in quanti modi blockchain può arrivare, e forse ci arriverà, a cambiare il volto dei dispositivi connessi alla rete.

Applicazioni aziendali

A livello aziendale, le principali applicazioni che al momento sono già sviluppate e adottate da molte imprese amanti dell’innovazione sono:

  • Gestione del magazzino: attraverso una blockchain che si autoaggiorna, Quando nuovi pezzi vengono portati al magazzino, generano delle informazioni che vengono sistemate su un blocco; quando i pezzi vengono prelevati avviene la stessa cosa. Quello che succede in questo modo è che in ogni istante si può conoscere l’esatta quantità di pezzi in magazzino, la loro natura e la loro posizione. Poiché la blockchain viene verificata attraverso la minificazione dei blocchi e le informazioni vengono create automaticamente dagli scanner che esaminano il magazzino, non c’è margine d’errore.
  • Gestione della catena produttiva: i produttori hanno sempre di più l’esigenza di produrre giusto in tempo per quando i pezzi servono al mercato, perché più scorte significano più costi. Collegando alla rete dei propri rivenditori un software basato su blockchain, si può fare in modo di sapere esattamente che cosa hanno venduto in tempo reale e procedere alla produzione di quegli stessi pezzi.
  • Gestione della comunicazione interna: uno dei grandi problemi della comunicazione aziendale è quella di tenere al sicuro le informazioni scambiate, che possono contenere parti di progetti segreti o sensibili. Evitando di connettere i messaggi ad un server che può essere attaccato dall’esterno, viene garantito un livello di cyber-security decisamente più avanzato.

Questi sono soltanto alcuni dei numerosi esempi che si potrebbero fare. Sicuramente, nei prossimi anni, verremo a conoscenza di progetti su scala ancora più ampia e ancora più incisivi che utilizzeranno blockchain per fini aziendali.

a cosa serve blockchain

Blockchain può essere utile sia per gli scambi tra aziende che per quelli tra aziende e privati

Applicazioni personali

Più ancora di quello che può fare blockchain per l’azienda, c’è quello che questa può fare per i singoli.

In questo caso, le applicazioni sono troppe per poterne elencare anche solo una parte significativa; vediamo quindi quali sono i vantaggi di questo sistema che consentono di sviluppare nuovi software migliorati rispetto alla loro versione tradizionale centralizzata:

  • In primo luogo, qualsiasi applicazione sfruttata su blockchain garantisce il massimo della privacy. Questo significa che non potrai essere tracciato e non dovrai preoccuparti che qualcuno venga a sapere “gli affari tuoi” o di sapere che il tuo comportamento viene monitorato e sfruttato a scopo di marketing.
  • Come seconda cosa è molto interessante sapere che una blockchain è virtualmente indistruttibile, ed ergo garantisce massima libertà. Dal momento in cui il progetto viene creato, finché ci sono dispositivi connessi può continuare ad essere utilizzato. Se ad esempio Uber fosse stato costruito sul modello decentralizzato e peer-to-peer, non ci sarebbe stato modo di fermarlo neanche con multe, sanzioni o qualsiasi altro strumento governativo.
  • Terzo, la democrazia è alla base del sistema blockchain. Proprio come alternativa ai modelli tradizionali che vedevano un punto di comando centrale, ovvero il possessore dei server su cui viaggiava la rete, questo sistema nasce per spostarsi verso un sistema di nodi tutti uguali tra loro. Questo consente, ad esempio, la nascita di movimenti politici perfettamente democratici in cui l’algoritmo fa da garante e altri sistemi di divulgazione compartecipativa di idee e pensieri.

Questi tre sostanziali vantaggi, presi singolarmente o combinati tra loro, sono alla base di tutte quelle app basate su blockchain e tutti quei software decentralizzati che negli ultimi anni hanno preso piede sempre più in fretta.

Problemi del sistema blockchain

L’architettura del sistema blockchain non è perfetta, anche se migliorativa per molti versi rispetto al sistema dei server centralizzati.

Non ci resta che chiarire, quindi, quali siano i punti difficili da gestire e quelli problematici. Innanzi tutto, però, occorre specificare che non tutte le reti blockchain sono organizzate nello stesso modo e che di conseguenza non è detto che tutte manifestino uno o più dei problemi elencati sotto:

  • Spazio di archiviazione: poiché tutti devono avere sul proprio dispositivo connesso alla rete una copia che si aggiorna in continuazione di tutte le transazioni avvenute, è chiaro che col tempo un sistema molto utilizzato come Bitcoin arrivi a creare una catena molto lunga e di conseguenza anche molto pesante;
  • Problema del 51%: sarebbe possibile attaccare e compromettere una rete blockchain arrivando a rappresentare il 51% dei suoi nodi. Questo perché in tal caso, facendo la stessa modifica della catena di blocchi su tutti i dispositivi rappresentati in questo 51% si arriverà ad avere il consenso della maggioranza della rete. Siccome le copie reali saranno in minoranza, saranno queste ad essere riconosciute come sbagliate. Ecco perché spesso si sente dire che le reti blockchain sono più sicure all’aumentare dei loro membri, perché diventa via via più difficile riuscire a coalizzarne il 51% tra loro;
  • Specifiche tecniche: in una rete centralizzata e non peer-to-peer, è il server a prestare la potenza di calcolo necessaria per elaborare e trasmettere le informazioni. Dal momento in cui un server in questo caso non esiste, seguendo l’architettura blockchain tutti devono essere in grado di poter ricevere, elaborare e ritrasmettere le informazioni agli altri dispositivi connessi; questo implica dei requisiti di sistema che richiedono, solitamente, un buon computer ed una buona connessione (senza andare nello specifico, mediamente un Intel i5, 5 GB di RAM e una fibra ottica).
  • Ecologia: a seconda del sistema utilizzato dai miners, che viene dettato dal modo in cui è programmato il sistema blockchain, minare una catena di blocchi può essere estremamente dispendioso in termini di energia elettrica. I minatori vengono ripagati dall’algoritmo, quindi lucrano sulla loro attività, ma la produzione di energia elettrica è notoriamente un problema ambientale non da poco.