IOT e Blockchain: connubio sensato o pura illusione?

Tech News

di Davide Di Stefano, Membro del Consiglio Direttivo, Blockchain Education Network

Internet Of Things e Blockchain, due dei maggiori argomenti di discussione in ambito tecnologico degli ultimi anni, due argomenti che spesso si fondono per dar vita a nuove idee e soluzioni, a volte sensate, a volte un po’ meno. Quando il connubio di queste due tecnologie risulta veramente sensato? Quali caratteristiche della Blockchain possono supportare il mondo dell’IoT e come l’IoT può divenire un supporto della tecnologia Blockchain stessa? Obiettivo dell’articolo, è rispondere brevemente a queste domande, dando al lettore una maggiore cognizione sulle reali potenzialità del connubio di queste due tanto discusse tecnologie.

In breve…cosa è la Blockchain?

La parola Blockchain emerge nel 2009, insieme al termine Bitcoin. Difatti, la prima applicazione di una tecnologia di tale tipo viene riscontrata all’interno del meccanismo di funzionamento di Bitcoin, la prima cosiddetta “criptovaluta”, una moneta digitale in grado di funzionare senza la necessità di avere un ente centrale che ne regoli il funzionamento.

Oltre a Bitcoin, la Blockchain è prima di tutto una tecnologia, che sfruttando diverse caratteristiche è in grado di offrire un modo innovativo e radicalmente diverso di concepire la registrazione dei dati all’interno di un sistema distribuito tra tutti i partecipanti alla rete Blockchain stessa. Difatti, quale struttura dati, una Blockchain può essere in grado di registrare dati di diverso tipo, come ad esempio denaro, identità, etc. La tecnologia Blockchain può essere considerata un sottoinsieme del gruppo delle Distributed Ledger Technologies, o DLTs. Come suggerisce il nome, un protocollo Blockchain si riferisce ad un database digitale (il cosiddetto ledger, per l’appunto), condiviso in un network dove è replicato tante volte quanti sono gli utenti appartenenti a esso e da questi mantenuto continuamente aggiornato (distributed). La combinazione di crittografia, networking e meccanismo di consenso garantisce ad un’infrastruttura Blockchain immutabilità, decentralizzazione e sicurezza. Queste tre caratteristiche fondamentali abilitano un sistema di pagamento dove due parti che mancano di fiducia tra loro, possano transare in maniera sicura senza la presenza di un ente centrale. Per questo, la Blockchain è stata definita “the new technology of trust” e “the trust machine”

Inoltre, la Blockchain, o meglio il mondo dei DLTs in generale, si caratterizza in base a due diverse accezioni o tipologie, ossia Blockchain permissionless e Blockchain permissioned. La vera differenza tra le due sta nel numero degli attori che all’interno della rete possono prendere o meno decisioni, ossia la forma di consenso con cui la rete aggiorna, inserisce o addirittura toglie le informazioni al suo interno. Nelle Blockchain Permissionless, non esistono barriere d’accesso al network e non esiste alcun attore pre-selezionato che fa da validatore, ma chiunque nel sistema può divenire un validatore. Nelle Blockchain Permissioned, il consenso, ovvero il permesso di validare e scrivere i blocchi nella catena, è centralizzato e per accedere al network è richiesta un’autorizzazione.

Nel corso del tempo, le features intrinseche della Blockchain ed ulteriori sviluppi a contorno, come gli smart contract, hanno permesso di ipotizzare numerose applicazioni della tecnologia in svariati settori. Nello specifico, le funzionalità della Blockchain che abilitano ulteriori applicazioni, si riassumono in:

  • Timestamping: si intende la registrazione immodificabile e accessibile delle informazioni su un network di nodi distribuiti, producendo una marca temporale che consente di associare una data e un’ora certa un documento informatico, o un qualsiasi tipo di dato.;
  • Tokenizzazione: si tratta di sfruttare la Blockchain in modo da digitalizzare un asset, così da riprodurre il concetto di scarsità propria del mondo digitale, per offrire prove incontrovertibili dell’avvenuta transazione di un bene fisico (pensiamo ad una proprietà) ma anche di un bene immateriale (come la quota di un fondo, un diritto d’autore o un brevetto) e garantire l’ownership dell’asset stesso;
  • Automazione: la Blockchain potrebbe configurarsi come un ottimo layer utile all’automazione dei processi di business, attraverso l’utilizzo di smart contract, che consentono di recuperare le informazioni registrate su Blockchain e gestire l’automazione del processo di attivazione di determinate decisioni soprattutto in ambienti non trusted. Un contratto intelligente è essenzialmente un programma informatico che esegue inevitabilmente le condizioni postulate precedentemente dagli sviluppatori. O meglio, un contratto tradizionale i cui effetti sono garantiti da un codice, un algoritmo.

L’utilizzo della Blockchain può supportare il settore dell’IoT?

IoT e Blockchain hanno diverse similarità concettuali alla base della loro natura, la principale è il concetto di network distribuito, ossia una situazione in cui diversi attori partecipano un network in cui vige assenza di fiducia ed i meccanismi tecnologici che si instaurano mirano a garantire la trasparenza e la veridicità delle informazioni.  Infatti, le applicazioni del mondo dell’Internet of Things sono per definizione distribuite, ed è proprio su questo aspetto che la tecnologia Blockchain può coniugarsi efficacemente con l’IoT, in modo tale da aggiungere maggiore fiducia al network.

Una delle principali problematiche rilevate dalle reti IoT in grado di elaborare transazioni dati su più dispositivi di proprietà e amministrati da diverse organizzazioni, è quella appunto di individuare eventuali perdite di dati, ad esempio in caso di malfunzionamenti della rete o in caso di attacco da parte di criminali informatica. Inoltre, l’IoT genera una grande quantità di dati e, con più parti interessate, l’ownership dei dati non è sempre chiara.

In questo senso, la Blockchain può adempiere in maniera efficace al ruolo di “certificatore” dell’IoT, senza il necessario intervento di terze parti che intercorrano nel processo, mantenendo un libro mastro e quindi una traccia non solo dei dispositivi ma, anche di come essi interagiscono e, potenzialmente, in quale stato si trovino.

La tecnologia Blockchain, quindi, unisce la sicurezza della sua infrastruttura contro potenziali attacchi alla rete (come detto in precedenza, non esiste single-point-of-failure), garantendo contemporaneamente trasparenza ed immutabilità della cronologia dei dati registrati. Queste caratteristiche, supportano notevolmente le applicazioni in campo IoT, quando è necessario costruire un ecosistema dove la qualità e la trasparenza dei dati risulta fondamentale ad attrarre le parti interessate coinvolte.

Riepilogando, la tecnologia Blockchain può limitare diversi problemi di sicurezza e scalabilità associati all’IoT:

  • La tecnologia Blockchain è a prova di manomissione e questo elimina la necessità di fiducia tra le parti interessate. L’unico problema che rimane è quello legato al controllo ed all’ownership dei dispositivi IoT da cui i dati vengono generati;
  • Una volta registrato in Blockchain, il dato diviene immutabile, ciò significa aggiungere un altro livello di sicurezza al sistema, che gli attori malevoli non avrebbero modo di bypassare nel caso vogliano sovrascrivere i record di dati esistenti e precedentemente generati dagli stessi dispositivi IoT;
  • La Blockchain offre trasparenza, consentendo a chiunque sia autorizzato ad accedere alla rete di tenere traccia delle transazioni avvenute in passato. Ciò può fornire un modo affidabile per identificare una fonte specifica di eventuali perdite di dati e intraprendere azioni correttive rapide;
  • Fornendo un modo per accrescere la fiducia tra le parti interessate, la Blockchain può consentire alle aziende IoT di ridurre i propri costi, eliminando le spese generali di elaborazione relative ai gateway IoT (ad esempio i costi generali di protocollo, hardware o di comunicazione);
  • La Blockchain coniugata con un sistema di firme digitali, può non solo garantire l’immutabilità dei dati, ma anche la non ripudiabilità degli stessi.

L’IoT come oracolo della Blockchain

I dispositivi IoT possono idealmente divenire oracoli a supporto della tecnologia Blockchain.

Un oracolo, nel mondo Blockchain, costituisce un agente digitale unidirezionale che trova e verifica i dati del mondo reale e invia crittograficamente queste informazioni alla Blockchain, la maggior parte delle volte per attivare degli smart contract, ossia dei programmi informatici che generano delle azioni sulla Blockchain stessa. Generalmente, un oracolo non è l’origine dati stessa ma è quel layer che si interfaccia con le origini dati e la blockchain, in modo da tradurre le informazioni, fornite ad esempio da API (Application Programming Interface), che devono essere aggiunte a una blockchain.

Un oracolo può assumere la forma di software e hardware. 

Gli oracoli basati software, come si può immaginare, hanno lo scopo di gestire tutte le informazioni disponibili in rete e interagiscono direttamente con feed di dati per estrarre, verificare e trasferire quei dati in una Blockchain. Ad esempio, i dati in oggetto potrebbero essere quelli collegati alla vendita dei biglietti per concerti di musica, al prezzo di azioni societarie, a transazioni digitali, etc.

D’altra parte, un oracolo basato su componente hardware può interagire direttamente con il mondo fisico, intercettando idealmente quei dati prima di Internet stesso. Esempi potrebbero essere banalmente rappresentati da oracoli che verifichino gli agenti atmosferici, che catturino i dati collegati ad un’autovettura o che catturino i dati collegati ai consumi energetici. Il tutto grazie all’implementazione di dispositivi IoT che fungono da vettori di dati per la Blockchain.

In particolare, con gli oracoli, il lavoro degli smart contract è notevolmente facilitato, in quanto essi trovano un percorso per interagire direttamente con i dati al di fuori dell’ambiente Blockchain. A differenza di un tradizionale contratto, gli smart contract sono infatti grado di recepire alcune informazioni derivanti dal mondo esterno come input, processarle attraverso le regole che sono state definite al suo interno e generare una specifica azione come risultato. Per questo motivo, per verificare automaticamente la correttezza riguardo al fatto che un determinato evento soddisfi le condizioni del contratto, risultano fondamentali gli oracoli. Questo è vero in particolare se lo smart contract viene utilizzato al fine di automatizzare processi in cui le singole fasi dipendono dall’effettiva realizzazione di un risultato o di una condizione (stato) precedente che deriva da fattori del mondo esterno.

Conclusioni

Da quanto detto in precedenza, deriva la considerazione secondo la quale l’IoT potrebbe trovare sempre più spazio all’interno dei casi d’uso basati su Tecnologia Blockchain, poiché aiuterebbe a ridurre notevolmente quel gap incolmabile rappresentato dagli eventi che avvengono nel mondo fisico e quelli che avvengono in un mondo che altrimenti non riuscirebbe a dialogarvi, ossia quello digitale.

Attenzione però, non è tutto oro quel che luccica.

Infatti, l’errore che molto spesso si compie, è quello di pensare che il connubio di queste due tecnologie risulti sempre vincente o che possa costituire una panacea per molte delle problematiche presenti su un fronte o sull’altro. Molto spesso, si parla di Blockchain come tecnologia che garantisce in maniera assoluta l’autenticità di un dato, nulla di più sbagliato. La tecnologia Blockchain rende un dato “certo”, ossia certifica e tramite le sue caratteristiche naturali rende la registrazione di quel dato immutabile. Ciò significa, che non per forza tutto ciò che è registrato in Blockchain corrisponda alla verità. Basti pensare ad un dispositivo IoT manomesso, quell’oracolo non farà altro che comunicare alla Blockchain ed eventualmente agli Smart Contract dei dati fasulli, con tutte le conseguenze negative del caso.  Ciò significa che risulterà sempre necessaria la presenza di una terza parte fiduciaria che garantisca la sicurezza e la qualità degli oracoli, difatti molte aziende si stanno già muovendo in quella direzione. Significa che il connubio di queste due tecnologie non è assolutamente un’illusione, ma che tale connubio non risolve definitivamente il problema della fiducia all’interno di un network partecipato da attori eterogenei, ma crea le basi per la realizzazione di nuovi servizi o per incrementare l’efficienza di servizi già esistenti.

E non è tutto, l’immutabilità dei dati registrati in Blockchain non sempre è assicurata.

Diversamente da quanto si tenda a pensare, l’immutabilità non è una proprietà di qualsiasi Blockchain. Sebbene quasi tutte queste tecnologie siano caratterizzate da una struttura dati a blocchi concatenati gli uni agli altri, e quindi la modifica di un blocco necessiti la modifica di tutti i blocchi ad esso consecutivi per garantire consistenza, non è detto che per tutte le Blockchain esistenti la riscrittura dei blocchi e quindi la loro immutabilità sia improbabile. La caratteristica di immutabilità deriva dalla resilienza del network, ossia dalla difficoltà, da parte di un attore malevole, di realizzare un’alterazione degli stati e quindi delle informazioni contenute in ogni blocco. 

Una Blockchain Permissioned composta da soli 3 nodi (partecipanti) non offre molte garanzie di immutabilità: i nodi responsabili della creazione dei blocchi potrebbero colludere andando a riscrivere l’intera catena con tutte le transazioni identiche ed una sola modificata, in modo che nessun altro utente possa rendersi conto della modifica. Una Blockchain Permissionless (ovvero i cui nodi in grado di creare nuovi blocchi non sono noti o autenticati) che abbia un’elevata distribuzione di nodi e che presenti forti disincentivi alla riscrittura dei blocchi basati sulla teoria dei giochi, offre invece elevate probabilità di immutabilità.

Ad esempio, la Blockchain di Bitcoin è quella che meglio assolve questa caratteristica, in quanto l’elevata decentralizzazione dei nodi che vi partecipano e gli incentivi economici alla base del network, fanno sì che una sola ora di attacco alla rete per alterare gli stati e le informazioni contenute nella stessa, costi all’attore malevolo oltre 500.000€ l’ora, e non è detto che l’attacco abbia successo.

Altre Blockchain, come quelle Permissioned basate su meccanismi di consenso deboli o anche le Permissionless basate su sistemi di incentivi non efficienti, non offrono alcun tipo di garanzia di immutabilità e quindi non sembrano essere utili per applicazioni di business dove l’integrità e la consistenza dei dati risultano essere essenziali.

Blockchain Education Network Italia (BEN)

Fondata alla fine del 2014 e divenuta non-profit nel 2016, promuove lo studio e l’utilizzo della tecnologia Blockchain mediante conferenze, corsi e sviluppo di progetti. La divulgazione scientifica e l’educazione alla tecnologia alla base del Bitcoin e delle altre criptovalute, costituiscono la mission del BEN.