Comunicación presentada al IV Congreso Smart Grids:
Autores
- Fernando Monzón, CTO, everis_IoT
Resumen
Desde everis hemos realizado la integración de dispositivos IoT en soluciones gestionadas por redes Blockchain. Desde el punto de vista funcional, esta integración permite a los dispositivos, y por tanto a los activos asociados a ellos, participar como un nodo validador dentro de la red Blockchain, y a su vez, incorporar inteligencia (en forma de Smart Contracts) que permita gestionar sus acciones en la red. Desde el punto de vista técnico, la solución se basa en la conceptualización, y posterior diseño y construcción, de la electrónica y FW asociado que permiten almacenar tanto las claves criptográficas, como las funcionalidades básicas de encriptación y validación blockchain, así como el código (Smart Contracts) que gestione las normas de comportamiento del dispositivo y su comunicación con el mundo exterior.
Introducción / Antecedentes
En un contexto de proyecto en el que un cliente del sector eléctrico quiere evaluar el valor aportado por el desarrollo de un blockchain que permita gestionar una serie de procesos transaccionales, encontramos la problemática de cómo incorporar e integrar en la solución, a los dispositivos (sensores y actuadores), de manera que estos pudieran validar y generar mensajes encriptados (hashes) del aplicativo Blockchain, y de automatizar su comportamiento en base al resultado de estas validaciones.
Realizando una prospección de mercado para encontrar dispositivos con esta característica, observamos que no existe oferta comercial, y que la única posibilidad para cumplir el requisito es acometer el diseño y construcción de la electrónica necesaria, proporcionando así el dispositivo que permita 1) cumplir con los requisitos operacionales de medición y/o actuación, 2) proporcionar capacidades mínimas de proceso y almacenamiento, y 3) permitir la comunicación del dispositivo con el mundo exterior (en este caso con una aplicación móvil de usuario, que a su vez estará integrada en una red blockchain).
Descripción Solución
La solución comprende tres partes principales:
- La implementación de la red Blockchain que permite el aseguramiento de que las transacciones de negocio se realizan con la fiabilidad y consenso necesarios, y que además proporciona el registro inalterable de transacciones, así como la inteligencia de validación de transacciones y de generación de tokens.
- El desarrollo de la aplicación móvil, tanto en sistema operativo Android como en IOS, que permite a los usuarios finales de la solución interactuar con los dispositivos dentro de la red Blockchain.
- La conceptualización, diseño y construcción del dispositivo que permite tanto el acceso a los requerimientos operativos, como el funcionamiento dentro de la red Blockchain y finalmente con la capacidad de comunicación con los dispositivos móviles IOS y Android.
Para conseguir este objetivo, diseñamos una electrónica basada en la arquitectura ARM, incluyendo una CPU Cortex-M4, diseñada expresamente para el desarrollo de dispositivos IoT, ofreciendo máxima velocidad de proceso y manteniendo unas capacidades de proceso y almacenamiento suficientes.
Utilizando esta CPU, garantizamos la capacidad de proceso necesaria para que los dispositivos puedan actuar en base a los requerimientos de negocio, así como la capacidad de almacenamiento necesaria.
La arquitectura seleccionada permite además la conexión en el dispositivo de un número más que suficiente de entradas y salidas, tanto digitales como analógicas, proporcionando la flexibilidad necesaria en cuanto al uso de sensores/actuadores que se pueden instalar gobernados por la CPU.
Dentro de las implementaciones que ofrece el mercado de productos electrónicos, seleccionamos un chipset con módulo de radio NFC y BLE (Bluetooth Low Energy), con esta selección garantizamos las capacidades de comunicación con aplicaciones móviles en estas dos tecnologías. Otras tecnologías de comunicación, como Wi-Fi, no fueron consideradas en este proyecto por razones de negocio, si bien son opción en modificaciones o evoluciones futuras.
Finalmente, la operación de los dispositivos dentro de una red blockchain necesita cumplir dos objetivos principales: ser capaz de almacenar, en un espacio físicamente protegido, y no accesible desde el exterior, la clave privada que identifica al dispositivo junto con las claves públicas de los agentes con los que interacciona, e incluir el SW necesario para realizar operaciones básicas de validación y actuación dentro de la red blockchain (creación de clave pública, firmado y creación de hashes, interpretación de hashes recibidos). Para conseguir cumplir este requisito, se incorpora en el diseño electrónico un cripto-chip que ofrece la protección física necesaria junto con el espacio necesario para albergar el SW de Blockchain.
Finalmente, se incluyen los scripts de SW (Smart Contracts) necesarios en la CPU para que los resultados de las operaciones de validación puedan ejecutar las acciones pertinentes en base a las normas de negocio establecidas.
En la figura 1 se resumen los componentes HW y SW de la solución propuesta.
Metodología
Tras una fase inicial de análisis en la que se definieron todos los requisitos de detalle para cada uno de los tres principales componentes (Backend Blockchain, app móvil, y dispositivo), el proyecto de desarrollo y construcción se dividió en tres sub-proyectos acometidos por equipos independientes, con una última fase de integración al final.
La metodología utilizada para los componentes Backend y app móvil fue Agile, organizando las tareas de desarrollo en sprints para su validación por el cliente antes de su cierre.
El diseño y construcción del dispositivo se acometió de la siguiente manera:
- Fase 1: diseño conceptual
- Fase 2: diseño técnico y funcional
- Fase 3: adquisición de componentes y montaje de placas prototipo
- Fase 4: desarrollo, pruebas y validación del SW y FW
- Fase 5: pre-industrialización PCBs
- Fase 6: montaje final incluyendo carcasas (fabricadas con impresión 3D en PLA) y elementos sensores/actuadores
Resultados obtenidos
El resultado de la prueba de concepto realizada ha demostrado la viabilidad de los objetivos propuestos inicialmente para gobernar una serie de procesos de negocio (sector eléctrico) bajo una red Blockchain Ethereum instalada en una instancia independiente del ledger principal, y con la participación en la red de los dispositivos, junto con los usuarios finales.
Como resultado secundario, y gracias a la conceptualización del proyecto como una solución modular, la placa base de prototipo incluyendo CPU, módulo de radio, cripto chip, y puertos de conexión para sensores/actuadores tanto analógicos como digitales, nos permite la generación de un nuevo producto base para ofrecer a nuestros clientes soluciones IoT integradas en blockchain, pudiendo adaptar el dispositivo a diferentes requisitos simplemente mediante la selección de sensores/actuadores y añadiendo los Smart Contracts que se necesiten en cada caso de negocio.
Conclusiones
Más allá del cierre de un proyecto piloto para cliente, en el que se han cumplido con éxito las expectativas de gestión del servicio bajo una red blockchain, este proyecto permite establecer la base para ofrecer la integración de dispositivos IoT de cualquier naturaleza, con redes Blockchain.
De esta manera, los mundos IoT y Blockchain pueden integrarse, permitiendo dotar a los activos asociados al dispositivo de la participación en la red, bien en su calidad de nodos validadores u observadores.
Valor añadido en IoT
Como consecuencia, las capacidades de medición / actuación que actualmente tienen los dispositivos IoT pueden enriquecerse al añadir estas capacidades de decisión sobre diversas transacciones, así como de la lógica de actuación en base al resultado de las transacciones.
Las capacidades criptográficas de Blockchain, añaden además un componente de seguridad muy necesario en las redes de dispositivos conectados.
Valor añadido en Blockchain
La solución permite enriquecer las capacidades de blockchain, al otorgar a los dispositivos (y por tanto a los activos asociados a ellos) la identidad y atributos necesarios para completar las funcionalidades de consenso y / o validación en las redes Blockchain. Como se expresa en la figura 3.
Aplicación en el negocio
La aplicación del dispositivo IoT con capacidad de validación Blockchain presenta importantes casos de uso en el campo de la gestión de la energía.
Actualmente se ha realizado un primer piloto en el sector mediante el diseño y desarrollo de una solución End-to-End orientada a la integración de los prosumers en la red de distribución, proporcionando un dispositivo Smart Plug integrado con una aplicación móvil de control, que a su vez es gobernada por un blockchain. El Smart plug desarrollado implementa las funcionalidades de control del suministro sujeto a las instrucciones recibidas desde la app móvil de gestión, y ambos elementos se gobiernan conforme a las directrices de consenso y validación establecidas en el servidor Blockchain, así como en las funcionalidades blockchain (validación y generación de hashes) y Smart Contracts almacenados en el criptochip y en el coprocesador del enchufe respectivamente.
Actualmente se está trabajando en un segundo piloto, en el ámbito de la distribución eléctrica, en el que el dispositivo IoT se utilizará, sin más funcionalidad física añadida, como portador de la identidad blockchain de activos de alto valor económico, permitiendo a estos la participación como nodos validadores, en un blockchain que almacenará y gobernará todas las transacciones involucradas en las cadenas de suministro y mantenimiento de estos activos.