Dalla connettività all’intelligenza come Blockchain e Intelligenza Artificiale stanno trasformando l’ecosistema IoT

Come Blockchain e Intelligenza Artificiale stanno trasformando IoT

Foto di Shubham Dhage su Unsplash

La blockchain è una struttura dati sicura, decentralizzata, distribuita e con timestamp che offre soluzioni per problemi in vari settori come finanza, sicurezza e privacy dei dati, agricoltura, gestione della catena di approvvigionamento, energia e sanità nell’IoT. Il nome “blockchain” deriva dalla sua architettura: una catena di blocchi in cui ognuno è collegato al precedente utilizzando un valore hash crittografico che viene utilizzato per verificare l’integrità dei dati di ogni blocco e ridurre significativamente l’hacking delle transazioni da parte di azioni malevole. Un blocco è una struttura dati che contiene i dati della transazione, un timestamp e il valore hash del blocco corrente e del precedente, consentendo di raccogliere e memorizzare un gruppo di transazioni come blocco nel registro.

Le transazioni vengono generate e scambiate dai membri della rete e, a seconda del tipo di rete blockchain, potrebbero essere in grado di modificare lo stato. La convergenza tra blockchain e intelligenza artificiale per l’IoT offre molte opportunità per affrontare vari problemi come la mancanza di trasparenza e sicurezza, l’informazione centralizzata, ecc., come mostrato nella Figura 2.

Figura 2. Blockchain e intelligenza artificiale per l'IoT.

Blockchain

Un registro è un’architettura dati che può memorizzare molti tipi di informazioni, inclusa tutta la cronologia delle transazioni effettuate da tutti gli utenti della rete blockchain, mentre ogni utente ha una copia del registro.

La blockchain è una struttura dati distribuita e di tipo append-only. Le blockchain consentono di avere una rete peer-to-peer (P2P) distribuita in cui utenti non fidati possono interagire in modo verificabile tra loro senza la necessità di un’entità intermedia. L’infrastruttura blockchain può essere considerata come un gruppo di meccanismi interconnessi, come illustrato nella Figura 3.

Figura 3. Panoramica della struttura della blockchain.

Alla base dell’infrastruttura ci sono le transazioni firmate, che vengono raccolte e memorizzate in un blocco, uno dei meccanismi più importanti della tecnologia blockchain. I blocchi sono collegati memorizzando un valore hash crittografico univoco del blocco precedente nel blocco corrente.

Ogni membro che si connette alla rete blockchain è chiamato nodo. Coloro che hanno i permessi di scrittura nella blockchain e quindi verificano le regole sono chiamati nodi completi. Il loro ruolo è assegnare e memorizzare le transazioni nei blocchi e determinare se le transazioni sono valide e dovrebbero essere incluse nella blockchain o meno. Come esempio di transazione, Alice trasferisce un bitcoin a Bob e cerca di trasferire lo stesso bitcoin a Carol. I nodi della rete devono raggiungere un consenso su quali transazioni siano valide e, quindi, debbano essere mantenute nella blockchain per garantire l’assenza di rami corrotti e divergenze.

Questo è lo scopo del meccanismo/protocollo di consenso, che può differire a seconda del tipo di blockchain. La prova di lavoro (PoW) e la prova di partecipazione (PoS) sono le più utilizzate. Altri meccanismi di consenso consistono nella tolleranza ai guasti bizantini (BFT) e le sue varianti, la prova di partecipazione delegata (DPoS), la prova di fortuna (PoL), la prova di tempo trascorso (PoET), l’accordo bizantino federato (FBA) e altri.

La prova di lavoro è un protocollo di consenso distribuito che richiede di risolvere un processo computazionale complesso, come trovare hash con pattern specifici per evitare che qualcuno manipoli il sistema e garantire autenticazione e verificabilità. È utilizzata nel mining delle criptovalute e per la convalida di nuove transazioni. A causa della PoW, le transazioni di Bitcoin e altre criptovalute possono essere elaborate in modo sicuro senza la necessità di un’autorità intermedia. La PoW richiede enormi quantità di energia, che aumentano solo quando entrano più miner nella rete. Per questo motivo, molte blockchain, come Ethereum, stanno progressivamente passando a PoS a causa della grande riduzione del consumo di energia e dell’aumento della scalabilità.

La prova di partecipazione è uno dei meccanismi di consenso alternativi a PoW poiché è più efficiente in termini di risorse computazionali e riduce il rischio di un attacco alla rete, poiché struttura la compensazione in modo che un attacco sia meno vantaggioso.

In cima all’infrastruttura si trova il livello dell’Interfaccia di Calcolo, che consente alle blockchain di fornire funzionalità aggiuntive. Essenzialmente, una blockchain memorizza uno stato che consiste in tutte le transazioni storiche, consentendo quindi il calcolo del saldo di ciascun utente. Tuttavia, per problemi più complessi, dobbiamo memorizzare stati avanzati che vengono aggiornati dinamicamente utilizzando il calcolo distribuito, ad esempio, stati che passano da uno all’altro una volta che specifici criteri sono soddisfatti. Questa esigenza ha dato origine ai contratti intelligenti (SC) che utilizzano nodi della blockchain per eseguire i termini di un contratto.

Il livello di Governance tiene conto delle interazioni umane nell’ambiente fisico. Pertanto, la governance si occupa di come questi attori provenienti da gruppi diversi si uniscano per creare, mantenere o integrare nuovi metodi e modificare gli input che costituiscono una blockchain.

Un contratto intelligente è definito come “un protocollo di transazione computerizzato che esegue i termini di un contratto”. È un programma supportato dalla rete blockchain che applica o autoesegue clausole contrattuali, fornendo una sicurezza aggiuntiva nelle transazioni. Il codice del contratto intelligente è memorizzato sulla rete blockchain ed è riconosciuto da un indirizzo univoco, e per gli utenti che operano con esso, basta inviare una transazione a questo indirizzo. L’esecuzione valida del contratto intelligente è applicata dal meccanismo di consenso.

Lo sviluppo rapido dei contratti intelligenti ha contribuito in gran parte alla seconda generazione delle blockchain, nota anche come Blockchain 2.0.

Categorizzazione delle reti blockchain

Le reti blockchain possono essere categorizzate in molti modi, principalmente in base all’accesso ai dati della blockchain. Nelle blockchain pubbliche (senza permessi), chiunque può entrare come nuovo utente o nodo miner e implementare operazioni come transazioni o contratti. Le reti private e consorziali appartengono al tipo di blockchain con permessi, in cui un gruppo di utenti autorizzati è ben definito con caratteristiche e autorizzazioni specifiche sulle operazioni di rete. Le blockchain private possono evitare i meccanismi di PoW che sono molto costosi dal punto di vista computazionale e utilizzare una gamma più ampia di protocolli di consenso basati su disincentivi dovuti al rischio ridotto di attacchi Sybil. Una blockchain consorziata è un ibrido tra le blockchain pubbliche e private. Mentre la scalabilità e la privacy sono simili alle reti private, la loro principale differenza è che un gruppo di nodi può verificare le transazioni, a differenza delle reti private in cui un solo nodo esegue la convalida. La tabella 1 mostra le caratteristiche chiave di ciascuna rete blockchain riguardanti le sue caratteristiche.

Pubblico

Nelle reti blockchain pubbliche (senza permessi), i dati sono pubblici e tutti i membri sono liberi di entrare e uscire dal sistema. Le reti sono aperte per attività di lettura (o consultazione come spesso chiamato in letteratura) e scrittura (composizione) da parte di tutti gli utenti sulla rete. Nelle blockchain pubbliche, i membri possono scaricare il codice della blockchain nel loro framework, modificarlo e usarlo secondo le proprie esigenze. I principali vantaggi delle blockchain pubbliche sono la decentralizzazione e la trasparenza, in cui gli utenti sono costantemente non identificati. Il tempo di transazione su blockchain pubbliche è più lungo rispetto alle blockchain consorziali e private. Le blockchain pubbliche richiedono un consenso di almeno il 51% dei validatori e utilizzano complesse operazioni aritmetiche per risolvere problemi computazionali di sicurezza che richiedono un enorme consumo di energia e sono anche inclini ad attacchi nel caso in cui gli aggressori assumano il controllo dei validatori del 51%.

Consorzio

Molte organizzazioni, ad esempio banche, organizzazioni amministrative e aziende blockchain private, forniscono molti tipi di blockchain unificate. Le blockchain consorziali funzionano come framework con permessi, in cui tutti gli utenti possono leggere le informazioni sulla blockchain. Tuttavia, solo alcuni utenti autorizzati e fidati hanno accesso alla scrittura sulla blockchain. Le reti blockchain consorziali sono più veloci e leggere rispetto alle pubbliche poiché gli utenti sono pre-approvati con identità note. Di solito, una transazione viene approvata entro 1 secondo e richiede meno energia.

Privato

Le blockchain private sono anche più veloci poiché utilizzano identità note e utenti pre-approvati nell’organizzazione, il che porta a transazioni rapide con un minor consumo di energia per l’approvazione. Una rete blockchain privata è monitorata da un’organizzazione ed è un tipo di struttura con permessi in cui i membri sono pre-approvati per compiti di lettura/scrittura e sono costantemente noti all’interno dell’organizzazione. Il tempo di approvazione delle transazioni nelle reti private è di solito inferiore a 1 secondo.

Tabella 1. Categorizzazione delle principali caratteristiche delle reti blockchain.

Di seguito forniamo una metodologia per una classificazione della tecnologia delle reti blockchain che fornisce funzionalità aggiuntive oltre a quelle classiche, come la proprietà e la gestione delle informazioni condivise nella blockchain. Studiamo caratteristiche come se lo stato dovrebbe essere salvato, quanti nodi validatori esistono e se sono fidati, in modo da poter selezionare la tecnologia blockchain appropriata in base al problema specifico.

In generale, l’utilizzo della tecnologia blockchain è una buona scelta quando più parti che non si fidano l’una dell’altra desiderano interagire e memorizzare lo stato di un sistema. Un diagramma di flusso per facilitare il processo decisionale sulla tecnologia blockchain selezionata in base al problema specifico è fornito nella Figura 4. Consideriamo una o più entità che scrivono lo stato del sistema, cioè uno scrittore corrisponde a una parte con accesso in scrittura in un sistema di database centralizzato tradizionale o a un partecipante al consenso in un sistema blockchain.

Se non c’è bisogno di memorizzare dati, una blockchain non serve a nulla e un database regolare è più adatto. Inoltre, se c’è solo un nodo validatore (scrittore), una blockchain non fornisce trasparenza aggiuntiva e allo stesso tempo degrada le prestazioni e la velocità dello scambio di informazioni. Se tutti i validatori si fidano reciprocamente, il miglior scelta è un database centralizzato con accesso in scrittura condiviso. Al contrario, se non si fidano l’uno dell’altro, dovrebbe essere utilizzata una blockchain con permesso.

Inoltre, la scelta della tecnologia blockchain dipende dalla necessità di verificabilità pubblica. Se tutti sono in grado di leggere lo stato, può essere utilizzata una blockchain pubblica con permesso. Tuttavia, se il gruppo di lettori potrebbe dover essere limitato, la scelta migliore sarà una blockchain privata con permesso. Se l’insieme dei nodi validatori è sconosciuto, come di solito accade nelle criptovalute, dovrebbe essere adottata una rete blockchain senza permesso.

Figura 4. Diagramma di flusso per determinare quale tecnologia blockchain è la soluzione adatta per risolvere un problema.

Caratteristiche della Blockchain

La tecnologia blockchain è in grado di offrire molti vantaggi in molti settori. Le principali caratteristiche sono:

Decentralizzazione: la blockchain è di solito un framework decentralizzato e distribuito che si basa sull’interazione peer-to-peer tra i nodi comunicanti, come mostrato nella Figura 5. La decentralizzazione consente di utilizzare la potenza di elaborazione di tutti i membri coinvolti, riducendo la latenza ed eliminando i singoli punti di guasto.

Figura 5. Client-Server (sinistra) vs Rete P2P (destra).

Trasparenza: uno dei principali vantaggi della blockchain è la fiducia e la trasparenza migliorate che offre, a differenza dei sistemi centralizzati, durante la memorizzazione dello stato e l’offerta di accesso ai membri (a seconda della rete come descritto sopra).

Immutabilità: le funzioni hash sono immutabili e vengono utilizzate per collegare il blocco corrente al precedente, mantenendo l’integrità delle informazioni dei blocchi. L’unico modo per apportare modifiche ai blocchi è che la maggioranza degli utenti sia d’accordo con tale modifica.

Sicurezza migliorata: l’uso della chiave pubblica combinata con il protocollo di consenso riduce il rischio di attacchi e aumenta quindi la fiducia e la sicurezza della rete. La mancanza di un singolo punto di guasto, che può influenzare significativamente l’intero sistema, offre una sicurezza migliorata rispetto ai sistemi centralizzati tradizionali.

Anonimato: nel caso delle reti pubbliche, viene utilizzata un’identità pseudoanonima per proteggere la privacy degli utenti e fornire una transazione trasparente e affidabile.

Autonomia: la blockchain supporta significativamente la produzione di nuovi dispositivi in grado di prendere decisioni intelligenti e autonome, ad esempio veicoli autonomi.

Punti Deboli e Minacce

La tecnologia blockchain è difficile da compromettere e ha dimostrato di poter affrontare tutti i tipi di attacchi grazie ai puzzle crittografici e ai meccanismi di consenso. Quasi impossibile da hackerare. Tuttavia, le caratteristiche di sicurezza ereditate dalla blockchain la rendono resiliente agli attacchi ma non completamente protetta.

Attacchi del 51%: Questo attacco, noto anche come attacco di maggioranza, è la minaccia più diffusa nella tecnologia blockchain. Può verificarsi quando un cluster di miner controlla più del 50% della potenza di mining o della potenza di calcolo della rete e può controllare il consenso, bloccare la conferma delle nuove transazioni, modificare l’ordine delle nuove transazioni e alterare la blockchain. Inoltre, gli attaccanti possono riscrivere parti della blockchain e annullare transazioni completate, portando a un problema noto come double-spending. La rapida crescita dei pool di mining (con GHash.io4 che ha temporaneamente raggiunto il 51% della potenza di mining di Bitcoin nel 2014) ha amplificato la probabilità che questo attacco si verifichi, compromettendo così l’integrità di Bitcoin.

Ingegneria sociale: Il phishing è l’attacco di ingegneria sociale più comune, che consiste nel truffare le vittime affinché forniscano le proprie chiavi private, credenziali di accesso o informazioni personali, di solito attraverso l’utilizzo di email contraffatte. Nel caso del phishing, non vi è alcuna falla nel sistema ma inattenzione o fallibilità umana, mentre l’attaccante si presenta come un’entità affidabile in una comunicazione elettronica.

Difetti del software: Le applicazioni software che adottano la tecnologia blockchain sono ancora suscettibili a molti bug e difetti del software, ed è quindi molto importante che vengano sottoposte a rigorosi test e verifiche, inclusi test di penetrazione, revisioni del codice e audit per i contratti intelligenti.

Malware: Il malware, nel contesto della blockchain, è una sorta di virus che sfrutta le falle nei sistemi, come discusso in precedenza, causando problemi di prestazioni e concedendo un accesso illimitato alle risorse di un computer. Il malware è una minaccia grave che, in base all’applicazione, può essere un programma dannoso per il mining di blocchi, un software di hack di cripto-scambio o qualsiasi altro codice in grado di spegnere i server o rubare criptovalute dagli utenti della rete.

Gli attacchi di Denial of Service (DoS), Man in the Middle (MitM) o Sybil possono anche degradare il funzionamento della rete. La maggior parte dei protocolli peer-to-peer e dei sistemi IoT sono suscettibili a questi tipi di minacce poiché dipendono significativamente dalle comunicazioni.

Risorse sprecate e Usabilità

La manutenzione delle reti blockchain richiede enormi quantità di energia. Nel 2014 il consumo di energia per il mining di Bitcoin era simile al consumo di elettricità dell’Irlanda. Inoltre, l’avanzamento dell’accessibilità della tecnologia blockchain (ad esempio, tramite l’interfaccia di programmazione delle applicazioni, API, più user-friendly) dovrebbe aumentare la sua esposizione ad aree diverse dalla scienza informatica tecnica e quindi contribuire a affrontare il problema delle risorse sprecate.

Intelligenza Artificiale

L’intelligenza artificiale è una tecnologia emergente che consente a una macchina di mostrare intelligenza umana utilizzando enormi quantità di dati, molte volte creati da sensori e dispositivi IoT. Questi dati vengono utilizzati nella formazione di modelli per identificare pattern e anomalie e fare previsioni accurate. Con l’uso di capacità decisionali automatizzate e attività di controllo come la razionalizzazione delle decisioni, i dispositivi ottimizzano le operazioni, gestiscono i magazzini, riducono i tempi di inattività e molto altro. Con l’autenticazione IoT basata su intelligenza artificiale, fornisce soluzioni di sicurezza avanzate basate su modelli di machine learning.

L’IA è una tecnologia che propone di acquisire una comprensione approfondita e di progettare sistemi che mostrino caratteristiche intelligenti e quindi migliorino la presa di decisioni. La crescita in corso è attribuibile a un sottoinsieme dell’intelligenza artificiale come il machine learning, il deep learning, ecc., dove vengono sviluppati modelli per individuare e apprendere associazioni basate su una grande quantità di dati non elaborati. I modelli di deep learning (DL) sono stati applicati in gran parte e hanno stabilito nuovi standard dove i dati digitali di alta qualità sono abbondanti e c’è una forte motivazione economica ad automatizzare compiti di previsione.

Figura 6. Integrazione di base del modello basato su machine learning con IoT.

Internet delle cose (IoT)

l’Internet delle cose è la rete di oggetti fisici che possono interagire tra loro e con l’ambiente esterno, condividendo una grande quantità di dati in tempo reale, fornendo servizi per il trasferimento, l’analisi, la comunicazione, l’operazione indipendente e remota e l’interazione con altri sistemi.

L’IoT, che aiuta a muoversi verso un futuro sempre connesso attraverso l’utilizzo di dispositivi connessi, come sensori e dispositivi indossabili, si prevede che raggiungerà la cifra di mezzo trilione entro il 2030.

Attualmente, l’IoT viene utilizzato in molti settori come mostrato nella Figura 7.

Figura 7. Settori che traggono maggiore beneficio dallo sviluppo dell'IoT.

Integrazione di IA e blockchain

Migliora la sicurezza e l’integrità dei dati. Le informazioni contenute nella blockchain sono considerate altamente sicure e quindi gli algoritmi di intelligenza artificiale vengono alimentati con dati affidabili e portano a una presa di decisione più affidabile.

Rafforza la fiducia nelle decisioni dei robot. Registrare il processo decisionale dei robot di un sistema di intelligenza artificiale su una blockchain lo renderebbe più trasparente al pubblico e potrebbe quindi guadagnare la loro fiducia.

Tabella 2. Vantaggi dell'integrazione della blockchain con l'intelligenza artificiale.

Integrazione IoT e blockchain

La tecnologia IoT può ottimizzare l’automatizzazione dei processi ottenendo al contempo enormi volumi di dati. Nell’ultimo decennio, il cloud computing ha contribuito a fornire all’IoT la funzionalità necessaria per analizzare le informazioni e trasformarle in azioni e conoscenza in tempo reale. Sebbene le architetture centralizzate come quella utilizzata nel cloud computing abbiano significativamente contribuito allo sviluppo dell’IoT, esse si comportano come scatole nere e i membri della rete non sanno dove e come le informazioni fornite verranno utilizzate, e vi è una mancanza di fiducia.

La tecnologia blockchain è in grado di far avanzare l’IoT, offrendo un ambiente di condivisione affidabile in cui le informazioni sono attendibili, trasparenti e tracciabili. La sicurezza è ancora più migliorata poiché l’origine dei dati può sempre essere identificata e i dati rimangono immutabili. In questo modo, l’utilizzo della blockchain può integrare l’IoT con informazioni solide e trasparenti.

Tuttavia, nonostante le applicazioni blockchain vengano ampiamente diffuse, penetrando in sempre più settori e industrie, numerosi problemi non sono ancora stati risolti. Pertanto, le blockchain stanno diventando più scalabili ed efficienti, ma non così durevoli.

Blockchain guidata da AI per IoT

Sebbene la tecnologia blockchain venga utilizzata per la sicurezza, esistono numerosi problemi come la dimensione della rete, la complessità e il costo delle transazioni. Per affrontare questi problemi, l’integrazione di intelligenza artificiale e blockchain può svolgere un ruolo vitale.

L’integrazione può produrre una tecnologia robusta in grado di affrontare molte sfide dell’IoT legate all’enorme quantità di dati prodotti da miliardi di dispositivi IoT che possono essere facilmente analizzati dagli algoritmi di intelligenza artificiale. La blockchain può archiviare record immutabili delle azioni dei dispositivi IoT e offrirli e archiviarli in un sistema decentralizzato che offre un’operazione autonoma. Le reti blockchain sono in grado di rendere l’infrastruttura IoT più sicura e resiliente. Tuttavia, a causa delle limitazioni delle risorse di calcolo, le reti blockchain sono spesso limitate da problemi di scalabilità e ritardi nel processo di transazione.

L’integrazione di AI con blockchain può beneficiare entrambe le tecnologie. Per l’AI, la blockchain può offrire soluzioni a molti problemi dell’AI, come la trasparenza e la spiegabilità, poiché l’AI funziona come una scatola nera. Inoltre, la blockchain può migliorare l’efficacia dell’AI per la condivisione dei dati che consente un maggiore utilizzo dei dati, un aumento dei dati di addestramento e la produzione di algoritmi più efficienti e precisi. Inoltre, l’implementazione di AI con smart contract può ridurre i rischi, poiché gli smart contract sono programmati per attuare azioni dettagliate quando si verificano determinate condizioni.

Nel caso della blockchain, l’AI è in grado di offrire soluzioni ad alcuni dei problemi della blockchain, come il protocollo di consenso. L’adozione dell’AI in PoW o PoS può consentire ai nodi di convalidare le transazioni in modo rapido ed efficiente. Inoltre, l’AI può risolvere i problemi di scalabilità della blockchain e migliorare il consumo di energia poiché il mining richiede enormi quantità di energia.

Conclusioni

In conclusione, la convergenza di blockchain e AI nell’ecosistema IoT ha un enorme potenziale trasformativo. La natura sicura e decentralizzata della tecnologia blockchain, combinata con la capacità dell’AI di analizzare e prendere decisioni intelligenti, apre nuovi orizzonti per la trasparenza, la sicurezza e la fiducia nelle interazioni peer-to-peer. Affrontando sfide come l’integrità dei dati, la mancanza di trasparenza e i sistemi centralizzati, questa potente combinazione apre la strada a soluzioni innovative in vari settori. Man mano che la tecnologia continua a evolversi e diventa sempre più accessibile, è essenziale trovare un equilibrio tra sfruttare i suoi vantaggi e mitigare eventuali debolezze e minacce potenziali. Abbracciare il potenziale di blockchain e AI nell’ecosistema IoT indubbiamente stimolerà progressi, modellerà le industrie e contribuirà a un futuro più intelligente e interconnesso.