Dario Varriale
Dario Varriale

Software Developer

Immagine di copertina

Che cos’è di preciso una Blockchain e perché è così interessante per il futuro di internet, delle aziende e per gli utenti finali, ovvero tutti noi?


Già da un po’ di anni la parola Blockchain è entrata a far parte del nostro “dizionario digitale”, grazie soprattutto al Bitcoin e alle criptovalute che sono nate in seguito.
Partiamo dall’inizio.
La Blockchain è un metodo di conservazione e validazione di informazioni, che consiste in una catena di blocchi - da qui appunto il nome - connessi in modo sequenziale uno con l’altro grazie a due hash:

  • l’hash del blocco precedente
  • l’hash del blocco attuale

Hash blockchain
Un blocco è caratterizzato da questa struttura base:
  • il timestamp: formato digitale dell’esatto momento in cui viene creato.
  • i dati che si vogliono salvare
  • il nonce: numero temporaneo utilizzato per validare il blocco
  • l’hash del blocco precedente
  • l’hash: creato inserendo tutte le informazioni prima

Tutto il gioco regge grazie alla crittografia.


L’hash è un codice univoco che viene generato da un algoritmo matematico a senso unico, il quale ricevendo in ingresso tutte le informazioni del blocco stesso ne produce un codice univoco. In linea generale per generare questi hash, viene utilizzato l’algoritmo SHA-256, che dato un qualsiasi input restituisce un codice binario di 256 bit, che viene poi trasformato in codice esadecimale raggiungendo una lunghezza di 64 caratteri.
Vediamo al volo un esempio pratico di questo algoritmo:
Inserendo “a” la funzione restituisce -> “ca978112ca1bbdcafac231b39a23dc4da786eff8147c4e72b9807785afee48b b”
Inserendo “ab” notiamo che l’hash cambia completamente -> “fb8e20fc2e4c3f248c60c39bd652f3c1347298bb977b8b4d5903b850556206 03”
La caratteristica fondamentale dell’algoritmo è che dato un input l’hash non cambia nel corso del tempo, dunque avremo sempre lo stesso hash per lo stesso input. Questa caratteristica ci permette di capire se una determinata informazione è stata cambiata o manomessa, ad esempio in un file di testo o una certificazione ufficiale.

A quando risale la prima Blockchain?

Nel lontano 1991, i due ricercatori Stuart Haber e W. Scott Stornetta sviluppano questo meccanismo, decisamente più grezzo di come sono oggi le blockchain. Nonostante la potenzialità della tecnologia, questa non viene utilizzata e purtroppo nel 2004 il brevetto scade e non viene rinnovato. Solo nel 2008, un utente anonimo con lo pseudonimo di Satoshi Nakamoto divulga tramite mailing list di appassionati e forum la white paper di bitcoin - disponibile anche in italiano qui - che diventerà poi la blockchain più famosa e popolare nel giro di poco tempo.

Blockchain di Bitcoin

La blockchain di bitcoin si caratterizza per la Proof-of-Work, un metodo di validazione che viene effettuato prima dell’inserimento di un nuovo blocco sulla catena. La Proof-of-Work è letteralmente una “prova di lavoro”, che consiste in un vero e proprio puzzle crittografico che il computer - ovvero il miner - deve risolvere per poter così aggiungere il blocco successivo. Per aver aggiunto un blocco alla catena, il miner viene ricompensato in bitcoin. In sintesi, viene chiesto di trovare l’hash per quel blocco che inizia con una determinata sequenza di zeri - ad es. dieci - andando ad incrementare passo passo il nonce del blocco e ricalcolando l’hash.

Blockchain decentralizzata

L’altro aspetto fondamentale della catena di bitcoin, è l’essere decentralizzata e su connettività peer-to-peer, il che vuol dire che non solo la blockchain è pubblica e condivisa, ma consente a chiunque di potersi connettere e di diventare un nodo di consenso per rendere la catena sempre più affidabile - ottenendo di fatto una copia della catena e validando i nuovi blocchi. Ogni volta che un nuovo blocco viene validato e aggiunto alla catena, viene inviato a tutti i nodi.

La Proof-of-Work e la decentralizzazione, insieme, costituiscono un sistema di sicurezza che si autoalimenta nel tempo, allontanando sempre di più minacce di manomissione della catena: avendo ogni nodo una copia della blockchain, ed essendo i nodi sparsi per il mondo, è pressoché impossibile per un malintenzionato andare a manomettere un blocco sulla maggioranza dei nodi per ottenere il consenso e aggiungerlo alla catena.


Come possiamo utilizzare la Blockchain?

Questa tecnologia apre senz’altro un mondo di opportunità. Vediamole insieme.

Transazioni economiche

La più evidente è l’utilizzo di questa tecnologia nell’ambito finanziario, che si è dimostrato di fatto decisamente affidabile nel corso del tempo con tutte le criptovalute che sono nate. L’utilizzo esclusivo di questa tecnologia sulle transazioni monetarie permetterebbe ad esempio di azzerare le probabilità che qualcuno dichiari dei redditi falsi per pagare meno tasse ed eliminare la possibilità di manomissione dei conti da parte di hacker.

Proprietà intellettuali

Soprattutto nell’ultimo periodo abbiamo sentito parlare spesso di NFT - NonFungible Token -, questo perché sempre più artisti si sono spinti nel mondo dell’arte digitale, andando di fatto a siglare le proprie opere in formato digitale e pubblicandole sulla blockchain. In questo modo gli artisti certificano la proprietà intellettuale dell’opera e creano un token univoco sulla blockchain che possa essere poi rivenduto, come una vera e propria opera fisica.

Smart contracts

Gli smart contracts sono dei programmi che vivono sulla blockchain e che eseguono determinate istruzioni se si verificano determinate condizioni sulla catena.

Poniamo ad esempio un contratto discografico per un cantante. Viene siglato un contratto per cui il cantante riceve 5€ ogni mille streaming della sua canzone, questo contratto viene poi trasformato in smart contractor e pubblicato sulla blockchain. Gli streaming della canzone vengono registrati regolarmente sulla catena. Da li in poi il pagamento avverrà automaticamente senza passare per terze parti, in quanto il programma sarà in grado di verificare autonomamente sulla catena - e quindi con informazioni autentiche - se effettuare o meno il pagamento.

Assicurazioni

Accade spesso che persone poco affidabili, prima di rivendere la propria auto o prima di fare una revisione magari, tendano ad abbassare il valore del contachilometri illegalmente, cercando di trarre il massimo profitto in modo illecito. Implementando un sistema di condivisione dati ripetuto nel tempo all’interno di ogni veicolo, che pubblica informazioni sulla blockchain, sarebbe immediatamente verificabile la discrepanza in un’eventuale dichiarazione non veritiera del venditore.

Industria

La blockchain per le industrie potrebbe essere una vera e propria chiave di volta, in quanto si potrebbe avere un controllo garantito sulla creazione e lavorazione di un determinato prodotto, registrando tutti i passaggi sulla catena. Così facendo si andrebbero a ridurre gli errori umani sulla logistica e si diminuirebbero le perdite. Il tracking per le spedizioni risulterebbero più sicuri e accessibili pubblicamente, individuando eventuali manomissioni nel flusso di spedizione. Si apre la possibilità di tracciare ogni singolo spostamento di un prodotto alimentare, andando a ridurre al minimo la possibilità di diffusione di cibo compromesso: se un lotto di prodotti viene dichiarato infetto, rapidamente si può risalire a tutti gli spostamenti che ha fatto avvisando chi di dovere.

Votazioni digitali

Nel mondo si stanno già iniziando a sperimentare le votazioni digitali - come ad esempio in U.S.A. -, ma come abbiamo visto sono state esposte a rischi di sicurezza. Con l’utilizzo della blockchain si avrebbe la certezza di una votazione certificata e sicura, anche se ci sarebbero da sciogliere alcuni nodi, tra cui:

  • essere sicuri che il dispositivo da cui si effettua la votazione non sia infetto da malware o virus
  • capire come includere l’identità di una persona nella votazione in modo anonimo…

Archiviazione di documenti

Già adesso la blockchain viene utilizzata per l’archiviazione di documenti, ovvero per memorizzare l’hash ottenuto dal contenuto del documento in quel momento storico. Salvando l’hash del documento all’interno della catena, andiamo di fatto a siglare digitalmente tale documento come se fossimo da un notaio. Solo che al posto del notaio abbiamo un protocollo crittografico matematicamente invulnerabile!

Blockchain: sfatiamo dei miti

Non è tutto oro quel che luccica. Sebbene dal punto di vista crittografico la blockchain sia decisamente piazzata e ben strutturata, l’algoritmo di consenso potrebbe essere in un qualche modo “hackerato”.

L’attacco del 50% + 1

L’algoritmo di consenso funziona per maggioranza: ogni volta che viene aggiunto un blocco viene chiesto a tutti i nodi se quello può essere valido o meno, la blockchain crederà alla maggioranza che dice vero o falso a seconda del caso. Si apre dunque uno scenario che è obiettivamente poco improbabile, ma non impossibile. Se si riuscisse ad ottenere infatti il controllo del 50% + 1 dei nodi di una blockchain, si potrebbe controllare di fatto tutta la catena. Questo perché si avrebbe il potere di far credere all’algoritmo che quello che decidiamo noi su nostra iniziativa - invece che con controlli automatizzati - sia la verità, andando a compromettere la blockchain. Uno scenario decisamente complesso e dispendioso economicamente da gestire, ma non impossibile.


Conclusioni

Come possiamo vedere, questi sono solo alcuni degli utilizzi della blockchain e le sue potenzialità aumentano con l’avanzare del tempo.
Guarda il video completo nel nostro canale Youtube! Se avete in mente altri utilizzi particolari di questa tecnologia, scriveteci nei commenti e fateci sapere la vostra.

  • Blockchain

Condividi l'articolo

Leggi altri articoli

Il mondo IT è sofisticato, lo sappiamo.

Bisogno di aiuto?

Scrivici per una consulenza gratuita.