Home » Risorse » Blockchain, DLT e IOT: un mix ad alto potenziale – parte seconda
Risorse

Blockchain, DLT e IOT: un mix ad alto potenziale – parte seconda

blockchain

di Stefano Della Valle – CEO at Things lab – Member of IOTA evangelist network

Nella precedente parte di questo articolo ho accennato all’importante vantaggio dei DLT, o Distributed Ledger Tecnology, nomenclatura che indica più in generale tutto ciò che tecnologicamente deriva da Bitcoin e ne mantiene le logiche di base.

Riassumendo, il vantaggio consiste nel fornire garanzie sulla qualità di un dato, che se appunto è un dato attendibile permette di attivare delle procedure automatiche.

Queste procedure prendono il nome di Smartcontract. Sono sostanzialmente dei programmi che vengono eseguiti dagli stessi nodi che costituiscono la rete che mantiene il registro distribuito.

Tutti i DLT eseguono degli Smartcontract perché questo è il modo nativo con cui viene spostato un importo tra due account Bitcoin, ovvero in cui viene aggiornato il registro modificando dati significativi in esso memorizzati. Purtroppo il linguaggio di programmazione di Bitcoin è molto limitato e quindi risulta adatto solo a spostare “valore” tra due indirizzi del registro.

Impossibile far calcolare anche una semplice media di valori presenti nel registro alla rete Bitcoin.

Questo limite ha ispirato la creazione della rete Ethereum dotata nativamente di un sistema di Smartcontract molto più sofisticato.

Smartcontract Etherum e i suoi limiti

Uno Smartcontract Etherum è un vero e proprio programma che viene eseguito dai miners durante il processo di creazione di un nuovo blocco della catena. Inseriranno il nuovo stato dello smartcontract nel blocco, stato che verrà ricaricato alla prossima riattivazione dello smarcontract da ogni miner che vorrà eseguirlo ed ottenere le commissioni e la ricompensa.

Questo strumento dovrebbe permettere il superamento dei limiti di Bitcoin e supportare le applicazioni più disparata, ma purtroppo non è così.

Infatti, un miner che esegue uno Smartcontract che, ad esempio, ottiene da un sensore la temperatura può ottenere un dato significativamente diverso da un altro miner che esegue lo stesso smartcontract qualche istante dopo.

Due differenti visioni della stessa realtà che non possono essere considerate contemporaneamente attendibili ma di cui non è neppure valutabile il livello di inattendibilità. L’effetto prodotto sarebbe quello di rendere impossibile valutare quale blocco è corretto e quale no, con gravi conseguenze sul funzionamento dell’intera rete.

Ciò ha portato a creare dei servizi esterni ai DLT, definiti Oracoli, che registrano vati tipi di dati sul registro distribuito e permettono ai miners di eseguire uno smartcontract che produrrà un risultato certo e replicabile.

Questo approccio è, a mio modo di vedere, svantaggioso perchè consiste nel spostare il problema fuori dal dominio del DLT utilizzando un sistema centralizzato indipendente. Si vanifica in tal modo il vantaggio fornito dal DLT stesso.

C’è poi un ulteriore limite caratteristico degli smartcontract Ethereum: l’esecuzione degli smartcontract ha un costo reale che può distanziarsi molto da quello previsto in base al livello di carico della rete.

Questi due “difetti” della rete Etherum spiegano perché alcuni progetti basati su questo DLT hanno preferito adottare una versione privata della rete. La centralizzazione derivata non fornisce i vantaggi del DLT pubblico, ma garantisce costi e prestazioni ed è comunque coerente con il sistema centralizzato comunque necessario per ottenere i dati di base che verranno elaborati dagli smartcontract.

I vantaggi della rete IOTA

La rete IOTA fornisce una soluzione, quasi, completa a questi problemi. Il “quasi” è d’obbligo perché attualmente non supporta Smartcontract. Lo farà nella prossima versione in fase di sviluppo e che dovrebbe essere rilasciata entro la seconda metà del 2020.

IOTA in ogni caso fornisce alcuni importanti funzionalità che già oggi la rendono più utile e fruibile dei DLT più noti.

Il primo elemento distintivo consiste nel principio di incentivazione alla rete che è di tipo collaborativo. I nodi non sono in competizione per produrre blocchi il più velocemente possibile ed ottenere la ricompensa, ma collaborano per ottenere reciproci vantaggi.

Ciò elimina la “ricompensa” dovuta al miner che genera un blocco e quindi inserire dati nel registro ha un costo fisso pari a zero.

L’assenza di competizione tra i nodi permette anche una diversa struttura del registro stess: se occorre competere ovviamente può esserci un solo premio, ovvero un solo blocco, in “palio” per volta, ma se non si deve competere si può inserire un dato nel registro in ogni momento quando necessario.

Per garantire questa funzionalità IOTA ha sostituito la catena di blocchi collegati tra loro, che contengono le transazioni, con un collegamento diretto tra le transazioni stesse. In particolare ogni transazione è collegata a due temporalmente antecedenti.

Questa struttura dati denominata amichevolmente “groviglio” o tangle in inglese, garantisce a ogni nodo di poter operare indipendentemente inserendo dati nel registro in parallelo ad ogni altro.

IOTA quindi permette di registrare informazioni su un registro distribuito senza colli di bottiglia, limiti prestazionali e costi dipendenti dall’attività complessiva dei nodi.

Con IOTA è anche molto semplice ed economico creare attivare un proprio nodo dedicato a servire i propri clients, creando di fatto un ibrido perfetto tra rete pubblica ad alta affidabilità e rete privata ad elevate prestazioni garantite.

IOTA è perfetta per le applicazioni IOT

Infatti un semplice dispositivo basato ad esempio su un soc STM32, come il Nucleo della ST, può interagire con la rete e pubblicare dati a costo zero e in tempo reale.

Ogni dato è inserito in una transazione che può essere firmata. La firma permette di certificare l’origine del dato fornendo in tal modo un primo livello di validazione del dato stesso: chiunque leggendo il registro può ottenere il dato e la firma digitale a conferma che il dato è stato prodotto effettivamente da chi possiede la chiave privata da cui deriva la firma.

Questo è un primo passo fondamentale per le applicazioni IoT. Ovviamente è possibile ottenere lo stesso risultato anche con Bitcon, Ethereum e altri DLT, ma non a costo zero e a prestazioni garantite.

IOTA fornisce un secondo importante strumento per le applicazioni industriali: una libreria chiamata MAM  o Masked Authenticated Messaging.

MAM fornisce dei metodi per creare una sequenza di messaggi connessi tra loro. Ogni messaggio contiene l’indirizzo del successivo.

La sequenza deriva da un seed da cui derivano le chiavi private con cui ogni messaggio è firmato.

MAM offre tre livelli di sicurezza: messaggi pubblici, privati e riservati.

I messaggi pubblici sono leggibili da chiunque conosca l’indirizzo di un messaggio.

I messaggi privati sono criptati e per decodificarli occorre conoscere il seed. Sono quindi messaggi altamente sicuri che non solo non possono essere prodotti senza conoscere il seed ma non possono neppure essere letti da chi non è autorizzato.

I messaggi riservati hanno un secondo livello di cifratura con una chiave aggiuntiva. Permettono di fornire accesso differenziato a più potenziali ricevitori, ognuno a conoscenza di del seed e di una chiave di cifratura dedicata.

MAM è uno strumento fondamentale per le applicazioni IOT perché permette di creare canali di comunicazione sicuri su cui trasmettere dati in modalità affidabile anche se non connessa.

Per comprendere il potenziale di questa tecnologia facciamo un parallelo con classico sistema client server: l’accesso ad una pagina HTML con protocollo HTTPS permette di ottenere in modo sicuro una serie di informazioni contenute nella pagina, aggiornate all’istante in cui le otteniamo.

Se la pagina fosse invece pubblicata con MAM potremmo accedere con sicurezza ancora maggiore non solo alle informazioni istantanee, ma a tutte le variazioni delle informazioni avvenute da un dato momento in poi, a costo zero e senza ritardi.

Progetti IoT e sistemi industriali

Per progetti IoT e sistemi industriali questo strumento costituisce fornisce un vantaggio fondamentale perché semplifica il progetto del dispositivo che non deve essere connesso a un server centrale che può divenire un punto di debolezza del sistema e semplifica l’architettura generale perché facendo leva sui nodi pubblici della rete, o attivando nodi dedicati, non occorre preoccuparsi ne delle problematiche di comunicazione tra dispositivi e sistema centrale, ne del recuperare e mettere in sicurezza dati che potrebbero essere persi.

Per questa seconda puntata penso di potermi fermare. Nella prossima analizzerò gli impatti dei futuri smartcontract della rete IOTA sui sistemi IoT e in generale su progetti industriali basati su IOTA.


Iscriviti

per ricevere aggiornamenti sui trend e le opportunità IOT per il tuo business