La tecnologia blockchain nelle applicazioni robotiche

La robotica è un dominio multidisciplinare in continua espansione in vari ambiti della ricerca, dell'industria manifatturiera, della sanità e persino nella vita quotidiana. Tuttavia, come una qualsiasi altra tecnologia in evoluzione, la robotica deve affrontare numerose sfide. In questo contesto, recentemente, la tecnologia blockchain è stata identificata come una tecnologia promettente per risolvere alcuni di questi problemi quali l'identificazione di nodi dannosi, malfunzionamenti/errori nei processi automatizzati, non conformità alle norme concordate ed alle regole sulla privacy, attacchi alla sicurezza sui sistemi robotici e la non trasparenza nel monitoraggio delle prestazioni e negli audit. In particolare, la blockchain grazie alle sue caratteristiche di decentralizzazione, immutabilità, provenienza, basso costo operativo, stretto controllo degli accessi e operazioni affidabili, può offrire miglioramenti significativi a nuove applicazioni e casi d'uso guidati dalla robotica. Pertanto, l'articolo inizia esplorando i requisiti chiave e le sfide tecniche incontrate dai robot in generale. Successivamente, fornisce una panoramica dettagliata della tecnologia blockchain. Quindi, viene esaminato il ruolo della blockchain nel contesto della robotica evidenziando le diverse sfide tecniche per sfruttare appieno il potenziale di tale strumento. Infine, vengono presentate le future direzioni di ricerca che possono aprire la strada a progressi ed alla proficua integrazione della blockchain nel regno della robotica.

Introduzione

I continui progressi nel campo dell'informatica, che spaziano dalle velocità di calcolo all'Intelligenza Artificiale, hanno come conseguenza un enorme impatto su tutti i campi correlati, dall'ingegneria biomedica, alla robotica, fino ad arrivare all'ingegneria aerospaziale. Difficile trovare settori che non ne risentano l'influenza. La robotica adotta, per sua natura, vari asset tecnologici da molteplici discipline. Difatti, un sistema robotico è un meccanismo complesso che, per funzionare, ha bisogno di conoscenze meccaniche, software, di controllo, elettroniche, etc. Nell'ambito delle tecnologie di recente utilizzo si annovera anche la tecnologia blockchain. La blockchain è sostanzialmente una tecnologia elettronica Peer-to-Peer (P2P) per la gestione dei record, che fornisce l'autenticazione e la convalida degli eventi registrati sotto forma di transazioni agendo come un registro distribuito senza la necessità di un'autorità centrale. Le transazioni vengono memorizzate come un elenco crescente di record, chiamati "blocchi", che sono collegati da tecniche avanzate di crittografia. La popolarità della blockchain è principalmente dovuta alla sua architettura decentralizzata ed al meccanismo di consenso tollerante ai guasti. Ogni nodo ha memoria dei blocchi che si trovano nella catena, consentendo di rilevare facilmente frodi all'interno delle transazioni, procedendo dunque alla loro rimozione. Vale la pena notare che, nonostante la blockchain sia divenuta famosa per il suo utilizzo nella rete Bitcoin, non deve essere necessariamente associata al suo utilizzo. Difatti, questo vorrebbe dire limitare l'utilizzo di una tecnologia. Anche la robotica può trovare giovamento da esso, ottenendo soluzioni più affidabili, sicure e flessibili. In particolare, questa tecnologia - come vedremo - si rivela fondamentale in tutti quei sistemi multi-robot.

Motivazione

Vale la pena interrogarsi su quelle che sono le limitazioni che portano all'utilizzo della tecnologia blockchain all'interno della robotica. Oggigiorno, è ormai consolidato vedere sistemi robotici connessi alla rete, accessibili attraverso applicazioni web ed, in alcuni casi, anche in cloud. Si pensi ai sistemi dell'Industria 4.0, utilizzati per monitorare stazioni di lavoro su ampia scala oppure distribuiti in luoghi sparsi. In questo caso, si utilizza solitamente il termine IoT (Internet of Things) per riferirsi a tali sistemi. Ovviamente, avere sistemi safety critical, sempre connessi, pone sfide in termini di sicurezza e protezione dei dati personali. Inoltre, trattandosi di componenti robotici, si vuole tutelare soprattutto la salute dell'operatore. Si pensi per un attimo ad un robot manipolatore presente all'interno di un impianto industriale. Attacchi malevoli potrebbero portare il robot ad assumere configurazioni pericolose per l'operatore. Dunque, avere a disposizione una rete peer-to-peer, con verifica delle transazioni, può aiutare sicuramente a prevenire tutti quelli che potrebbero essere attacchi all'infrastruttura software di monitoraggio ed attuazione. L'integrazione della tecnologia blockchain migliora l'interazione ed il coordinamento nei sistemi robotici e fornisce una ragionevole soluzione per una distribuzione decentralizzata delle attività in un ambiente dinamico. Inoltre, tale tecnologia garantisce che il funzionamento dei dispositivi robotici non venga pregiudicato anche in caso di guasto di soli pochi nodi. In altre parole, esso aiuta anche a garantire l'integrità, la resilienza e la scalabilità dei dati.

Obiettivo

Come anticipato all'interno dell'abstract, l'obiettivo di questo articolo è quello di fornire e descrivere i risultati di un'indagine svolta sulla tecnologia blockchain nel contesto della robotica. Raro è, difatti, leggere di applicazioni di questa tecnologia in tale contesto, soprattutto in un linguaggio semplice ed accessibile a tutti. Troppe volte i tecnicismi prevalgono, lasciando la comprensione della tecnologia solo a pochi. Gli obiettivi possono essere riassunti per punti:

  • Numerosi casi d'uso e applicazioni della robotica hanno come obiettivo la riduzione dei costi, una maggiore automazione, una migliore efficienza e gestione delle situazioni di emergenza. Da qui, ci si pone il problema di come garantire il rispetto della privacy. Quindi, si indagherà il ruolo versatile che la blockchain ha nel migliorare la progettazione dei sistemi robotici.
  • Evidenzieremo le sfide che si pongono nell'implementazione tecnica della blockchain. Collegare sistemi complessi, con la capacità di lavorare in real-time, ed al contempo garantire il rilevamento di transazioni sospette, pone sfide considerevoli nell'implementazione di sistemi decisionali autonomi, a bordo delle singole macchine.
  • Alla fine l'articolo presenterà alcune delle direzioni di ricerca future in cui la blockchain potrebbe trovare applicazione.

Blockchain: cos'è e come funziona

Diversi sono gli articoli (LINK1, LINK2) che sono apparsi sulle pagine di questo blog in merito alla blockchain, la sua storia ed il suo utilizzo. Per dirla in breve (si rimanda il lettore ai diversi articoli per approfondimenti), la blockchain è una sequenza di blocchi, ognuno a conoscenza delle transazioni avvenute all'interno della rete (vedi Figura 1).

Figura 1: Esempio struttura della Blockchain.

Figura 1: Esempio di struttura a blocchi della blockchain

Un blocco blockchain consiste di una parte di intestazione del blocco (block header) e di un corpo del blocco, come riportato in Figura 2.

Figura 2: Schema di un blocco nella Blockchain.

Figura 2: Schema di un blocco all'interno della blockchain

In particolare, l'intestazione del blocco comprende:

  • Versione del blocco: indica le regole di validazione del blocco da rispettare;
  • Hash: è il valore di tutte le transazioni nel blocco;
  • Time stamp: è l’ora corrente nel tempo universale;
  • nBits: è la soglia target di un hash di blocco valido;
  • Nonce: è un campo a 4 byte, che di solito inizia con 0 e aumenta ad ogni calcolo di hash;
  • blocco hash padre: è un valore hash a 256 bit che punta al blocco precedente.

Il corpo del blocco è composto da un contatore di transazioni (transaction counter) e dalle transazioni (TX). Il numero massimo di transazioni che può contenere il blocco dipende dalla dimensione del blocco stesso e dalla dimensione di ogni transazione. La blockchain utilizza una crittografia asimmetrica, un meccanismo per convalidare l'autenticazione delle transazioni. La firma digitale basata sulla crittografia asimmetrica viene utilizzata in ambienti inaffidabili.

Requisiti chiave e sfide tecniche nella robotica

Qualsiasi robot vincolato a test di laboratorio (cioè, in ambiente controllato) può superare le aspettative di base raggiungendo efficienza funzionale, robustezza e risparmio di tempo/costi. Tali prestazioni sono destinate a calare decisamente quando lo stesso robot è testato nell'ambiente nominale di lavoro. Questa sezione si pone l'obiettivo di spiegare come l'utilizzo della blockchain possa aiutare nella definizione dell'architettura software. Si ricorda che, come discusso in un articolo apparso di recente sulle pagine di questo blog, molti sono i progetti robotici di ricerca/sviluppo e robot di livello industriale che utilizzano middleware robotici quali ROS, YARP e similari. Tali sistemi consentono di astrarsi dall'hardware, e quindi semplificare quello che è il processo di sviluppo di algoritmi complessi. Da qui, l'importanza della blockchain come strumento di analisi. Infatti, tali sistemi middleware lavorano tipicamente su nodi, distribuiti all'interno di una rete locale oppure diffusa su più macchine, intercomunicanti tra di loro, che interagiscono con sensori, attuatori ed altre periferiche. È facile da qui capire che avere un sistema per il riconoscimento di transazioni non valide può aiutare ad evitare l'insorgere di anomalie di funzionamento, anche solo dettate dallo scambio di messaggi corrotti all'interno della rete. I protocolli TCP/IP e UDP/IP sono a fare da padrone in tali sistemi.

Blockchain nelle applicazioni robotiche

La tecnologia blockchain, quindi, può svolgere un ruolo cruciale nel fornire fiducia, sicurezza, privacy, stretto controllo degli accessi, verificabilità e disponibilità per il sistema robotico. Questa sezione discute ed esamina i lavori, per lo più di ricerca, fatti in tempi recenti concentrati principalmente sull'integrazione della tecnologia blockchain nei processi di automazione.

  • Robot industriali. I robot industriali sono l'applicazione commerciale più vasta e conosciuta della tecnologia robotica. Hanno un immenso potenziale per automatizzare ogni tipo di industria di processo. In particolare, i processi industriali che sono difficili, banali, rischiosi e malsani (a contatto con sostanze pericolose per l'uomo) possono essere completamente o parzialmente automatizzati con l'uso di robot industriali. I robot industriali sono caratterizzati da controllabilità automatica, riprogrammabilità e capacità multiuso. Gli evidenti vantaggi dell'utilizzo di robot industriali sono costi ridotti, maggiore precisione, alta affidabilità, migliore qualità del prodotto ed alta efficienza nella riduzione degli sprechi. Dagli albori dell'Industria 4.0, nell'automazione industriale sono apparsi i primi sistemi cyber-fisici, l'Internet of Things, l'elaborazione di BigData ed il cloud computing. I registri digitali distribuiti sono profondamente favoriti rispetto alle tecniche convenzionali per memorizzare i dati e proteggerli dai guasti, errori o hacking. Il bisogno di fiducia delle fabbriche nelle sue entità interne e tra altre fabbriche (locate in luoghi diversi sul territorio) può essere assicurato dalla rete blockchain. La logica offerta dal software garantisce uno stretto controllo dei soggetti coinvolti in qualsiasi sistema di automazione industriale. Inoltre, la blockchain può supportare altre importanti tecnologie che stanno alimentando la crescita di Industria 4.0. Ad esempio, la blockchain può garantire la condivisione sicura del modello ML, condivisione protetta della privacy dei dati necessari per la formazione, e processi decisionali affidabili. Sebbene l'impiego di robot su larga scala porti numerosi vantaggi per gli scenari industriali, tuttavia, la responsabilità di proteggerli da falsificazioni e frodi sui dati, processi e comunicazioni, porta ad utilizzi della blockchain in combinazione con smart contracts. In particolare, molti propongono l'uso della blockchain per sviluppare una spina dorsale affidabile per i sistemi robotici industriali, agendo come un registro immutabile per il rilevamento dei guasti e un mezzo per fornire una sicurezza per i processi di automazione contro gli agenti dannosi. Numerosi lavori illustrano come un'architettura basata su blockchain per robot, utilizzando contratti intelligenti, possa garantire la sicurezza di dati affidabili e fornire dati irreversibili, piattaforma di registro immutabile per la registrazione di eventuali malfunzionamenti, l'automazione e la tracciabilità dei processi. Tuttavia, dall'altro lato, mantenere i record blockchain per un lungo periodo di tempo su tutti i nodi della rete può risultare pesante per i dispositivi con vincoli di archiviazione, e può influire sul throughput complessivo inducendo la latenza nel trattamento dei dati. Quindi, per sfruttare il pieno potenziale della blockchain nei sistemi robotici industriali, la domanda che ci si pone è: come devono essere affrontate le sfide di distribuzione dei dati sui diversi nodi? Per valutare le performance di robotica industriale abilitata alla blockchain, piattaforme come Ethereum e Tezos stanno muovendo i loro primi passi attraverso integrazioni nella rete ROS e Smart-M3.

[...]

ATTENZIONE: quello che hai appena letto è solo un estratto, l'Articolo Tecnico completo è composto da ben 3212 parole ed è riservato agli ABBONATI. Con l'Abbonamento avrai anche accesso a tutti gli altri Articoli Tecnici che potrai leggere in formato PDF per un anno. ABBONATI ORA, è semplice e sicuro.

Scarica subito una copia gratis

Scrivi un commento

Seguici anche sul tuo Social Network preferito!

Send this to a friend