Comunicación presentada al VI Congreso Smart Grids
Autores
- Nerea Goitia-Zabaleta, Investigadora predoctoral, IKERLAN
- Aitor Milo, Investigador, IKERLAN
- Maialen Otaegi, Investigadora, IKERLAN
- Aitor Urbieta, Responsable de equipo “Ciberseguridad en plataformas digitales”, IKERLAN
- Haizea Gaztañaga, Responsable de equipo “Gestión de energía Eléctrica y Térmica”, IKERLAN
- Andeas Muñoz, Investigador, CIRCE
- Hans Bludszuweit, Investigador, CIRCE
- Jesús Torres, Responsable de equipo “Integración TIC”, CIRCE
Resumen
Las comunidades energéticas locales representan una innovadora configuración que pretende contribuir a la transformación del sistema tradicional de generación y distribución de energía. Estas se caracterizan por ser impulsadas por un valor social, donde también, el factor económico y el modelo de negocio dentro de una comunidad es de gran importancia. En este marco, surge el proyecto RENAISSANCE que tiene como objetivo “demostrar una propuesta fácilmente replicable para diseñar y operar sistemas locales de energía con orientación financiera y, a su vez, enfocada a los consumidores”. Una plataforma de gestión y registro de las transacciones de los intercambios energéticos dentro de la comunidad es una herramienta que facilita y contribuye a la operación de estas. En este contexto y dentro del proyecto RENAISSANCE, IKERLAN colabora en el desarrollo de esta plataforma con tecnología blockchain, diseñando e implementando los contratos inteligentes (smart-contracts). Por su parte, CIRCE define las implicaciones técnicas del conjunto en las comunicaciones de su controlador de campo inteligente, Energy Box. Así, en este artículo, IKERLAN presenta los resultados obtenidos en las pruebas de validación de los smart-contracts desarrolladas en la plataforma de demostración de blockchain implementada en su laboratorio de Telecomunicaciones. Por otro lado, CIRCE presenta las principales características de su Energy Box como elemento clave en el desarrollo del mercado con tecnología blockchain.
Palabras clave
Comunidades Energéticas Locales, Smart Contracts, Plataforma de Comercialización, Blockchain
Introducción
La explotación de los recursos energéticos locales permite consumir de una forma descentralizada, en la que además de reducir las pérdidas en transporte y distribución de energía, se contribuye en la economía local. En el caso nacional, el consumo de forma descentralizada ha tenido varios baches en su camino, ya que, el marco legislativo en el campo del autoconsumo ha sido muy restrictivo hasta el año 2019. La entrada en vigor del RD 244/2019 ha establecido nuevas normativas en cuanto a autoconsumo de energía eléctrica, lo cual ha desahogado la situación. Asimismo, en este real decreto, se reconoce la figura de la comunidad energética, lo cual permite un autoconsumo compartido (residencial, empresarial o industrial).
Las comunidades energéticas locales (LECs – Local Energy Communities) son entidades legales controladas por socios o miembros locales que las gestionan. Para el desarrollo e implantación de las LECs en el marco actual, el factor económico es de gran importancia, ya que, la rentabilidad económica del sistema dicta la estabilidad del mismo [1], [2].
La gestión de las LECs puede suponer una tarea compleja si no se cuenta con una herramienta destinada para la distribución de la energía. Dicha plataforma además de tener que ser segura y transparente, debe agrupar todos los elementos dentro de la comunidad: los consumidores, prosumidores, generadores y contratos que certifiquen la compraventa de la energía. En la actualidad, existen varias plataformas software relacionadas tanto con la gestión de la energía como al intercambio peer-to-peer (P2P). En cuanto a la gestión de la energía se refiere, existen varias soluciones comerciales que monitorizan, controlan y optimizan la energía [3]–[5]. No obstante, no existe ningún intercambio monetario. En relación con las herramientas software P2P, hay diferentes soluciones cuyo propósito es descentralizar las estructuras de los mercados de las LECs [6].
Para el desarrollo e implantación las LECs, además de la necesidad de una herramienta de gestión, es necesario desarrollar modelos de negocio compatibles con las necesidades y objetivos de la comunidad. Para ello, el proyecto RENAISSANCE, un proyecto europeo dentro del programa Horizon 2020, propone una herramienta estandarizada enfocada a la economía de los consumidores, en la cual se realizarán intercambios energéticos y transacciones económicas de forma segura y transparente. El proyecto tiene como objetivo desarrollar una metodología de diseño y operación de las LECs fácilmente replicable, para contribuir a alcanzar el objetivo del 27 % de generación renovable y, al mismo tiempo, llegar a la participación del 15-20 % de los habitantes y empresas y disminuir el precio de la energía de una comunidad.
Para ello, entre los objetivos del proyecto destaca la implementación de una plataforma para posibilitar el intercambio de servicios energéticos, entre los usuarios finales, integrando contratos inteligentes (smart-contracts) sobre la tecnología blockchain. El objetivo es disponer de una herramienta robusta frente a amenazas, confiable y escalable en un entorno distribuido [7].
Presentación plataforma
Contribución de Ikerlan
Un paso intermedio entre el diseño e implementación de los contratos inteligentes dentro del marco RENAISSANCE es testear y validar sobre una plataforma los contratos diseñados. Por eso, como una de las contribuciones al proyecto, Ikerlan implementa y valida los smart contracts diseñados para RENAISSANCE en su plataforma de comercialización de energía para las LECs.
La plataforma desarrollada por Ikerlan está basada en la distribución Ethereum de blockchain. Una vez definida la distribución, se determina Solidity como el lenguaje de desarrollo de smart contracts, lenguaje formalmente soportado por Ethereum. En cuanto al entorno de desarrollo, se escoge Remix puesto que advierte de errores, permite depurar código y testea los contratos escritos. Finalmente, para facilitar la interacción con la red blockchain se ha empleado el framework Truffle, el cual permite manejar el ciclo completo de los smart contract y escribir scripts tanto para testear los smart contracts implementados como para su posterior migración a la red blockchain. La Figura muestra el resumen de las tecnologías utilizadas en el desarrollo de la plataforma
Metodología
En lo que a smart contracts se refiere, son un factor clave en la herramienta, puesto que definen las condiciones y el funcionamiento de los mercados, de las subastas y de los acuerdos de compraventa de energía. Estos contratos también son los elementos que permiten tanto garantizar el pago por parte del comprador como evitar el fraude por parte del vendedor.
En primer lugar, se procedió a definir el funcionamiento del mercado de transacciones, que consiste en el intercambio energético y de transacciones económicas de las LECs. De allí se derivaron las estructuras lógicas que permiten la compraventa de energía dentro de la plataforma y, por tanto, están directamente relacionados con los smart contracts. El funcionamiento del caso desarrollado se define a continuación:
- El mercado está dirigido a generar ofertas de venta.
- El emparejamiento se realiza mediante la interacción de las partes involucradas para llegar a un acuerdo.
- El emparejamiento entre ofertas y demandas se basa en subastas.
- Con el objetivo de evitar la creación de subastas fraudulentas, se determina que, a la hora de hacer una subasta, el comprador entregue un depósito como pago adelantado. En caso de no ser el ganador de la subasta, recupera el depósito. El vendedor también realiza un depósito por la energía puesta en venta que recuperará total o parcialmente tras realizar el billing de la transacción.
- El mercado está restringido. Se delimita un precio mínimo y máximo de unidades de energía ofertada y subastada, respectivamente y la duración de la subasta, entre otros parámetros.
Con el fin de determinar la lógica de los mercados, se desarrollan los siguientes smart contracts:
- EnergyTrade. El contrato almacena las direcciones de los mercados para la compraventa de energía y, a su vez, habilita la forma de crear y cerrar mercados en el blockchain.
- Market. Son los mercados de la plataforma. Cada contrato almacena los parámetros de un mercado concreto, y proporciona funciones de consulta y actualización de dichos parámetros. Permite crear subastas y guarda direcciones de las subastas creadas.
- Auction. Son las subastas de la plataforma. Almacena dinero depositado por el vendedor al crear la subasta, los parámetros de la subasta en sí y los parámetros que definen el contrato que se subasta. Permite al comprador pujar, depositando el dinero suficiente para pagar al vendedor. También permite al comprador retirar el pago si su oferta no es la ganadora y al vendedor en caso de que no exista comprador para su subasta.
- SmartMeters. Relaciona el número de serie de los smart meters con los usuarios.
- BuyResources. Envía la cantidad de criptomonedas al solicitante, simulando la compra de criptomonedas. En un entorno real, debe haber un cambio con el dinero tradicional.
Debido a la utilización de las criptomonedas, los smart contracts deben ser seguros, es decir, no puede haber errores en el código ni en el compilador, para evitar cualquier tipo de fraude. Por ello, se han considerado los siguientes aspectos:
- División lógica de los mercados en varios smart contracts. Así se evita que un único smart contract albergue todas las subastas y, por consiguiente, grandes cantidades de criptomonedas.
- Se utilizan librerias que implementan estándares cuando es posible.
- A la hora de desarrollar los smart contracts se tienen en cuenta las buenas prácticas. Un ejemplo de ello es no enviar criptomonedas a los usuarios. El usuario debe realizar la petición de las devoluciones al smart contract.
Un elemento clave para el correcto funcionamiento del sistema desarrollado es la certificación de los intercambios energéticos. Esta certificación la deben realizar equipos de medida fiables, seguros y que pueden integrarse dentro de la plataforma blockchain como un nodo (nodo ligero, “light node”). En esta línea, CIRCE ha diseñado y desarrollado la EnergyBox, capaz de certificar los intercambios energéticos, con capacidad de procesamiento suficiente para operar como un light node dentro de la cadena blockchain.
Contribución de CIRCE
La EnergyBox (EB) de CIRCE es el dispositivo de gestión local del sistema (ver Figura), que se comunica con la plataforma de gestión de servicios energéticos, que se implementará basado en Atos FUSE dentro del proyecto RENAISSANCE. La EB es una nueva generación de controlador inteligente, que reduce el número de equipos necesarios para realizar un control eficiente de dispositivos a través de la integración de varias tecnologías de comunicación. Este sistema se basa en una arquitectura multinúcleo con una estructura de intercambios no bloqueantes para proporcionar capacidades de sistema a nivel del estado del arte de la industria, presentando no solo prestaciones de nivel doméstico sino también otros requerimientos de control más complejos necesarios para ambientes más demandantes y cercanos a la gestión en tiempo real.
Las características más relevantes de la EB son:
- Diseño sin ventilador que asegura funcionamiento silencioso para ambientes de oficina o vivienda.
- Bajo consumo energético.
- Sistema operativo basado en Debian.
- Factor de forma reducido y ligera.
Es posible ejecutar remotamente servicios y monitorización de alto nivel mientras que la operación local puede ser procesada por la propia EB, mejorando la calidad, seguridad y eficiencia del servicio. Dispone de un hardware fabricado ad hoc y un software que se divide en dos bloques: comunicación y gestión. El bloque de comunicaciones se encarga de integrar los diferentes protocolos de los dispositivos de campo del piloto: ZigBee y WiFi para los sensores inalámbricos, y Modbus para los analizadores de redes. También implementa la comunicación con el centro de control mediante MQTT, un protocolo usado para las comunicaciones M2M en escenarios IoT. Por su parte, el bloque de gestión se encarga de reunir toda la información del sistema para su subida al centro de control, además de realizar la gestión en tiempo real del sistema. Para ello se han desarrollado algoritmos locales en su software para generar las distintas consignas en tiempo real a partir de las planificaciones y objetivos de funcionamiento recibidos de la nube.
Resultados
En esta sección se presentan los resultados obtenidos en el proceso de validación de los smart contracts. Estos resultados se han centrado en el análisis funcional de los smart contracts y en el consumo de recursos del sistema durante la ejecución de diferentes clientes blockchain realizado en la plataforma de Ikerlan.
Estudio de consumo de recursos del sistema
Para que la plataforma funcione correctamente los datos medidos por los smart-meters de los agentes involucrados (consumidor y generador) en el contrato deben ser insertados en blockchain. Habitualmente, estos dispositivos no cuentan con los recursos suficientes para ejecutar un nodo completo blockchain, que se considera necesario para enviar transacciones a la red. Por ello, se utiliza un dispositivo a modo de gateway: lee los datos procedentes de los smart-meters e introduce estos datos en blockchain cuando el contrato lo requiera. Este dispositivo debe ser una fuente fiable de información, de ahí que en el marco blockchain sean denominados smart oracles. Será necesario contar con uno de estos dispositivos en cada punto de entrada de datos para que la plataforma pueda funcionar en un entorno real. Con el fin de reducir costes en el despliegue: 1) Smart oracles capaces de manejar varios smart meters 2) Smart oracles que consuman pocos recursos del dispositivo y por consiguiente, dispositivos de bajo rendimiento que resultan más economicos. En este estudio hemos medido los recursos que necesita un smart oracle, utilizando para ello una Raspberry Pi Model 3 B. Debido a la gran cantidad de recursos que se necesitan para la validación de bloques en blockchain, el smart oracle debe ejecutar un light node, lo cual también implica que el smart oracle no forma parte de la validación de bloques de blockchain. Dentro de Ethereum, Geth y Parity son los clientes que posibilitan esta opción. Dentro de Ethereum, las redes de prueba más utilizadas son Kovan y Rinkeby, que corresponden, respectivamente, a Parity y Geth. Estas redes de prueba son diferentes a la hora de implementar el algoritmo de consenso de blockchain y, en consecuencia, se han contrastado los resultados del consumo del smart oracle con ambos clientes. Los casos de estudio han sido, primero, el consumo CPU y RAM de los dos clientes blockchain. Segundo, el consumo CPU y RAM de smart oracle y, finalmente, el tráfico de datos del smart oracle (cliente blockchain + script de smart oracle). En el proyecto RENAISSANCE, la EnergyBox desarrollado por CIRCE podrá actuar como smart oracle.
En primer lugar, se analiza el consumo de CPU y RAM de los dos clientes blockchain. En cuanto al consumo de CPU, las Figura s4 y 5muestran un mayor consumo por parte de Parity. Asimismo, mientras que Geth muestra una tendencia más o menos periódica, Parity tiene una tendencia con más altibajos. Las gráficas muestran lo que se ha podido comprobar en la realización de las pruebas: tanto la sincronización como la recepción de bloques es más fluida en Geth, y Parity tiende a fallar más. En lo que a consumo de RAM se refiere, se observa al comparar las figuras 6 y 7 que Geth consume más que Parity. Esto sucede, sobre todo, al inicio, ya que es el momento de sincronización. Una vez sincronizado, el consumo baja casi hasta al nivel de Parity, 4-5%.
En segundo lugar, se analiza el consumo del smart oracle. En cuanto al consumo de CPU, se observa en la Figura 8 que en el inicio del script el consumo es más elevado, con picos que se superan el 100%, lo que significa que utiliza más de un núcleo de la Raspberry. Esto ocurre porque en esta etapa se detectan todas las subastas activas. Después, el consumo tiene una tendencia más periódica, donde los picos de consumo ocurren cuando se reciben nuevos bloques y cuando se ejecutan acciones para la monitorización y subasta de pujas. Antes de finalizar el consumo (caída a 0%), se observa un pico más alto, que refleja el envío de la transacción. En lo que a consumo de RAM se refiere, se trata de una curva casi estabilizada al 18 %.
Finalmente, se analiza el consumo de datos. Se aprecia que Geth tiene menos tráfico que Parity. Tal y como se puede apreciar en la comparación de ambas líneas de tendencia, Geth pasa por una etapa inicial de sincronización donde se descarga toda la cadena. Por el contrario, Parity no sincroniza toda la cadena.
Conclusiones
En esta comunicación se ha presentado una plataforma dirigida a las LECs, donde las transacciones energéticas y monetarias se realizan de forma descentralizada, eliminando intermediarios y empoderando a los usuarios. Además, se ha podido comprobar que la tecnología blockchain, estudiada principalmente como herramienta para las tecnologías de la información, puede trabajar juntamente con elementos del Internet of Things (IoT), es decir, los smart contracts. De esta forma, se ha verificado que blockchain puede interactuar con elementos y magnitudes reales, no solo virtuales.
En el ámbito de la computación, se constata que, por un lado, Geth es más eficiente en cuanto a consumo de recursos frente a Parity. No obstante, debido a la inmadurez de las tecnologías, se concluye que son necesarios estudios más exhaustivos para obtener resultados más relevantes. Por otro lado, se verifica que el smart oracle no requiere hardware de gran potencia. Sin embargo, a la hora de tener que gestionar un gran volumen de subastas y pujas en la red, se observa que podría afectar considerablemente su rendimiento.
También se ha presentado un equipo avanzado de medida, Energy box, que además de todas sus capacidades de interoperabilidad es capaz de operar como smart oracle como nodo ligero (light node) dentro de una red blockchain.
Agradecimientos
El presente trabajo ha sido realizado bajo el marco del proyecto RENAISSANCE (Nº 824342), financiado por la Comisión Europea en el programa H2020.
Referencias
[1] C. Romero-Rubio and J. R. de Andrés Díaz, “Sustainable energy communities: A study contrasting Spain and Germany,” Energy Policy, vol. 85, pp. 397–409, 2015.
[2] C. Rae and F. Bradley, “Energy autonomy in sustainable communities—A review of key issues,” Renew. Sustain. Energy Rev., vol. 16, no. 9, pp. 6497–6506, Dec. 2012.
[3] TEAMNET, “TEAMNET | EEM – Energy Expense Management.” [Online]. Available: www.teamnet.es/eem-energy-expense-management.html [Accessed: 17-Sep-2019].
[4] Wattics, “Turnkey Energy Management & Monitoring Solutions.” [Online]. Available: www.wattics.com/turnkey-solutions [Accessed: 17-Sep-2019].
[5] Energinet, “Data om energisystemet i form af rådata, statistikker og rapporter | Energinet.” [Online]. Available: https://energinet.dk/El/Data-om-energisystemet [Accessed: 17-Sep-2019].
[6] C. Zhang, J. Wu, C. Long, and M. Cheng, “Review of Existing Peer-to-Peer Energy Trading Projects,” Energy Procedia, vol. 105, pp. 2563–2568, 2017.
[7] K. Biswas and V. Muthukkumarasamy, “Securing smart cities using blockchain technology,” Proc. – 18th IEEE Int. Conf. High Perform. Comput. Commun. 14th IEEE Int. Conf. Smart City 2nd IEEE Int. Conf. Data Sci. Syst. HPCC/SmartCity/DSS 2016, no. December, pp. 1392–1393, 2017.