universidad politÉcnica de madridoa.upm.es/53901/1/tesis_master_jorge_gustavo_moreno_lo… · el...

129
UNIVERSIDAD POLITÉCNICA DE MADRID E.T.S. INGENIERÍA DE SISTEMAS INFORMÁTICOS Autor: Jorge Gustavo Moreno López Tutor: Prof. Dr. Agustín Yagüe Panadero TRABAJO FIN DE MÁSTER MÁSTER EN CIENCIAS Y TECNOLOGÍAS DE LA COMPUTACIÓN ENERO 2019 La aplicación de Blockchain en el dominio de Internet de las Cosas: Una revisión sistemática de la literatura.

Upload: others

Post on 27-Sep-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

UNIVERSIDAD POLITÉCNICA DE MADRID

E.T.S. INGENIERÍA DE SISTEMAS INFORMÁTICOS

Autor: Jorge Gustavo Moreno López

Tutor: Prof. Dr. Agustín Yagüe Panadero

TRABAJO FIN DE MÁSTER

MÁSTER EN CIENCIAS Y TECNOLOGÍAS DE LA COMPUTACIÓN

ENERO 2019

La aplicación de Blockchain en el dominio de Internet de las

Cosas: Una revisión sistemática de la literatura.

Page 2: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

ii

Dedicatoria

A mi familia.

“…Hasta quemar el último cartucho” (F. Bolognesi, Arica 1880)

“Lo imposible solo cuesta un poco más…”

(J. Mujica)

Page 3: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

iii

Agradecimientos Hoy, luego de meses de trabajo intenso, llenos de mucho conocimiento y experiencias personales, puedo finalmente escribir este apartado, tengo que admitir que en algún lo momento lo vi inalcanzable, si no fuera por esas personas que siempre estuvieron ahí, seguro me hubiese costado mucho más… muchas gracias… Quiero darle las gracias a mi familia por estar siempre pendientes y nunca dejar de creer en mí, gracias por cada palabra de aliento y motivación, fueron muy importantes de mí, ustedes son el tesoro más grande que tengo; gracias Mamá, gracias Papá, gracias a mis dos bellas hermanas, Mónica y Claudia, y a mis dos hermosas y risueñas sobrinas, María Alejandra y Daniela. Gracias también a Juan Antonio y a su siempre muy amable familia. Un agradecimiento especial a Agustín, por tu tiempo y los conocimientos compartidos, me sirvieron de mucho a lo largo del trabajo fin de máster; gracias por tus palabras de ánimo, ilimitada paciencia, gran optimismo y manera tan simple de ver las cosas, por muy complicadas que sean; eres un gran tutor y maestro, aprendí mucho de ti, muchas gracias. De igual manera, gracias a mis profesores del máster, especialmente a Eduardo G. y Fernando A., muchas gracias por los conocimientos, la paciencia y apoyo brindado, los recordaré siempre. Gracias de igual forma a mis compañeros de máster, Omar, Eduardo, Roger, Sheida y Sheila; gracias por los conocimientos y momentos compartidos, por los consejos, el aliento y apoyo constante, fueron muy buenos conmigo. Y aunque sé que me entendían, perdónenme por las veces que estuve muy ocupado y no pude acompañarlos. Gracias también a Juan Carlos, Hernan, Ricard, Wilson y Brian; fueron amigos muy cercanos en este periodo; quienes fueron testigos de las horas que pasé trabajando y bueno, este es el producto final; gracias por sus ánimos y sus consejos. Y por último pero no de menos importancia, quiero darle las gracias a Ingrid, siempre con tu casi cotidiana pregunta… ¿Y cómo va el TFM?... Tengo que admitir que algunas veces me estresaba… Gracias por todo amiga. Gracias Estrella, por tus grandes consejos, tus palabras de aliento, tu manera tan fácil de ver las cosas (alguna vez sentí envidia) y el tiempo que compartimos. Gracias Verónica, fuiste siempre una persona en quien confiar, gracias por el apoyo incondicional y por las buenas vibras. Gracias Guiomar, estar cerca de ti siempre resultó algo positivo, gracias por tu conocimiento y la felicidad transmitida, te recordaré siempre.

Page 4: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

iv

Resumen El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el cual subyacen diferentes tecnologías, que mediante su sinergia, permiten obtener una tecnología inteligente, la cual alcanza la interacción entre el mundo físico y el mundo virtual. Además, IoT es comprendido por múltiples conexiones dentro de una red de objetos cotidianos (Things), que en su mayoría manipulan y gestionan datos sensibles de los usuarios. Por ende, la privacidad y seguridad de los datos son uno de los principales desafíos que enfrenta esta tecnología. Una alternativa para suplir estos desafíos IoT es la tecnología Blockchain, una base de datos distribuida con una lista de bloques de las transacciones realizadas, la cual posee las siguientes propiedades: Inmutabilidad, indexación, ordenación, marca de tiempo, transparencia, seguridad, y consistencia. La adopción, por parte de IoT, de las ventajas propias de Blockchain, podría brindar notables mejoras y la reducción de falencias en los dominios IoT. El presente trabajo fin de máster tiene por objetivo analizar el estado del arte actual de la aplicación de la tecnología Blockchain en el dominio IoT. Como parte de la metodología se lleva a cabo, un estudio de IoT y Blockchain; una revisión sistemática de la literatura (Systematic Literature Review, SLR) sobre la aplicación de Blockchain en dominios IoT, en la cual se plantean cinco preguntas de investigación; y el correspondiente análisis de los resultados obtenidos de la SLR, con la finalidad de dar respuesta a las preguntas de investigación. Luego de este proceso, se puede concluir principalmente que, la aplicación de Blockchain en el dominio IoT, es una tendencia que tendrá mayores empleos en los años futuros, debido al índice de crecimiento anual, que alcanzan actualmente los estudios enfocados en dicha integración. Además, las áreas de aplicación que se identifican de la integración de Blockchain en el dominio IoT, como el área de gestión de datos y de gestión de accesos, ofrecen resultados de mucha importancia, en los cuales se aprovecha de las ventajas que brinda esta integración; sin embargo debido a los considerables inconvenientes, que de igual forma son producto de la integración, es necesario el empleo de componentes adicionales con funcionalidades específicas, los cuales estén enfocados en suplir estos inconvenientes y permitan el empleo sin restricciones de Blockchain en el dominio IoT. Adicionalmente, se identifican dos enfoques actuales predominantes en las arquitecturas IoT-Blockchain, los cuales están basados en los tipos de componentes empleados, y en las características de las arquitecturas. Palabras clave: Blockchain; Internet of Things (IoT); arquitectura de software; revisión sistemática de la literatura.

Page 5: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

v

Abstract The Internet of Things (IoT) is considered a paradigm in which different technologies underlie. This technologies through their synergy allow to obtain an intelligent technology, which reaches the interaction between the physical world and the virtual world. In addition, IoT has multiple connections within a network of everyday objects (Things), which mostly manipulate and manage sensitive users’ data. Therefore, data privacy and security are one of the main challenges facing this technology. An alternative to solve these IoT challenges is the adoption of Blockchain technology, a distributed database with a list of blocks of transactions carried out, which has properties such as immutable, append-only, ordered, time-stamped, open and transparent, secure, and eventually consistent. The advantages of Blockchain adoption by IoT, could provide important improvements and the reduction of shortcomings in the IoT domains. This final master's work (TFM) aims to analyze the state of the art of the application of Blockchain technology in the IoT domain. The methodology has the following parts: A survey of IoT and Blockchain, a Systematic Literature Review (SLR) of the application of Blockchain in IoT domains, in which five research questions are proposed; and the analysis of the results obtained from the SLR, in order to answer the research questions. After this process, it mainly can be conclude that the application of Blockchain in the IoT domain is a tendency that will have greater interest in future years, due to the annual growth rate, that currently reaches studies focused on this integration. Moreover, the application areas that are identified from the integration of Blockchain in the IoT domain, such as the area of data management and access management, offers very significant results, in which it takes advantage provided by this integration. However, due to the considerable drawbacks, which are also the result of integration, this adoption needs to use additional components with specific functionalities, which are focused in reducing these drawbacks and allow to use Blockchain in the IoT domain without restrictions. Additionally, two predominant current approaches are identified in the IoT-Blockchain architectures, which are based on the types of components used and on the characteristics of the architectures. Key words: Blockchain; Internet of Things (IoT); software architecture; systematic literature review

Page 6: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

vi

Contenido

1.

Resumen ......................................................................................................................................... iv

Abstract ........................................................................................................................................... v

Lista de tablas ................................................................................................................................. 1

Lista de gráficos ............................................................................................................................. 2

1. Capítulo 1. Introducción ......................................................................................................... 4

1.1. Motivación .............................................................................................................................. 4

1.2. Objetivos ................................................................................................................................. 5

1.3. Metodología ............................................................................................................................ 6

1.4. Estructura del trabajo.............................................................................................................. 6

2. Capítulo 2. Conceptos previos .............................................................................................. 7

2.1. Internet of Things (IoT) .......................................................................................................... 7

2.1.1. Conceptos básicos .......................................................................................................... 7

2.3.2. Arquitectura IoT ............................................................................................................ 10

2.3.3. Aplicaciones de IoT ....................................................................................................... 12

2.3.4. Desafíos IoT .................................................................................................................. 15

2.2. Blockchain............................................................................................................................ 17

2.2.1. Conceptos básicos ........................................................................................................ 17

2.2.2. Tipos de Blockchain ...................................................................................................... 20

2.2.3. Plataformas Blockchain ................................................................................................. 21

2.2.4. Arquitectura Blockchain ................................................................................................ 22

2.2.4.1. Capas de Blockchain ............................................................................................ 22

2.2.4.2. Block ..................................................................................................................... 23

2.2.4.3. Firma digital ........................................................................................................... 24

2.2.5. Algoritmos de consenso ................................................................................................ 25

2.2.6. Aplicaciones de Blockchain ........................................................................................... 26

2.2.6.1. Patrones genéricos de aplicación ......................................................................... 27

2.2.6.2. Principales casos de usos de Blockchain .............................................................. 28

2.2.7. Desafíos ........................................................................................................................ 29

3. Capítulo 3. Revisión sistemática de la literatura (SLR) ..................................................... 31

3.1. Primera fase: Planificación de la revisión ............................................................................. 31

Page 7: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

vii

3.1.1. Objetivo de la revisión y preguntas de investigación ..................................................... 33

3.1.2. Estrategia de búsqueda ................................................................................................ 33

3.1.3. Criterios de inclusión y exclusión .................................................................................. 34

3.1.3.1. Criterios de inclusión ............................................................................................. 34

3.1.3.2. Criterios de exclusión ............................................................................................ 34

3.1.4. Criterios de evaluación.................................................................................................. 34

3.1.5. Estrategia de extracción y síntesis de datos ................................................................. 35

3.2. Segunda fase: Conducción de la revisión ............................................................................ 35

3.2.1. Búsqueda de estudios primarios ................................................................................... 36

3.2.2. Selección de estudios primarios ................................................................................... 36

3.2.3. Evaluación de calidad ................................................................................................... 37

3.2.4. Estrategia de extracción y síntesis de datos ................................................................. 40

3.2.4.1. Extracción de datos ............................................................................................... 40

3.2.4.2. Síntesis de datos ................................................................................................... 41

4. Capítulo 4. Resultados y análisis ........................................................................................ 43

4.1. Visión general ...................................................................................................................... 43

4.1.1. Año de publicación ........................................................................................................ 43

4.2. PI1: ¿En qué áreas actualmente se está aplicando la integración de Blockchain en el

dominio IoT? ............................................................................................................................. 44

4.2.1. Área de seguridad y privacidad en general ................................................................... 46

4.2.2. Área de gestión de datos .............................................................................................. 46

4.2.3. Área de gestión de accesos .......................................................................................... 48

4.2.4. Área de gestión de recursos ......................................................................................... 48

4.2.5. Área de gestión de configuraciones .............................................................................. 49

4.2.6. Área de privacidad de los datos de los usuarios ........................................................... 49

4.2.7. Área de escalabilidad .................................................................................................... 49

4.2.8. Área de disponibilidad ................................................................................................... 49

4.2.9. Área de interoperabilidad .............................................................................................. 50

4.2.10. Área de autonomía de red .......................................................................................... 50

4.2.11. Área de defensa de ataques ....................................................................................... 50

4.3. PI2: ¿Cuáles son las principales ventajas que existen en la integración de Blockchain

en el dominio IoT? .................................................................................................................... 54

4.3.1. Almacenamiento de datos ............................................................................................. 54

4.3.2. Comunicación e intercambio de datos .......................................................................... 54

4.3.3. Procedencia de datos ................................................................................................... 55

4.3.4. Control de accesos y autenticación............................................................................... 55

Page 8: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

viii

4.3.5. Disponibilidad ................................................................................................................ 55

4.4. PI3: ¿Cuáles son los principales inconvenientes que existen en la integración de

Blockchain en el dominio IoT? ................................................................................................ 56

4.4.1. Adaptabilidad ................................................................................................................ 56

4.4.2. Escalabilidad ................................................................................................................. 57

4.4.3. Utilización de recursos .................................................................................................. 57

4.4.4. Seguridad ...................................................................................................................... 58

4.5. PI4: ¿Qué arquitecturas existen, que integran Blockchain en el dominio IoT, y cuáles

son sus principales componentes? ........................................................................................ 59

4.5.1. Características principales de las arquitecturas propuestas en los estudios

seleccionados ......................................................................................................................... 59

4.5.1.1. Patrones, estilos y características de las arquitecturas propuestas ...................... 59

4.5.1.2. Tipos y plataformas de Blockchain empleadas en las arquitecturas propuestas... 63

4.5.1.3. Tecnologías adicionales ........................................................................................ 65

4.5.2. Resumen de las arquitecturas propuestas en los artículos seleccionados ................... 73

4.6. PI5: ¿Existe algún enfoque actual predominante en las arquitecturas que integran

Blockchain en el dominio IoT? .............................................................................................. 109

4.6.1. Enfoque basado en los tipos de componentes de las arquitecturas ........................... 109

4.6.2. Enfoque basado en las características de las arquitecturas ....................................... 110

5. Capítulo 5. Conclusiones ................................................................................................... 112

5.1. Resumen ........................................................................................................................... 112

5.2. Conclusiones ..................................................................................................................... 113

5.3. Trabajos futuros ................................................................................................................. 114

6. Capítulo 6. Referencias ...................................................................................................... 115

Page 9: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 1

Lista de tablas Tabla 2.1. Comparación entre los tipos de Blockchain (Pública, Privada y de Consorcio). Traducida al español y

recuperada de [36] ........................................................................................................................................... 21 Tabla 2.2. Comparación de algoritmos de consenso. Recuperado de [36]. ............................................................. 26 Tabla 2.3. Principales casos de uso de Blockchain. Información recuperada de [36] ............................................... 28 Tabla 3.1. Recursos de búsqueda. ..................................................................................................................... 34 Tabla 3.2. Criterios de calidad. .......................................................................................................................... 35 Tabla 3.3. Resultados de la búsqueda sistemática. ............................................................................................. 36 Tabla 3.4. Lista de los artículos primarios seleccionados con su contribución, referencia, año y canal de publicación

correspondiente................................................................................................................................................ 37 Tabla 3.5. Códigos, temas, temas de orden superior y su relación con las preguntas de investigación definidas. ...... 42 Tabla 4.1. Año de publicación de los artículos. .................................................................................................... 43 Tabla 4.2. Áreas de aplicación de los artículos. ................................................................................................... 45 Tabla 4.3. Patrones y estilos arquitectónicos de los artículos seleccionados. ......................................................... 60 Tabla 4.4. Características de las arquitecturas de los artículos seleccionados. ....................................................... 62 Tabla 4.5. Tipos y plataformas de Blockchain empleados en las arquitecturas de los artículos seleccionados. .......... 63 Tabla 4.6. Tecnologías adicionales utilizadas en las arquitecturas de los artículos seleccionados. ........................... 65 Tabla 4.7. Enfoque actual basado en componentes de las arquitecturas – Componentes similares identificados,

referencias y frecuencia. ................................................................................................................................. 109 Tabla 4.8. Enfoque actual basado en las características de las arquitecturas. ...................................................... 111

Page 10: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 2

Lista de gráficos Gráfico 2.1. Concepto de IoT. Recuperado de [15]. ............................................................................................... 8 Gráfico 2.2. Esquema IoT con usuarios finales y áreas de aplicación. Recuperado de [14]. ...................................... 8 Gráfico 2.3. Capacidades/elementos de IoT. Recuperado de [2]........................................................................... 10 Gráfico 2.4. Arquitectura genérica para IoT. Recuperado de [19]. ......................................................................... 11 Gráfico 2.5. Arquitectura para IoT con cinco capas. Recuperado de [3]. ................................................................ 12 Gráfico 2.6. Proyección del mercado para las aplicaciones de IoT al 2025. Recuperado de [2]. ............................... 12 Gráfico 2.7. Ejemplo de aplicación de IoT en ciudades inteligentes. Recuperado de [15]. ....................................... 14 Gráfico 2.8. Transacciones mediante un intermediario vs. Transacciones Peer to Peer. Recuperado de [44]. ........... 17 Gráfico 2.9. Ejemplo de Blockchain, el cual consiste en una secuencia continuada de bloques. Recuperado de [36]. 18 Gráfico 2.10. Validación en Blockchain. Recuperado de [37]. ............................................................................... 18 Gráfico 2.11. (a) Sistema centralizado. (b) Sistema descentralizado. Recuperado de [38]. ...................................... 19 Gráfico 2.12. Capas de Blockchain. Recuperado de [44]. .................................................................................... 23 Gráfico 2.13. Estructura del Block de Blockchain. Recuperado de [45]. ................................................................. 24 Gráfico 2.14. Firma digital utilizada en Blockchain. Recuperado de [36]. ............................................................... 24 Gráfico 3.1. Pasos de una SLR. Recuperado de [48]. .......................................................................................... 32 Gráfico 3.2. Cuenta en Mendeley, gestor de artículos científicos. ......................................................................... 37 Gráfico 3.3. Proceso de la síntesis temática. Recuperado de [12]. ........................................................................ 40 Gráfico 3.4. Plantilla para extracción de datos. ................................................................................................... 41 Gráfico 4.1. Año de publicación de los artículos. ................................................................................................. 44 Gráfico 4.2. Áreas de aplicación de la integración IoT-Blockchain ........................................................................ 51 Gráfico 4.3. Subáreas del área de aplicación de gestión de datos. ....................................................................... 52 Gráfico 4.4. Subáreas del área de aplicación de gestión de datos. ....................................................................... 53 Gráfico 4.5. Patrones y estilos arquitectónicos de los artículos seleccionados. ...................................................... 61 Gráfico 4.6. Características arquitectónicas de los artículos seleccionados. .......................................................... 62 Gráfico 4.7. Tipos y plataformas de Blockchain empleados en las arquitecturas de los artículos seleccionados. ....... 64 Gráfico 4.8. Tecnologías adicionales en las arquitecturas de los artículos seleccionados. ....................................... 67 Gráfico 4.9. Vista general de la puesta en marcha y activación de un dispositivo en ChainAnchor. Recuperado de [48].

....................................................................................................................................................................... 74 Gráfico 4.10. Arquitectura IoT - Blockchain basada en una plataforma de intercambio de datos. Recuperado de [57].

....................................................................................................................................................................... 75 Gráfico 4.11. Smart home basado en Blockchain. Recuperado de [58].................................................................. 76 Gráfico 4.12. Arquitectura del sistema Smart-M3. Recuperado de [59]. ................................................................. 77 Gráfico 4.13. Arquitectura del sistema de integración de Blockchain con la plataforma Smart-M3. Recuperado de [59].

....................................................................................................................................................................... 77 Gráfico 4.14. Arquitectura Smart Things incluyendo Multichain. Recuperado de [60]. ............................................. 78 Gráfico 4.15. Entorno de seguridad basada en Blockchain y la tecnología legder integrado con componentes de una

red definida por software (SDN). Recuperado de [62]. .......................................................................................... 80 Gráfico 4.16. Vista general de la arquitectura ControlChain. Recuperado de [63]. .................................................. 81 Gráfico 4.17. Entorno de aprendizaje ubicuo basado en la tecnología Blockchain. Recuperado de [64]. ................... 81 Gráfico 4.18. La tecnología Blockchain basada en la verificación de la integridad de datos para CPS IoT. Recuperado

de [66]. ............................................................................................................................................................ 83 Gráfico 4.19. Autenticación secundaria fuera de banda. Recuperado de [67]. ........................................................ 84 Gráfico 4.20. Entorno de colaboración JointCloud (JCCE). Recuperado de [68]. .................................................... 85 Gráfico 4.21. Arquitectura de almacenamiento Cloud distribuido basada en Blockchain. Recuperado de [69]. .......... 86 Gráfico 4.22. Formato de bloque para MN, MAAR y PoW. Recuperado de [70]. ..................................................... 87 Gráfico 4.23. Escenario de transferencia Distributed Mobility Management. Recuperado de [70]. ............................ 87 Gráfico 4.24. Vista general de la arquitectura cloud Blockchain distribuida. Recuperado de [71]. ............................. 88

Page 11: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 3

Gráfico 4.25. Arquitectura del sistema e interacción entre Stakeholders. Recuperado de [72].................................. 89 Gráfico 4.26. Arquitectura de tres capas para gestión de configuraciones. Recuperado de [72]. .............................. 89 Gráfico 4.27. Estructura de la arquitectura: Orquestación basada en Blockchain con una capa de orquestación

(basada en PROV) y una capa de confianza (basada en Blockchain, reflejando actividades PROV). Recuperado de

[73]. ................................................................................................................................................................ 90 Gráfico 4.28. Arquitectura de monitorización remota de pacientes basada en niveles. Recuperado de [74]............... 92 Gráfico 4.29. Vista conceptual de los niveles basados en una arquitectura de monitorización de la salud. Recuperado

de [74]. ............................................................................................................................................................ 92 Gráfico 4.30. Vista general del protocolo que une dominios sin una raíz común. Recuperado de [75]....................... 94 Gráfico 4.31. Vista general del sistema AlkylVM. Recuperado de [76]. ............................................................... 95 Gráfico 4.32. IoTChain - una arquitectura de seguridad basada en Blockchain. Recuperado de [77]. ....................... 96 Gráfico 4.33. Una vista general de la arquitectura de DistArch-SCNet. .................................................................. 97 Gráfico 4.34. Diagrama de bloque para la comunicación entre dispositivos inteligentes y controladores. Recuperado

de [78]. ............................................................................................................................................................ 97 Gráfico 4.35. Arquitectura Edge computing orientada a un sistema contable Blockchain. Recuperado de [79]. ........ 98 Gráfico 4.36. Sistema de control de accesos descentralizado. Recuperado de [79]. ............................................... 99 Gráfico 4.37. Arquitectura basada en el registro IoT y Blockchain. Recuperado de [81]. ....................................... 100 Gráfico 4.38. Vista general de la arquitectura de DistBlockNet. Recuperado de [82]. ............................................ 101 Gráfico 4.39. Vista general de un diseño de capas basado en Blockchain para IoT. Las transacciones en Blockchain

pueden contener permisos de acceso (gray). Recuperado de [83]. ...................................................................... 103 Gráfico 4.40. Arquitectura de un prototipo idóneo para actualización. Recuperado de [84]. ................................... 104 Gráfico 4.41. Red Sidechain, con dispositivos IoT, y un nodo validador conectado a la red consorcio. Recuperado de

[85]. .............................................................................................................................................................. 105 Gráfico 4.42. DroneChain: Arquitectura de comunicación de Drones basada en Blockchain. Recuperado de [86]. .. 106 Gráfico 4.43. Escenario de operación de la arquitectura IoT con gateways Blockchain. Recuperado de [87]. .......... 107 Gráfico 4.44. Estilos de arquitectura para servicios IoT impulsados por Blockchain. Recuperado de [88] . .............. 108

Page 12: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 4

1. Capítulo 1. Introducción

El presente trabajo fin de máster está enfocado al estudio de la aplicación de la tecnología Blockchain en el dominio del Internet de las Cosas, o Internet of Things (IoT). Esta última, se puede definir como una tecnología ubicua que interconecta una gran cantidad de objetos inteligentes llamados Things, por medio de la red de Internet, con la finalidad de permitir interacción entre el hombre y los objetos, entre el mundo físico y el mundo virtual [1]. IoT es también considerado un paradigma que proporciona bienestar y facilidad al usuario en la realización de sus tareas o necesidades cotidianas; todo esto gracias a la sinergia de las tecnologías que la subyacen, como: La identificación, los sensores, la comunicación, el cálculo computacional, los servicios, entre otras [2]. Sin embargo como toda tecnología emergente tiene desafíos que se deben tenerse en cuenta para su optimización; uno de estos desafíos se refiere al requerimiento de un considerable grado de seguridad y privacidad, específicamente en la manipulación de datos sensibles de los usuarios recogidos por los sensores IoT; otro requerimiento importante es la interoperabilidad, que IoT debe utilizar para interactuar de manera adecuada y eficiente con diversos sistemas [3]. Por su parte, Blockchain [4], es una tecnología en sus primeros años de desarrollo, considerada una tecnología disruptiva que empezó utilizándose en el ambiente financiero y en las criptomonedas (Bitcoin). Blockchain puede ser una buena alternativa para los requerimientos en los dominios IoT, dado que se desenvuelve en una red descentralizada Peer to Peer, sin necesidad de una tercera partición auditora; además posee las siguientes propiedades: Inmutabilidad, indexación, ordenación, marca de tiempo, transparencia, seguridad (identificación, autenticación y autorización), y consistencia [5]. No obstante, Blockchain presenta desafíos pendientes de desarrollo, tales como la escalabilidad [6]; en consecuencia del consenso costoso computacionalmente que realiza, y la réplica de datos en cada nodo Blockchain, empleado para mantener la confianza entre los nodos participantes de la red.

1.1. Motivación Dado que IoT está abarcando y se está adaptando a diferentes dominios, además de estar pronosticado por Gartner [7] su vasto crecimiento para 2020, el cual ascenderá a aproximadamente 20,4 billones de dispositivos IoT conectados a la red, IoT requiere una profundización en los estudios correspondientes a sus desafíos y problemas pendientes por abordar, principalmente en el ámbito de la

Page 13: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 5

seguridad y privacidad [3], con la finalidad de obtener como resultado un mejor servicio proporcionado a los usuarios finales. Siendo Blockchain unos de sus mejores candidatos para la preservación de la privacidad y seguridad de los datos IoT, se conduce este estudio para analizar el estado actual de la investigación correspondiente a la integración de las dos tecnologías antes mencionadas. Por otra parte, el interés de este trabajo versa también en ahondar los estudios relacionados a la aplicación de Blockchain en el dominio IoT, que por ser Blockchain una tecnología reciente, dicha aplicación no posee un vasto número de estudios en la literatura disponible, con una metodología de búsqueda sistemática y con un enfoque en la integración de Blockchain en el dominio IoT. Por este motivo, se cree que los hallazgos de este estudio servirán de mucho para los investigadores y profesionales enfocados en este campo. Un estudio relacionado al presente trabajo, es el llevado a cabo por Conoscenti et al. [8], en la cual conducen una SRL, tiene como objetivo comprobar si Blockchain y los enfoques P2P pueden fomentar un diseño privado y descentralizado para IoT; para lo que recogen datos de la literatura acerca del grado de adaptabilidad, integridad y anonimidad de Blockchain. Por nuestra parte, nuestra SLR tiene el objetivo de analizar el estado de arte de la adopción de Blockchain en dominios IoT, específicamente en la identificación y análisis de las áreas de aplicación que comprenden esta integración, la determinación de las principales ventajas e inconvenientes que produce, la identificación y descripción de las características y componentes de las arquitecturas IoT-Blockchain, y la definición de enfoques predominantes existentes en las arquitecturas IoT-Blockchain. Por otro lado, desde un enfoque del uso de Blockchain como parte del sector financiero, específicamente para la fabricación y cadenas de suministros de la industria, Calzadillas y Villa en [9] realizan una “Systematic Review in the Social Sciences” bajo los lineamientos dados por Petticrew y Roberts en [10], en donde se orientan las preguntas de investigación a los tipos de actividades logísticas relacionadas con Blockchain, además del análisis de las publicaciones realizadas, teniendo en cuenta el país, región y año de correspondencia

1.2. Objetivos Este trabajo fin de máster tiene como objetivo principal analizar el estado del arte actual de la integración de la tecnología Blockchain en el dominio IoT. Derivado del objetivo principal anteriormente mencionado se proponen los siguientes objetivos específicos:

Identificar, clasificar y analizar las principales áreas de aplicación actuales de la integración de Blockchain en el dominio IoT.

Identificar y analizar las ventajas que existen en la integración de Blockchain en el dominio IoT.

Identificar y analizar los inconvenientes que existen en la integración de Blockchain en el dominio IoT.

Page 14: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 6

Identificar, analizar, clasificar, describir y resumir las arquitecturas y componentes de la integración de Blockchain en el dominio IoT.

Identificar y analizar el enfoque actual predominante en las arquitecturas que integran Blockchain en el dominio IoT.

1.3. Metodología En el presente trabajo fin de máster se realizan las siguientes actividades: (i) Estudio de IoT. (ii) Estudio de Blockchain. (iii) Revisión sistemática de la literatura (Systematic Literature Review, SLR) sobre la aplicación de Blockchain en IoT. (iv) Análisis de los resultados obtenidos de la SLR. La SLR se realiza siguiendo las directrices de Kitchenham y Charters dados en [11] , así mismo se utiliza la técnica de síntesis temática (Thematic Syntesis), para la extracción y síntesis de datos, como lo detalla Cruzes y Dybå en [12]. En esta SLR se tiene en cuenta el estado del arte actual obtenido de las bases de datos seleccionadas; y así mismo es desarrollada en sus tres pasos establecidos: Planificación de la revisión, conducción de la revisión e informe de los resultados.

1.4. Estructura del trabajo El presente estudio está estructurado en seis capítulos que se describen a continuación: Capítulo 1. En este capítulo, se da una breve introducción, se menciona la metodología utilizada, y la motivación que ha llevado a realizar el presente estudio. Capítulo 2. En este capítulo, se introduce conceptos previos en relación a el Internet de las Cosas y Blockchain, a fin de poner en contexto los términos que son utilizados a los largo de este estudio. Capítulo 3. En este capítulo, se describe en forma minuciosa el procedimiento seguido para la realización de la revisión sistemática de la literatura, además del proceso de extracción de datos y su síntesis correspondiente. Capítulo 4. En este capítulo, se dan a conocer y se analizan los resultados de la revisión sistemática de la literatura Capítulo 5. En este capítulo, se presenta un resumen y se incluyen conclusiones del estudio, además de los trabajos futuros. Capítulo 6. En este capítulo, se enumeran los recursos utilizados para la realización del presente estudio mediante referencias.

Page 15: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 7

2. Capítulo 2. Conceptos previos 2.1. Internet of Things (IoT)

2.1.1. Conceptos básicos

La llegada del internet y su disrupción en los entornos que abarca, generó grandes avances y cambios en las relaciones humanas, actividades y organizaciones sociales. El término “Internet” hace referencia a una gran cantidad de categorías y protocolos implementados en una red de computadores interconectados [1]. En la actualidad el término “Internet of Things” está enfocado específicamente a la interacción entre el humano y los objetos (Things). En 1999, K. Ashton consiguió el permiso para emplear el término “Internet of Things” para una presentación sobre la gestión de cadenas de suministros [13]. Él sustentó que debido al avance de la tecnología de la computación, el internet y otros similares; el término “Things” se relaciona ampliamente con la forma en que interactuamos y vivimos en este mundo físico y por consiguiente necesita una mayor importancia. Específicamente, este término puede abarcar los dispositivos inteligentes, sensores, seres humanos y cualquier otro objeto que sea consciente de su contexto y pueda comunicarse con otras entidades, haciéndolo accesible en cualquier momento y en cualquier lugar [1]. Un concepto de IoT desde un enfoque en el usuario y sin restringirla a ningún protocolo de comunicación lo expone Gubbia et al. [14], el concepto es el siguiente: “IoT is the interconnection of sensing and actuating devices providing the ability to share information across platforms through a unified framework, developing a common operating picture for enabling innovative applications. This is achieved by seamless ubiquitous sensing, data analytics and information representation with Cloud computing as the unifying framework.” 1

1 Traducción al español: IoT es la interconexión de dispositivos de detección y activación, que proporciona la capacidad de compartir información entre plataformas a través de un entorno unificado, desarrollando una imagen operativa común para permitir aplicaciones innovadoras. Esto se logra mediante una detección ubicua sin fisuras, el análisis de datos y la representación de la información con la computación en la nube como entorno unificador.

Page 16: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 8

[15] IoT es considerado un paradigma, el cual hace referencia a múltiples conexiones de una red de objetos cotidianos. Mattern y Floerkemeier en [16], lo consideran una evolución de internet con una interconectividad más extensa, mejor percepción de la información y servicios inteligentes optimizados. Adicionalmente, existen tres tipos de paradigmas en Internet of Things identificados por Atzori et al. [17], los cuales son los siguientes: Orientado a internet (middleware), orientado a las cosas (sensores) y orientado a la semántica (conocimiento). En donde solo la total utilidad de IoT es alcanzada cuando se emplean los tres paradigmas.

Gráfico 2.1. Concepto de IoT. Recuperado de [15].

Gráfico 2.2. Esquema IoT con usuarios finales y áreas de aplicación. Recuperado de [14].

Page 17: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 9

Elena-Lenz menciona en [18], que IoT posee seis características inherentes, las cuales abarcan un conjunto de capacidades, estas son las siguientes: Inteligencia. Es proporcionada por la combinación de algoritmos y cálculos

computacionales que son empleados en IoT; esta combinación proporciona una “chispa inteligente”, los que nos permite alcanzar funcionalidades de productos inteligentes.

Conectividad. IoT proporciona accesibilidad y compatibilidad de la red. La accesibilidad en el sentido de poder interactuar en una red, mientras que la compatibilidad obtenida mediante la capacidad común de consumir y producir datos.

Percepción. Dado por los sensores de detección de IoT, los cuales brindan medios para crear experiencias, que reflejan una profunda y verdadera percepción del mundo físico y de las personas que lo rodean.

Expresión. IoT brinda los medios para crear productos que interactúen de

manera inteligente con el mundo físico y las personas. Energía. La recolección de energía, la eficiencia energética y la infraestructura

de carga son partes necesarias de un ecosistema inteligente IoT, esto se debe tener en cuenta en el desarrollo del diseño.

Seguridad. IoT asegura, dependiendo de sus posibilidades, los endpoints, las

redes, los datos, etc., todo lo que circule a través de las redes, creando un paradigma de seguridad escalable.

IoT desde un punto de vista técnico, no es una solución novedosa, ya que dentro de esta subyacen tecnologías que proporcionan capacidades/elementos ya conocidos y trabajados (ver Gráfico 2.3), estas tecnologías deben ser vistas de forma holística para lograr cerrar la brecha del mundo físico con el mundo virtual. Estas capacidades/elementos esenciales son las siguientes [16]: o Comunicación y cooperación. Los objetos pueden conectarse a la red IoT

con los recursos de Internet o incluso entre sí; con la finalidad de acceder a datos, servicios, y actualizar su estado. Las tecnologías inalámbricas como GSM (Global System for Mobile) y UMTS (Universal Mobile Telecommunications Service), Wi-Fi (Wireless Fidelity), Bluetooth, ZigBee y las redes de área personal inalámbricas (WPAN), son algunos ejemplos.

o Capacidad de ser encontrado. Dentro de IoT, los objetos pueden ser ubicados

y dirigidos vía detección automática, búsqueda o por el nombre de dominio; y por ende, poder solicitar información o configurarse de forma remota.

o Identificación. Los objetos poseen una identificación única, incluso objetos

pasivos que no tienen recursos de energía incorporados. Algunos ejemplos que

Page 18: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 10

hacen posible esta capacidad son: RFID (Radio Frequency Identification), NFC (Near Field Communication) y códigos de barras.

o Detección. Los objetos pueden recuperar información sobre su entorno, por

medio de sensores; además, tienen la capacidad de grabar, remitir o reaccionar directamente ante ella.

o Actuación. Los objetos poseen actuadores con los que pueden manipular su

entorno; esto es posible mediante la conversión de señales eléctricas en movimiento mecánico.

o Procesamiento de información integrada. Los objetos inteligentes cuentan

con un procesador e interpretador de información, asimismo poseen capacidad de almacenamiento.

o Localización. Los objetos IoT son conscientes de su ubicación física, y pueden

ser localizados. El GPS (Global Positioning System) o la red de telefonía móvil son tecnologías adecuadas para lograr esto.

o Interfaces de usuario. Los objetos inteligentes pueden interactuar con las

personas de una manera adecuada y fácil mediante las interfaces de usuario; como por ejemplo la interfaz que posee un teléfono móvil inteligente.

2.3.2. Arquitectura IoT La arquitectura de IoT no es universal, existen muchas propuestas por diferentes autores, pero la mayoría enfatiza en tres capas como parte de la arquitectura [3]: (i) Capa de percepción, que se encarga principalmente de recuperar información de las “Things” y convertirlos en formato digital. (ii) Capa de red, es el medio por donde se envía la información. (iii) Capa de aplicación, es responsable de la aplicación de señales digitales recibidas en diferentes entornos (ver Gráfico 2.4). A continuación se describen las capas con más detalle.

Gráfico 2.3. Capacidades/elementos de IoT. Recuperado de [2]

Page 19: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 11

[19] 1. Capa de percepción. Es la capa que recupera los datos del entorno del mundo físico, de los dispositivos y de objetos heterogéneos; estos pueden ser, datos de temperatura, humedad, etc. Adicionalmente, esta capa desempeña un papel de procesamiento de diversos tipos de datos de las redes de sensores inalámbricos a formato digital. Los sensores y otros objetos del mundo real en IoT, pueden ser: Actuadores, cámaras, terminales de GPS, etc. 2. Capa de red. Es considerada el cerebro, y la capa central y más desarrollada de la arquitectura IoT, dado que el procesamiento de datos se realiza en esta capa, como resultado de la gestión de IoT y el centro de datos. Además, esta capa de red entrega la información recopilada en la capa de percepción a múltiples aplicaciones y servidores, facilitando la transmisión segura de datos. La capa de red consiste además en una convergencia de redes de comunicación e Internet. Las tecnologías alámbricas, inalámbricas y satelitales han contribuido enormemente a este fenómeno que se produce en esta capa de la arquitectura IoT. 3. Capa de aplicación. La capa de aplicación es la tecnología IoT combinada con la experiencia de la industria, para lograr un amplio conjunto de aplicaciones inteligentes y manejar su administración global. Además, esta capa integra las funciones del sistema de IoT para crear aplicaciones prácticas, como el entorno ecológico y el monitoreo de desastres naturales, el transporte inteligente, el monitoreo de la salud, el monitoreo de la salud médica y de la salud, entre otros. Asimismo, esta capa de aplicación sigue unos estándares y protocolos específicos. Algunos autores han discutido y planteado una arquitectura de cinco capas [3] para facilitar una mayor generalización. Esta arquitectura está comprendida por las siguientes capas: Objetos, abstracción de objetos, gestión de servicios, capa de aplicación y capa de negocio, como se muestra en el Gráfico 2.5.

Gráfico 2.4. Arquitectura genérica para IoT. Recuperado de [19].

Page 20: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 12

2.3.3. Aplicaciones de IoT

Las aplicaciones de IoT permiten alcanzar el paradigma de un mundo físico con total bienestar y comodidad a los usuarios; dado su auge y desarrollo actual, este puede encontrarse establecido en muchos ámbitos. En el Gráfico 2.6 se puede observar una proyección del mercado para las aplicaciones de IoT al 2025 [2]. A continuación se mencionan las principales aplicaciones de IoT.

Gráfico 2.5. Arquitectura para IoT con cinco capas. Recuperado de [3].

Gráfico 2.6. Proyección del mercado para las aplicaciones de

IoT al 2025. Recuperado de [2].

Page 21: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 13

1. Cuidados médicos y bienestar. Los usuarios finales de IoT pueden realizar sus

revisiones médicas, obtener diagnósticos y realizar consultas de salud basadas en patrones médicos establecidos, estos patrones pueden estar implementados en una aplicación web en dispositivos móviles inteligentes [20], mejorando el tratamiento de la gente que vive lejos de un hospital y no puede realizar visitas constantes. Además IoT permite realizar mediciones de temperatura, presión de la sangre y respiración mediante sensores ubicados en el cuerpo del paciente [3], a fin de ser monitoreado por un médico. También puede permitir, mediante el empleo de machine learning, automatizar llamadas al médico, o a una ambulancia en caso de que el paciente muestre signos anormales [21].

2. Ciudades Inteligentes (Smart City). Es considerado un concepto el cual nace

de la sinergia de la interconexión de sectores industriales claves y de servicios, tales como: Smart Governance, Smart Mobility, Smart Utilities, Smart Buildings, y Smart Environment [22]. Asimismo, entre las aplicaciones IoT, posee una importante tendencia de crecimiento de inversión, la cual asciende a $ 20.2 millones de dólares para 2020, según Pike Research [23]. Por otro lado, las ciudades inteligentes incluye varias aplicaciones específicas (Gráfico 2.7) como: casas y oficinas inteligentes, control de sistemas avanzados de tráfico, proveedores de agua inteligentes, transporte seguro y automatizado, seguridad y vigilancia, y luces inteligentes [21]; las cuales son relatadas en los siguientes párrafos.

Casas y oficinas inteligentes. Consiste en la gestión de forma remota de

servicios que ofrecen bienestar y seguridad, como también de tareas cotidianas; algunos de estos servicios pueden ser la regulación de temperatura, la calefacción, el aire acondicionado, luces y seguro de puertas, mediante el uso teléfonos móviles [21]. Además, también se puede controlar, la alimentación de mascotas, detección de intrusos, en caso de incendios se puede detectar el humo, etc. [2]

Sistema de control avanzado de tráfico. Se refiere a implementaciones que proporcionan rutas de tráfico idóneas, con la finalidad de evitar la aglomeración de vehículos en una misma vía.

Proveedores de agua inteligentes. Estas aplicaciones permiten, mediante el uso de sensores, detectar fugas de agua y evitar su pérdida.

Transporte seguro y automatizado. Este tipo de implementaciones IoT pueden ser empleado para la vigilancia del tráfico y la recolección de parámetros de autopistas, como el número de vehículos y su velocidad promedio.

Seguridad y vigilancia. Las aplicaciones IoT pueden estar enfocados a la vigilancia de establecimientos, identificando conductas sospechosas de personas, mediante técnicas de reconocimiento de emociones (inteligencia artificial).

Page 22: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 14

3. Agricultura y medio ambiente. En este ámbito, las aplicaciones IoT pueden

realizar pronósticos de cambios climáticos basados en el monitoreo de sensores inteligentes; así como también la medición y el control de la contaminación del medio ambiente (CO2 y los elementos contaminantes presentes en el ambiente), y la gestión de residuos [15].

4. Automatización de la industria. En este rubro, IoT puede permitir el control y

optimización de los procesos de fabricación, mediante el empleo de sensores que controlen la humedad, temperatura, movimiento, fuerza, carga, fugas, y niveles, además de gestionar correctamente los almacenes e impedir la sobreproducción. En general, podemos interconectar una unidad de fabricación a una aplicación IoT diferente y mejorar con esto la productividad [20].

5. Educación. Con respecto a este ámbito, las implementaciones IoT pueden

proporcionar servicios de acceso a bibliotecas virtuales y portales educativos, además de intercambio de informes y resultados en tiempo real, vinculación de aulas virtuales y físicas para el aprendizaje, e-learning más eficiente y accesible, aprendizaje permanente, aprendizaje de idiomas extranjeros, y gestión de la asistencia.

6. Compras. En esta aplicación, IoT puede realizar compras inteligentes mediante

la identificación de frecuencia de radio (RFID), y también de otras etiquetas electrónicas y lectores. Además, pueden gestionarse los códigos de barras en el comercio minorista; y controlar la procedencia geográfica, la calidad y seguridad de los alimentos y productos.

Gráfico 2.7. Ejemplo de aplicación de IoT en ciudades inteligentes. Recuperado de [15].

Page 23: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 15

7. Gestión de la energía. IoT, en este entorno, puede proporcionar datos precisos sobre el consumo de energía, medición inteligente, análisis y predicción del comportamiento del consumo de energía, y además pronosticar las tendencias y necesidades futuras de energía.

2.3.4. Desafíos IoT Existen actualmente trabajos de optimización pendientes en el dominio IoT, los cuales muestran algunas carencias, características de la tecnología en mención; estos trabajos deben ser abarcados por los investigadores en trabajos futuros. En los siguientes párrafos se mencionan los principales desafíos en la aplicación de la tecnología IoT. 1. Arquitectura. Dado que la mayoría de trabajos están relacionados a las

arquitecturas IoT desde la perspectiva de las redes de sensores inalámbricos [24], se debe investigar e implementar diferentes arquitecturas para cada dominio, ya que un tipo de arquitectura IoT es adecuado solo para un dominio específico [14].

2. Rendimiento. IoT debe mejorar constantemente sus servicios, en

consecuencia se deben supervisar y evaluar el rendimiento de los dispositivos IoT [15]. No obstante, la evaluación del rendimiento de IoT es un reto, ya que para esto se necesita la evaluación de cada tecnología subyacente. Dado esto, la falta de una evaluación a fondo del rendimiento para las aplicaciones de IoT es todavía una cuestión abierta.

3. Escalabilidad. IoT tiene un gasto computacional mucho mayor que el del

Internet convencional, esto es generado por las funcionalidades como la comunicación y el servicio de ubicación de objetos que necesitan funcionar con eficacia en entornos de pequeña y gran escala [16].

4. Fiabilidad. En IoT, una de las partes que requiere mucha atención es la red de

comunicación, dado que esta debe ser resistente a fallos, a fin de realizar una distribución de información fiable; ya que bajo una comunicación fiable se podrá tener un sistema IoT eficiente, de lo contrario se podría presenciar escenarios desastroso y poco fiables [15].

5. Interoperabilidad. Ya que el mundo físico de las cosas es muy diverso, los

objetos (Things) probablemente tengan diferentes capacidades y limitaciones, en otras palabras, que sean objetos heterogéneos. Sin embargo, para facilitar la comunicación y cooperación, se requieren estándares y practicas comunes [16]. Además, las aplicaciones IoT deben tolerar la adición de funcionalidades sin problemas y no perder capacidades mientras se integra con otra tecnología.

Un trabajo futuro claro es la inclusión de estándares de comunicación y protocolos que interactúen en frecuencias diferentes y permitan la integración con diferentes arquitecturas, centralizadas o distribuidas, además de ser capaces de comunicarse con otras redes [15].

Page 24: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 16

6. Seguridad y privacidad. La seguridad y privacidad en IoT no es fácil de

garantizar, dado que esta tecnología posee redes heterogéneas. También se debe tener en cuenta que IoT realiza intercambios de información entre billones de objetos con conexión a Internet [15], lo que lo hace vulnerable. Como parte de este desafío, se requiere limitar el acceso de los objetos (Things) a ciertos servicios, o evitar que se comuniquen entre ellos en determinados momentos o de forma descontrolada, por cuestiones propias de seguridad [16].

Adicionalmente, Khan et al. abarcan en su estudio [25] algunos desafíos claves en dominios IoT, entre los cuales una gran mayoría están relacionados a la seguridad y privacidad; además, este desafío es considerado por diferentes autores en sus estudios [26][27][28][29][30][31] [32]. Dado esto, se puede inferir que este desafío forma parte de una de las preocupaciones latentes e importantes en el dominio IoT.

Page 25: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 17

2.2. Blockchain

2.2.1. Conceptos básicos

La fama que ha obtenido Blockchain, tiene origen en su primer empleo como tecnología subyacente en las criptomonedas Bitcoin, el funcionamiento de dicha moneda digital se encuentra en la publicación de 2008 por Nakamoto Bitcoin: A Peer-to-Peer Electronic Cash System [33], en la cual, desde un punto de vista financiero, se propone un sistema de pago electrónico sin la intervención de la entidad financiera como tercera partición (ver Gráfico 2.8). Cabe resaltar que actualmente el término Blockchain no tiene una definición universal, y que no fue específicamente adoptada ni mencionada por Nakamoto en su artículo antes citado, refiriéndose él únicamente a una “cadena de bloques” [34].

Blockchain es, de manera práctica y esencial, una base de datos distribuida de registros o un gran registro público, que contiene, en una lista de bloques, todas las transacciones confirmadas o eventos digitales que se han ejecutado y compartido entre las partes participantes mediante una red Peer to Peer [35].

De manera general, la tecnología Blockchain realiza principalmente tres actividades como parte de su funcionamiento: (i) Valida la información de entrada. (ii) Asegura la información de entrada. (iii) Preserva el registro de actividades [35].

Blockchain, como lo describen Nofer et al. [4], consiste en un grupo de datos, los cuales son compuestos por una cadena de paquetes de datos (bloques). Un bloque puede contener muchas transacciones y puede ser validado por la red mediante el uso de criptografía. Además de las transacciones, un bloque posee

Gráfico 2.8. Transacciones mediante un intermediario vs. Transacciones Peer to Peer. Recuperado de [44].

Page 26: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 18

una marca de tiempo, un valor hash del bloque previo y un nonce, este último es un número aleatorio para verificar el hash (ver Gráfico 2.9). Para validar una transacción, los nodos de Blockchain, que pueden ser diferentes tipos de computadores, llegan a un acuerdo entre ellos, llamado consenso. Luego de la validación, la transacción es almacenada en un gran registro y no podrá ser modificada (ver Gráfico 2.10).

[36]

[37]

Adicionalmente, la tecnología Blockchain posee características claves [36], que son mencionadas y descritas a continuación.

1. Descentralización. Las transacciones Blockchain pueden ser conducidos entre

dos Peers (P2P), sin la necesidad de una tercera partición que autentique dicha transacción. La descentralización reduce los costos de servidores centrales y los bottlenecks característicos de estos (ver Gráfico 2.11).

Gráfico 2.9. Ejemplo de Blockchain, el cual consiste en una secuencia continuada de bloques. Recuperado de [36].

Gráfico 2.10. Validación en Blockchain. Recuperado de [37].

Page 27: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 19

[38] 2. Persistencia. La difusión de todas las transacciones a través de red, para su

validación, verificación y confirmación en los bloques distribuidos, hace que estas sean casi imposible de manipular o alterar.

3. Anonimidad. Los usuarios participantes de la red Blockchain, pueden

interactuar en esta red con una dirección generada, y así evitar la exposición de su identidad real.

4. Auditabilidad. Las transacciones pueden ser verificadas y rastreadas

fácilmente por los usuarios, ya que estas son validadas y registradas con una marca de tiempo (timestamp).

5. Determinación de consenso. Según los tipos de Blockchain (ver Sección

2.2.2), se puede determinar qué grupos de nodos conformantes de la red Blockchain realizarán el consenso.

6. Inmutabilidad. Dado que cada nodo posee una copia de todas las

transacciones realizadas en la red, es casi imposible que se vulnere una red Blockchain.

7. Eficiencia.- Se considera un tiempo significante para la propagación de

transacciones y bloques, dado que existe normalmente una gran cantidad de nodos en una red Blockchain.

8. Centralidad.- Existen algunos tipos de Blockchain (ver Sección 2.2.2) que

poseen un nivel de centralidad, que les otorga posibilidades y limitaciones diferentes.

Gráfico 2.11. (a) Sistema centralizado. (b) Sistema descentralizado. Recuperado de [38].

Page 28: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 20

9. Proceso de consenso.- La participación en el proceso de consenso de los nodos en Blockchain, es relativo al tipo de Blockchain (ver Sección 2.2.2) que se implemente. Dado que algunos pueden ser libres (de acceso libre a cualquier nodo) u otras pueden requerir permisos.

2.2.2. Tipos de Blockchain

Los tipos de Blockchain que existen son básicamente tres [39]: Blockchain pública, Blockchain privada y consorcio Blockchain (ver Tabla 2.1). En la red pública Blockchain, no se necesita un permiso para acceder o participar de ella. Las redes Blockchain privadas y de consorcio son normalmente gestionadas para entornos limitados, como empresas o compañías. Estos tipos de Blockchain son detallados debajo. 1. Blockchain Pública. Este tipo de Blockchain es considerada “completamente

descentralizada” y además posee protocolos open source. En una Blockchain pública todo nodo, sin permiso como requerimiento, puede realizar operaciones de lecturas, puede enviar transacciones y esperar su respectiva validación, y además puede participar del proceso de consenso. Este tipo de Blockchain, normalmente es asegurado por la combinación de incentivos económicos, y la verificación criptográfica, esta última se realiza mediante mecanismos como la Proof of Work (PoW), la Proof of Stake (PoS) o cualquier otra.

2. Consorcio Blockchain. Este tipo de Blockchain opera normalmente en el

entorno bancario, y es considerado parcialmente descentralizado. Además, este Blockchain no permite el acceso a nodos para la participación del proceso de consenso o validación, por el contrario, el consenso se desarrolla con un grupo de nodos preseleccionados. Las operaciones de lectura pueden ser públicas o restringidas para los participantes. Adicionalmente, el consorcio Blockchain puede ser muy rápido (altamente escalable), proporcionar privacidad en las transacciones, y reducir transacciones y redundancia de datos.

3. Blockchain Privada. Es un tipo de red Blockchain, en donde se requiere un

permiso para realizar operaciones de escritura, ya que esta se mantiene solo para una organización específica; por otro lado las operaciones de lectura pueden ser restringidas o públicas. Es posible que este tipo de Blockchain contenga una gestión de base de datos o la auditoria de una sola compañía/empresa/entidad. A pesar que este tipo de Blockchain tiene sus riesgos de seguridad propios de una red centralizada, posee casos de usos, especialmente cuando se trata de gestionar una adecuada escalabilidad, el cumplimiento estatal de las reglas de privacidad de datos, y otros relacionados a asuntos regulatorios.

Page 29: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 21

Tabla 2.1. Comparación entre los tipos de Blockchain (Pública, Privada y de Consorcio). Traducida al

español y recuperada de [36]

Propiedad Blockchain Pública Consorcio Blockchain Blockchain Privada

Determinación del Consenso

Todos los mineros Grupo seleccionado de

nodos Una organización o

empresa

Permiso de lectura Pública Podría ser pública o

restringida Podría ser pública o

restringida

Inmutabilidad Casi imposible de ser

manipulada Puede ser manipulada Puede ser manipulada

Eficiencia Baja Alta Alta

Centralizada No Parcial Si

Proceso de consenso

No requiere autorización Requiere autorización Requiere autorización

2.2.3. Plataformas Blockchain

El desarrollo de Blockchain ha sido impulsado por la gran demanda de la tecnología actual, por esta razón existen muchas plataformas Blockchain disponibles. A continuación se detallará algunas de las más importantes. 1. Bitcoin. Es dinero digital y un sistema de forma de pago Online, que opera de

manera independiente a una central bancaria, además tiene como tecnología subyacente a una red Blockchain pública. Bitcoin para regular la generación de las unidades de dinero y las transferencias de fondos, utiliza técnicas de cifrado. Además, todos los pagos realizados en esta plataforma son registrados en todos los nodos (computadores o clientes) [33].

2. Ethereum. Es un proyecto utilizado para desarrollar tecnologías, en las cuales

se puedan implementar todos los conceptos basados en transacciones, en un entorno en el que los individuos/nodos no tengan medios para confiar entre sí. En otras palabras, Ethereum es una máquina de estados basada en transacciones, esta comienza con un estado génesis y cada vez que se ejecuta una transacción se modifica el estado de la máquina. Asimismo, los estados están compuestos por varios datos, entre ellos por objetos llamados “Sistemas de Account”, en donde cada Account contiene un Nonce-Counter, que se utiliza para asegurar que una transacción se procese solo una vez. Además, la transferencia de un valor e información es llamada transición de estado [40].

Adicionalmente, Ethereum tiene su moneda, con la finalidad de impulsar el cálculo computacional en la red, esta moneda es llamada Ether o ETH.

3. Hyperledger. Es una red privada Blockchain, la cual fue iniciada en diciembre

de 2015 bajo la dirección de la fundación Linux, para un desarrollo Blockchain open source, y la optimización del rendimiento y confiabilidad de estos sistemas. Hyperledger tiene un tipo de plataforma Blockchain modular [40] y a la vez es una colaboración global que puede incluir líderes en banca, finanzas, Internet de las Cosas, fabricación, cadenas de suministros y tecnología [41].

Page 30: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 22

Existen cinco tipo de Hyperledger [40]: Burrow (Eris [42]) , Fabric, Indy, Iroha y Sawtooth.

4. Multichain. Es una plataforma externa para la creación y despliegue de

Blockchains privadas, dentro o entre organizaciones. Esta plataforma en lugar de admitir una sola red Blockchain como por ejemplo Bitcoin y MultiChain, puede trabajar con diferentes Blockchains al mismo tiempo, además de poder ser configurada fácilmente [43]. Asimismo, esta plataforma resuelve los problemas relacionados con la gestión integrada de permisos de usuario, la minería, la privacidad y la accesibilidad. Multichain proporciona privacidad y el control necesario a fin de impulsar el despliegue de Blockchain en el sector financiero institucional, sus objetivos principales son tres: (a) Garantizar que las actividades de Blockchain solo sean visibles para los participantes seleccionados. (b) Introducir controles sobre las transacciones permitidas. (c) Permitir que la minería se realice de manera segura, sin Proof of Work (PoW) y sus costos computacionales asociados.

5. Corda. Es una plataforma con un gran registro distribuido, que tiene por

finalidad registrar y procesar acuerdos financieros, además de estar especializado para ser usado con instituciones reguladoras de finanzas. Corda es inspirado por sistemas Blockchain pero sin el diseño tradicional inapropiado para muchos escenarios financieros. Adicionalmente, posee la capacidad de realizar validaciones entre pares, coordinar el flujo de trabajo sin una tercera partición, realizar diversos algoritmos de consenso, y usar herramientas estándares de la industria [40].

2.2.4. Arquitectura Blockchain En esta sección se describe la arquitectura de Blockchain de manera general. Algunas plataformas, como las descritas en la sección anterior, pueden diferir en algún componente que les otorga características relacionadas a su enfoque. 2.2.4.1. Capas de Blockchain En esta sección se proporciona una vista panorámica de las capas de Blockchain (ver Gráfico 2.12); como lo mencionan Singhal et al. en su libro [44], dado que en Blockchain no existe un estándar global, esta división por capas es solo para un mejor entendimiento de esta tecnología. Adicionalmente, tener capas de abstracción ayuda a que el sistema sea más robusto y fácil de mantener; también, hay que tener en cuenta que Blockchain nunca es solo una pieza de tecnología, sino una combinación de principios empresariales, economía, teoría de juegos, criptografía e ingeniería informática. El detalle de cada capa se explica a continuación.

Page 31: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 23

1. Capa de Aplicación. Se trata de una pila de tecnología tradicional para el

desarrollo de software, en donde se codifica las funcionalidades deseadas, y se crea una aplicación para los usuarios finales. Normalmente las aplicaciones desarrolladas solo están integradas a esta capa. Además, Lo ideal es crear aplicaciones que usen Blockchain sabiamente, es decir que el trabajo pesado se realice en la capa de la aplicación, para que el núcleo de la red Blockchain y el tráfico de datos en esta, sean livianos y efectivos.

2. Capa de Ejecución. En esta capa se ejecutan las instrucciones dadas por la

capa de aplicación; además en esta capa se encuentran ubicados todos los nodos de la red Blockchain.

3. Capa de Semántica. Esta capa representa la capa lógica del sistema, ya que

en esta se incluyen un orden en las transacciones y bloques. La validación de las transacciones es realizada en esta capa, luego de haber atravesado las capas anteriormente descritas.

4. Capa de Propagación. Es la capa en la cual se realiza la comunicación Peer

to Peer, que permite a los nodos descubrirse, comunicarse y sincronizarse unos a otros, teniendo en cuenta el estado actual de la red.

5. Capa de Consensos. En esta capa, se logra que todos los nodos participantes

de la red se pongan de acuerdo con un estado coherente del gran registro. La forma de realizar este consenso depende del caso de uso al que se requiere enfocar.

2.2.4.2. Block Un Block consiste principalmente en un Block Header y un conjunto de transacciones junto con su contador de transacciones, que algunas veces es llamado Block Body [45], como se muestra en el Gráfico 2.13.

Gráfico 2.12. Capas de Blockchain. Recuperado de [44].

Page 32: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 24

Un Block Header normalmente posee: Una versión del Block, que indica el conjunto de reglas de validación que sigue el Block. Merkle Tree Root Hash, el cual representa los valores hash de todas las transacciones. Timestamp, que consiste en la marca de tiempo del Block en segundos; este tiempo es considerado desde el 1 de enero de 1970. nBits, el cual representa el umbral objetivo de un Block hash valido. Nonce, es empleado para que los valores hash no puedan ser reutilizados. Hash del bloque previo, es el Valor hash que apunta al Block anterior. 2.2.4.3. Firma digital Los usuarios poseen una clave privada y una clave pública. La clave pública tiene una función de identificador y la clave privada sirve para firmar las transacciones que se emiten por toda la red, manteniendo la confidencialidad. Una firma digital típica involucra dos fases: Fase de firma y fase de verificación (ver Gráfico 2.14) [45]. El algoritmo de firma digital típico utilizado en Blockchain es el algoritmo de firma digital de curva elíptica (ECDSA) [46].

Gráfico 2.13. Estructura del Block de Blockchain. Recuperado de [45].

Gráfico 2.14. Firma digital utilizada en Blockchain. Recuperado de [36].

Page 33: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 25

2.2.5. Algoritmos de consenso

El alcanzar un consenso en un entorno distribuido, descentralizado y con nodos que no confían entre sí, puede implicar una serie de desafíos. Por ello una serie de protocolos son necesarios para garantizar que los registros de los nodos sean consistentes. A continuación se detallan algunos enfoques utilizados para alcanzar el consenso en Blockchain [36]; adicionalmente un resumen y comparativa de estos enfoques puede apreciarse en la Tabla 2.2. 1. Proof of Work (PoW). Es una estrategia de consenso que requiere alto poder

computacional en la autenticación. Es empleada en la red Bitcoin [33]. En la PoW cada nodo calcula constantemente el valor hash del Block Header; el consenso requiere que el valor calculado sea igual o menor que un determinado valor hash dado. En una red descentralizada, todos los participantes/nodos pueden calcular el valor de hash de forma continua, mediante el uso de diferentes nonces hasta que se alcance el objetivo. Todos los demás mineros/nodos (llamados mineros por realizar tareas de minado) deben confirmar mutuamente la exactitud del valor, cada vez que un nodo obtenga un valor relevante. Después de eso, las transacciones en el nuevo bloque serán validadas, por si es el caso identificar el fraude. Luego, la recopilación de transacciones utilizadas para los cálculos se aprueba como el resultado autenticado, que se denota mediante un nuevo bloque en Blockchain. Normalmente, existe un mecanismo de incentivo, el cual otorga una cantidad determinada de la moneda digital al minero que logró obtener el valor hash.

2. Proof of Stake (PoS). Es un enfoque de consenso con mayor ahorro de energía

que PoW. PoS en lugar requerir a los usuario buscar un valor hash, requiere que los usuarios demuestren la cantidad de monedas que poseen, ya que para PoS es menos probable que ataquen la red personas con más monedas. Dado que resulta una elección algo injusta, muchas plataformas combinan enfoques, empiezan con la PoW y con el tiempo tienden a cambian a la PoS. Si se compara con la PoW, PoS resulta más efectivo y con más ahorro de energía, no obstante este enfoque es propenso a ataques a la red.

3. Practical Byzantine Fault Tolerance (PBFT). Es un algoritmo que incluye una

máquina de estado con técnicas de replicación, con la finalidad de tolerar fallos bizantinos hasta en 1/3 de toda la red. Este tipo de consenso es utilizado por la plataforma Blockchain Hyperledger. Además, en el algoritmo PBFT es elegido un nodo en cada ronda, de acuerdo a algunas reglas y con un 2/3 de votos de los nodos a su favor; este nodo elegido es responsable de establecer la transacción. Por lo tanto PBFT requiere que todos los nodos sean conocidos en la red [36].

4. Delegated Proof of Stake (DPOS). DPOS es un consenso democrático y

representativo. Se eligen los delegados de la red para generar y validar bloques, y además estas validaciones de los bloques son de manera rápida, ya que estas se realizan con un grupo reducido de nodos. Asimismo, los

Page 34: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 26

parámetros de la red, como el tamaño e intervalos del bloque podrían ser ajustados por los delegados.

5. Ripple. Es un enfoque que utiliza un algoritmo de consenso en subredes de

confianza colectiva, la cual puede ser aplicada dentro de una red más grande. Puede tener dos tipos de nodos, un nodo servidor participante del proceso de consenso y un nodo cliente para transferir fondos. Asimismo, cada nodo servidor tiene una lista de nodos únicos (UNL), los cuales son consultados para realizar la validación de transacciones y colocarlas en el registro (Blockchain), si los acuerdos recibidos alcanzan el 80%, la transacción se almacenará en el registro.

6. Tendermint. Es un algoritmo de consenso bizantino, similar a PBFT, en el cual

un nuevo bloque se determina en cada ronda. Primero, se selecciona un posible emisor para transmitir un bloque no confirmado en una ronda. Luego, el proceso se puede dividir en tres pasos: (i) Los validadores pre votan para el bloque propuesto por el nodo emisor. (ii) Si el nodo emisor recibe más de 2/3 de los pre votos a favor del bloque propuesto, transmite una confirmación previa para el bloque. (iii) El nodo emisor valida el bloque y difunde nuevamente una confirmación para este bloque. Si el nodo recibe 2/3 de las confirmaciones, el bloque es aceptado. En contraste con PBFT, los nodos bloquean sus monedas para convertirse en validadores.

2.2.6. Aplicaciones de Blockchain La tecnología Blockchain es considerada hoy en día una tecnología emergente, ya que desde sus inicios como tecnología subyacente en las criptomonedas Bitcoin ha ido ganando fama gracias a sus ventajas, es así que tiene aplicaciones en diferentes rubros. En esta sección se detallará primero los patrones genéricos de aplicación de Blockchain, y luego un resumen, mediante la Tabla 2.3, en la que se mencionan los principales casos de usos de Blockchain.

Tabla 2.2. Comparación de algoritmos de consenso. Recuperado de [36].

Page 35: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 27

2.2.6.1. Patrones genéricos de aplicación Con base en las propiedades de Blockchain y su característica de ser un almacén para todo tipo de datos, se puede mencionar los siguientes patrones de uso genéricos [5]: - Proof of existence. En relación a este patrón, Blockchain proporciona almacenamiento de datos, el cual puede ser aprovechado para implementar aplicaciones que puedan verificar la existencia de estos datos. Estas aplicaciones específicamente podrían abarcar, por ejemplo: Registros de artículos que se supone que son únicos, como nombres de marcas, patentes, códigos de licencia y direcciones de Internet o correos electrónicos. - Proof of nonexistence. De manera similar al anterior patrón de uso, se puede obtener formas de verificar si no existen entradas o elementos específicos en la cadena de bloques de Blockchain. Algunos ejemplos de aplicaciones de esto podrían ser: Registros de quejas, multas o condenas, etc. - Proof of time. Dado que cada dato agregado en Blockchain posee una marca de tiempo, esto puede proporcionar una correcta gestión de la trazabilidad de los datos. Las aplicaciones que se benefician de esta capacidad son aquellas que rastrean la ocurrencia de eventos por el tiempo, como el seguimiento de la entrega o notificación, el seguimiento de los pagos, el seguimiento de la apertura y cierre ordenado de los procedimientos de licitación pública, y la gestión de predicciones. - Proof of order. El empleo de Blockchain permite la capacidad de ordenamiento, la cual puede ser aprovechada por las aplicaciones que rastrean el orden relativo de los eventos, por ejemplo: El seguimiento de los procesos de las solicitudes, la auditoría de los procedimientos de licitación pública y los servicios de depósito en garantía. - Proof of identity. Este patrón de uso de Blockchain puede ser empleado para identificar a alguien o algo, además de proporcionar conceptos básicos de seguridad para la identificación y la autenticación. Las aplicaciones que se pueden beneficiar de esta capacidad de Blockchain son las relacionadas a los documentos de identidad digital para personas, animales o productos. Asimismo, los gobiernos podrían utilizar Blockchain como parte de su estrategia de gobierno electrónico, para administrar documentos personales, licencias de conducir o pasaportes. - Proof of authorship. En este caso, Blockchain puede ofrecer la posibilidad de demostrar que una persona o institución específica agregó ciertos datos en su registro. Además, ofrece conceptos de seguridad tales como identificación, autenticación y autorización. Algunas aplicaciones específicas en relacionan a esta posibilidad de Blockchain pueden ser, por ejemplo: Las publicaciones electrónicas, el seguimiento de cambios de contenido en documentos, la entrega de contenido, la edición colaborativa y la protección de derechos de autor. - Proof of ownership. Este patrón de uso de Blockchain está enfocado en la gestión de la propiedad; se basa en la Proof of Existence, la Proof of Order, la Proof of Identity y la Proof of Ownership, junto con tres conceptos de seguridad:

Page 36: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 28

Identificación, autenticación y autorización. Los entornos de aplicación de este patrón de uso pueden ser, por ejemplo: Los sistemas de administración de la propiedad de bienes raíces, los automóviles, las acciones de compañías, los bonos, el dinero digital o monedas criptográficas.

2.2.6.2. Principales casos de usos de Blockchain A continuación, se resume en la Tabla 2.3 los principales casos de usos de Blockchain, clasificados por tipos como finanzas, Internet de las cosas (IoT), servicios sociales y públicos, sistema de reputación, y seguridad y privacidad; y además dicha tabla contiene con una breve descripción obtenida de [36].

Tabla 2.3. Principales casos de uso de Blockchain. Información recuperada de [36]

Tipo Aplicación Descripción

Finanzas Servicio financieros

Brinda una mejor compensación y liquidación de activos financieros, y la reducción de costos y riesgos en la garantía de derivados financieros.

Transformación de empresas

Permite que las organizaciones tradicionales completen su transformación, implementando nuevas funcionalidades y servicios más eficientes.

Mercados financieros Permite construir un mercado financiero P2P, lo cual le otorga seguridad y confiabilidad.

Gestión de riegos Puede integrarse con la gestión de riesgos para obtener mejores resultados para la tecnología financiera (FinTech)

Internet de la Cosas

E-Business Se puede realizar comercio electrónico y transacciones de propiedades basadas en Blockchain y Smart Contract.

Seguridad y privacidad Puede proporcionar una mejora en la privacidad de las aplicaciones de IoT

Servicios sociales y públicos

Registro de tierras La información de las tierras, como el estado físico y los derechos relacionados, se puede registrar y publicar en Blockchains.

Ahorro de energía El fomento del uso de energías renovables, se puede emplear estímulos de criptomonedas para proveedores de energía verde.

Educación Mercado educativo Online.

Libertad de expresión Protege los derechos de libre expresión Online, al hacer que la web sea más resistente a la censura.

Sistemas de reputación

Académico Para permitir que un historial educativo y su reputación sean inmutable.

Comunidad Web Puede evaluar la reputación de un miembro en una comunidad web, sin que sea removido o alterado.

Seguridad y privacidad

Mejorar la seguridad Puede potencialmente ayudar a mejorar la seguridad de las redes distribuidas contra nodos maliciosos.

Protección de la privacidad

Puede mejorar la seguridad de los datos confidenciales de privacidad expuestos en redes sociales o aplicaciones.

Page 37: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 29

2.2.7. Desafíos

A pesar de las amplias áreas en las que pueden ser aprovechadas las ventajas de la tecnología Blockchain, se pueden determinar falencias y trabajos pendientes de mejora en esta tecnología, dado que esta se encuentra en sus primeros años de desarrollo. En esta sección se presentan los principales desafíos que implican la implementación de una red Blockchain pública. 1. Escalabilidad. Dado que la demanda de la cantidad de transacciones crece

día a día, Blockchain se hace mucho más pesado; un ejemplo claro destaca en Bitcoin, que actualmente ha sobrepasado los 100 GB de almacenamiento [36]. Además de eso, todas las transacciones tienen que ser validadas y en el caso de Bitcoin, Blockchain no puede cumplir el procesamiento de millones de transacciones eficientemente, ya que solo procesa 7 transacciones por segundo. Es importante señalar, que una de los principales riesgos de la mala gestión de la escalabilidad en Blockchain es la tendencia hacia la centralización de Blockchain [6]. Dado estas dificultades, la escalabilidad es un problema importante en Blockchain.

Sin embargo, este inconveniente pueden ser abarcado de dos maneras según Zheng et al. en [36]: (i) Optimizando el almacenamiento, es decir, borrando transacciones antiguas. (ii) Rediseñando Blockchain, que consiste en desacoplar el Block convencional, en un key block para la elección de líder y en un microblock para almacenar las transacciones.

2. Rendimiento. Blockchain por su naturaleza descentralizada y distribuida,

tiende a ser más lento que las bases de datos centralizadas. Sin embargo, Blockchain tiene que realizar las mismas actividades que las bases de datos centralizadas, y además posee tres cargas adicionales que afectan su rendimiento, estas son las siguientes [6]: La verificación de firmas, mediante un esquema de criptografía pública y privada (ECDSA). El mecanismo de consenso, lo que implica una comunicación ida y vuelta y/o lidiar con bifurcaciones en la red. La Redundancia, ya que se procesan todas las transacciones en cada nodo de la red.

3. Privacidad. En Blockchain los detalles de todas las transacciones, los bienes,

la cantidad que se transfiere, las cuentas involucradas, y el momento de la transferencia son accesibles para todos. Esto es necesario para que se pueda conocer la propiedad y verificar nuevas transacciones. Obviando ese nivel de transparencia Blockchain no podría cumplir con sus funciones [47].

4. Altos costos computacionales. Esta limitación está relacionada con la

escalabilidad. Blockchain tiene que resolver un Puzzle Hash o proporcionar la PoW, ambos computacionalmente costosos. Los costos computacionales se pueden expresar en una variedad de escalas, como en el número de ciclos computacionales, en tiempo físico, en energía eléctrica y en dinero [47].

Page 38: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 30

5. Flexibilidad. Blockchain es una tecnología con una técnica compleja y con una variedad de conceptos y protocolos; y realizar cambios en ese ecosistema afinado es un gran reto. Por otro lado, la inmutabilidad característica de Blockchain no permite corregir errores fácilmente.

Page 39: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 31

3. Capítulo 3. Revisión sistemática de la literatura (SLR) En este capítulo se conduce una revisión sistemática de la literatura (SLR) del estado del arte de dos tecnologías, Blockchain e Internet of Things. Esta revisión sigue los lineamientos del protocolo descrito por Kitchenham y Charters en [11]. Una revisión sistemática de la literatura, o a veces llamada revisión sistemática, es un tipo de estudio secundario, que tiene como función principal identificar, evaluar e interpretar toda la investigación relevante para un grupo particular de preguntas de investigación, área temática o fenómeno de interés. Las principales razones para la realización de una SRL son: (i) Resumir las evidencias existentes con respecto a una tecnología. (ii) Identificar vacíos en la investigación actual. (iii) Proporcionar un área de trabajo para futuras investigaciones. Asimismo las ventajas que ofrece una SRL, son las que se mencionan a continuación: (i) Es menos probable la obtención de sesgos en los resultados de la literatura con la ejecución de una metodología bien definida. (ii) Puede brindar información en relación a los efectos de un fenómeno por de medio de una amplia gama de ajustes y métodos empíricos. (iii) Es posible combinar resultados mediante técnicas de meta-análisis, en estudios cuantitativos. La principal desventaja de este tipo de revisión frente a las revisiones tradicionales, es que se requiere de un esfuerzo considerable por parte de los investigadores que la llevan a cabo. Esta revisión consiste en tres principales fases: Planificación, conducción y el informe de los resultados. La fase de planificación define el protocolo para la ejecución de la revisión, y en la fase de conducción se ejecuta el protocolo antes definido. La fase del informe de los resultados comprende un relato de los resultados de la revisión. El proceso de la revisión también es descrito a detalle por Cheng et al. en [48] (ver Gráfico 3.1).

3.1. Primera fase: Planificación de la revisión

En la planificación de la revisión se define el protocolo para la ejecución de la revisión. Este protocolo especifica de manera previa los métodos que serán usados en la revisión sistemática, con la finalidad de reducir la obtención de una

Page 40: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 32

revisión con resultados parciales o que estos sean impulsados por el interés de la investigación.

El protocolo de la presente fase debe especificar los siguientes: (i) El objetivo de la revisión y las preguntas de investigación, (ii) la estrategia de búsqueda, (iii) los criterios de inclusión y exclusión, (iv) los criterios de evaluación, y (v) la estrategia de extracción y síntesis de datos [11].

Gráfico 3.1. Pasos de una SLR. Recuperado de [48].

Page 41: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 33

3.1.1. Objetivo de la revisión y preguntas de

investigación El objetivo de esta revisión es analizar el estado del arte actual de la integración de la tecnología Blockchain en el dominio IoT. El objetivo mencionado se instrumentó en base a las siguientes preguntas de investigación (PIs): PI1: ¿En qué áreas actualmente se está aplicando la integración de Blockchain

en el dominio IoT? PI2: ¿Cuáles son las principales ventajas que existen en la integración de

Blockchain en el dominio IoT? PI3: ¿Cuáles son los principales inconvenientes que existen en la integración de

Blockchain en el dominio IoT? PI4: ¿Qué arquitecturas existen, que integran Blockchain en el dominio IoT, y

cuáles son sus principales componentes? PI5: ¿Existe algún enfoque actual predominante en las arquitecturas que integran

Blockchain en el dominio IoT?

3.1.2. Estrategia de búsqueda Una adecuada y formal definición de la estrategia de búsqueda permite una revisión replicable y abierta a las evaluaciones externas. Además, esta búsqueda permite encontrar todo un conjunto de artículos científicos que respondan las preguntas de investigación planteadas anteriormente. En la estrategia de búsqueda de esta revisión nos basamos en cinco (05) bases de datos, que se muestran en la Tabla 3.1; estas bases de datos fueron puestas a disposición por medio del UPMvpn de la Universidad Politécnica de Madrid. Los términos que se incluyen en la cadena de búsqueda fueron recogidos y están relacionados a las preguntas de investigación antes detalladas, excepto el termino Smart City, el cual es considerado por ser un concepto en el que convergen sectores importantes de la industria y los servicios [22]; y por sostener un importante crecimiento de inversión hacia 2020, según Pike Research [23]. La cadena de búsqueda empleada en esta SLR es la siguiente:

“(Blockchain or Distributed Legder Technology or DLT) AND (Internet of Things or IoT or Smart City) AND (Blockchain architecture AND IoT

architecture)”

Page 42: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 34

Tabla 3.1. Recursos de búsqueda.

3.1.3. Criterios de inclusión y exclusión

En el protocolo de la revisión sistemática de la literatura se definen los criterios de inclusión y exclusión. Esto con la finalidad de determinar cuándo un estudio primario deber ser considerado o no, en la revisión. Las listas de los criterios de inclusión y de exclusión son mostradas a continuación:

3.1.3.1. Criterios de inclusión (1) Artículos científicos de estudios primarios en relación a la cadena de búsqueda

definida en la sección anterior. (2) Artículos científicos escritos en inglés en su totalidad. (3) Artículos científicos publicados hasta julio de 2018.

3.1.3.2. Criterios de exclusión (1) Artículos científicos sin disponibilidad de texto completo. (2) Artículos científicos donde el lenguaje principal no sea inglés. (3) Artículos científicos que contemplen el termino Blockchain con un significado

diferente al del ámbito de ciencias de computación. (4) Artículos científicos duplicados. (5) Artículos científicos de estudios secundarios y terciarios. (6) Artículos científicos en proceso de trabajo.

3.1.4. Criterios de evaluación

Los criterios de evaluación complementan los criterios de inclusión y exclusión. Esta evaluación se hará en base al rigor, credibilidad y relevancia de cada estudio primario. Para esto se responderán las preguntas contenidas en la Tabla 3.2.

Fuente de datos Documentación

Bases de datos electrónicas IEEExplore [49]

Digital Library ACM [50]

Elsevier Science Direct [51]

Google Scholar [52]

Springer Link [53]

Page 43: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 35

Tabla 3.2. Criterios de calidad.

Las preguntas pudieron ser contestadas de la siguiente forma: CC1. SI, los autores del estudio definen un objetivo y logran responder o alcanzar dicho objetivo. NO, los autores no clarifican un objetivo definido en el estudio. CC2. SI, los autores del estudio determinan detalladamente el contexto de la investigación. NO, los autores obvian o no definen el contexto de la investigación. CC3. SI, los autores definen claramente los componentes/niveles de las arquitecturas propuestas. NO, los autores no definen los componentes/niveles de las arquitecturas propuestas. CC4. SI, los autores describen los resultados de manera objetiva. NO, los autores describen los resultados subjetivamente.

3.1.5. Estrategia de extracción y síntesis de datos

Esta parte del protocolo y su conducción son desarrolladas en la Sección 3.2.4.

3.2. Segunda fase: Conducción de la revisión

Posterior a la definición del protocolo se realiza la revisión propiamente dicha. Esta fase consta de los siguientes pasos: (i) Búsqueda de estudios primarios, (ii) Selección de estudios primarios, (iii) Evaluación de calidad, (iv) Extracción y síntesis de datos.

ID Criterio

CC1. ¿Hay una clara definición de los objetivos de la investigación? (SI/NO)

CC2. ¿Existe una adecuada descripción del contexto en donde se desarrolla la investigación? (SI/NO)

CC3. ¿Existe una definición clara de los componentes/niveles de la arquitectura propuesta? (SI/NO)

CC4. ¿Hay una clara descripción de los resultados? (SI/NO)

Page 44: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 36

3.2.1. Búsqueda de estudios primarios

Siguiendo la parte del protocolo especificada en la sección 3.1.2, se condujo la búsqueda de los estudios primarios en las cinco bases de datos mencionadas anteriormente. Esta recuperó 759 artículos como se puede ver en la Tabla 3.3.

En la búsqueda realizada que no se encontró ningún estudio secundario ni terciario. Además este primer resultado posee un grado de redundancia mínimo entre las bases de datos, dado que se rechazó tres artículos por encontrarse duplicados. Algunos artículos no disponen de una versión completa del texto, por lo que en estas ocasiones se envió correos electrónicos a los autores disponibles, solicitándoles el acceso.

3.2.2. Selección de estudios primarios

Dado el primer resultado de la búsqueda mencionado en la sección anterior, se procede a realizar una primera lectura, considerando el análisis del título, el resumen, y las conclusiones, teniendo en cuenta los criterios de inclusión y exclusión (ver Sección 3.1.3). En resumen se seleccionan todos los artículos que muestren una propuesta de arquitectura que integre las tecnologías Blockchain e IoT. Después de este análisis se descartan 705 artículos y quedan incluidos 54 artículos (ver Tabla 3.3). Para la mejor gestión, almacenamiento y organización de los artículos seleccionados, se crea una cuenta en Mendeley (ver Gráfico 3.2). Mendeley [54] es un gestor de bibliografías, un lector de PDF, un buscador de información científica y una red social académica en la que se puede compartir citas bibliográficas y publicaciones. Además, este gestor tiene funcionalidades de plug-in en diferentes buscadores y editores de texto, lo que ayuda a reducir las imprecisiones y muchos procesos en este tipo de trabajos.

Tabla 3.3. Resultados de la búsqueda sistemática.

Base de datos Recuperados Incluidos Excluidos

IEEExplore

47

31 (65.96%)

16 (34.04%)

Digital Library ACM 19 10 (52.63%) 9 (47.37%) Elsevier Science Direct 382 4 (1.05%) 378 (98.95%) Google Scholar 133 7 (5.26%) 126 (94.74%) Springer Link 178 2 (1.12%) 176 (98.88%) Total 759 54 (7.11%) 705 (92.89%)

Page 45: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 37

3.2.3. Evaluación de calidad

Esta evaluación se realiza, mediante los criterios de calidad (ver sección 3.1.4), a cada uno de los artículos resultantes de la sección anterior. Finalmente, 34 artículos científicos (62,96%) pasan la evaluación de calidad (Tabla 3.4).

Tabla 3.4. Lista de los artículos primarios seleccionados con su contribución, referencia, año y canal de publicación correspondiente.

Ref. Título del articulo Contribución Año Canal

[55] Cloud-Based Commissioning of Constrained Devices using Permissioned Blockchains.

Arquitectura para IoT con uso de Blockchain para la privacidad,

procedencia y anonimidad de los dispositivos IoT.

2016 ACM

[56] Privacy-preserving Blockchain

based IoT Ecosystem using Attribute-based Encryption.

Arquitectura Blockchain para aplicaciones IoT enfocada en preservar la privacidad en las

transacciones de datos.

2017 IEEE

[57] A Decentralized Solution for IoT Data Trusted Exchange

Based-on Blockchain.

Solución descentralizada IoT basada en Blockchain para intercambio de

datos. 2017 IEEE

[58] Towards an Optimized

BlockChain for IoT.

Arquitectura centralizada ligera basada en Blockchain para IoT con el

propósito de reducir el gasto computacional.

2017 IEEE

Gráfico 3.2. Cuenta en Mendeley, gestor de artículos científicos.

Page 46: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 38

[59] Blockchain-Based Platform

Architecture for Industrial IoT.

Arquitectura IoT con una plataforma Smart-M3 y Blockchain para la

interacción de componentes de IIoT. 2017 IEEE

[60]

Internet of Smart Things – IoST Using Blockchain and

CLIPS to make Things Autonomous.

Diseño Smart Things con clusters Blockchain para la autonomía en la red IoT y comunicación en tiempo

real.

2017 IEEE

[61] Peer to Peer for Privacy and

Decentralization in the Internet of Things.

Arquitectura IoT-Blockchain orientado al almacenamiento de datos de

manera segura y privada. 2017 IEEE

[62] VeidBlock : Verifiable Identity using Blockchain and Ledger

in a Software Defined Network.

Solución basada en Blockchain y registros distribuidos para una

autenticación confiable IoT. 2017 ACM

[63]

ControlChain : Blockchain as a Central Enabler for Access

Control Authorizations in the IoT.

Arquitectura Blockchain para la autorización de acceso en IoT.

2017 IEEE

[64] Towards a new Ubiquitous

Learning Environment Based on Blockchain Technology.

Arquitectura basada en Blockchain que preserva la seguridad y privacidad en entornos de

aprendizaje ubicuos.

2017 IEEE

[65] Vegvisir: A Partition-Tolerant Blockchain for the Internet-of-

Things.

Solución Blockchain para entornos IoT con potencia restringida y el

mantenimiento de la traza. 2018 IEEE

[66] IoT Data Integrity Verification for Cyber-Physical Systems

using Blockchain.

Arquitectura con características Blockchain para la integridad de

datos producidos por CPS. 2018 IEEE

[67] An Out-of-band Authentication Scheme for Internet of Things Using Blockchain Technology.

Esquema para dispositivos IoT basado en Blockchain que ofrece

autenticación segura y fiable. 2018 IEEE

[68]

IoT Service Based on JointCloud Blockchain: The

Case Study of Smart Traveling.

Plataforma JointCloud Blockchain para la fusión de datos e intercambio

de datos confiables. 2018 IEEE

[69] Block-secure : Blockchain

based scheme for secure P2P cloud storage.

Arquitectura basada en Blockchain para almacenaje Cloud seguro y

confiable. 2018

Google Scholar

[70] Secure and Energy-Efficient Handover in Fog Networks

Using Blockchain-Based DMM

Esquema basado en Blockchain para transferencias de datos y defensa de

ataques. 2018 IEEE

[71] A Software Defined Fog Node Based Distributed Blockchain

Cloud Architecture for IoT

Arquitectura Cloud basada en Blockchain, SDN y nodos Fog para

una eficiente gestión de datos. 2018 IEEE

[72]

Trustworthy configuration management for networked

devices using distributed ledgers

Sistema de gestión de configuración basado en un registro distribuido

Blockchain. 2018

Google Scholar

[73] An architecture pattern for trusted orchestration in IoT

Edge clouds

Patrón de Arquitectura W3C con plataforma Blockchain para la

seguridad de identidad, procedencia de datos y no repudio.

2018 IEEE

Page 47: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 39

[74] Continuous Patient Monitoring With a Patient Centric Agent: A

Block Architecture

Arquitectura con registro Blockchain para la privacidad del usuario.

2018 IEEE

[75] A blockchain-based Trust System for the Internet of

Things

Modelo IoT con red Blockchain para la interacción de dominios.

2018 ACM

[76] AlkylVM : A Virtual Machine for

Smart Contract Blockchain Connected Internet of Things

Máquina virtual particionada para la interacción entre IoT y Blockchain.

2018 IEEE

[77] IoTChain: A blockchain

security architecture for the Internet of Things

Arquitectura que combina OSCAR, Blockchain y ACE para operaciones

de autorización de acceso a los recursos IoT.

2018 IEEE

[78]

DistArch-SCNet: Blockchain-Based Distributed Architecture with Li-Fi Communication for a Scalable Smart City Network

Arquitectura Smart City con una red Blockchain, para mejorar la gestión

de energía, la seguridad, la escalabilidad y la disponibilidad.

2018 IEEE

[79] Smart-toy-edge-computing-

oriented data exchange based on Blockchain

Prototipo de juguete Edge computing con una red Blockchain para el

intercambio de datos. 2018

Google Scholar

[80] Blockchain Meets IoT : An Architecture for Scalable

Access Management in IoT

Arquitectura de un sistema de control de acceso basada en Blockchain.

2018 IEEE

[81] Distributed access control on IoT ledger-based architecture

Arquitectura IoT basada en Blockchain para el control de acceso.

2018 IEEE

[82]

DistBlockNet : A Distributed Blockchains-Based Secure SDN Architecture for IoT

Networks

Arquitectura SDN para IoT usando Blockchain, para la protección de amenazas y el control de acceso.

2017 IEEE

[83] Towards Blockchain-based

Auditable Storage and Sharing of IoT Data

Diseño Blockchain para IoT enfocado en el control de accesos, la gestión de datos y el intercambio de datos.

2017 ACM

[84] Towards Better Availability and Accountability for IoT Updates

by means of a Blockchain

Infraestructura Blockchain para la disponibilidad.

2017 IEEE

[85] IoT Data Privacy via

Blockchains and IPFS

Arquitectura modular Consortium para IoT, con Blockchain e IPFS

enfocada en el acceso de datos IoT. 2017 ACM

[86] Towards Data Assurance and

Resilience in IoT Using Blockchain

Solución para drones utilizando Blockchain y Cloud para la

transmisión y recolección de datos. 2017 IEEE

[87]

A Blockchain Connected Gateway for BLE-Based Devices in the Internet of

Things

Diseño IoT con un gateway Blockchain para la gestión de

políticas de privacidad del usuario. 2018 IEEE

[88] On Design Issues and Architectural Styles for

Blockchain-driven IoT Services

Se describen cuatro estilos de arquitectura Blockchain para la

interacción y puesta en marcha de servicios IoT.

2017 IEEE

Page 48: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 40

3.2.4. Estrategia de extracción y síntesis de datos

La extracción y síntesis de datos tienen como estrategia la síntesis temática propuesta por Cruzes y Dybå en [12]. La síntesis temática cuenta con los pasos mostrados en el Gráfico 3.3. Esta estrategia es detallada en las secciones siguientes.

3.2.4.1. Extracción de datos La extracción de datos es una pieza clave en las SRLs, en esta se extrae los datos de los artículos científicos resultantes de los filtros realizados anteriormente, con la finalidad de obtener las respuestas a las preguntas de investigación definidas. Primero, se realizó la lectura de inmersión de todos los artículos científicos seleccionados antes de empezar la extracción de los datos, con la finalidad de estar familiarizados con la profundidad y amplitud de la evidencia. Luego, mediante el uso de una plantilla (Gráfico 3.4), orientada a la obtención de las respuestas de las preguntas de investigación, se ejecuta la extracción de datos correspondiente. Con la finalidad de mejorar la precisión de esta extracción de datos, se empleó el software de análisis de datos llamado Atlas.ti versión 8 [89], con la cual se pudo realizar una gestión de datos mucho más exacta y clara.

Gráfico 3.3. Proceso de la síntesis temática. Recuperado de [12].

Page 49: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 41

Al tener los segmentos de datos extraídos de los artículos, se procedió a su codificación. La codificación consiste en nombrar segmentos de datos con una etiqueta que clasifica, resume y refiere, de forma simultánea, a cada dato. Esta codificación se realizó teniendo en cuenta un enfoque integrado, que emplea tanto el desarrollo inductivo (innovador) de códigos, como un marco organizativo deductivo para los tipos de códigos (lista inicial). Dado que para una SLR es apropiado mantener los segmentos de datos extraídos anteriormente, y se le asignarle un código específico con relación a las preguntas de investigación.

3.2.4.2. Síntesis de datos Al tener los datos codificados se procede a categorizarlos por temas. Los temas agrupan una gran cantidad de material en unidades más significativas y parsimoniosas. Los temas reducen grandes cantidades de código en un número menor de unidades analíticas, y ayudan a comprender incidentes e interacciones locales. Posteriormente, se realiza también la unificación de los temas, en temas de orden superior (ver Tabla 3.5). Estos últimos permiten caracterizar la evidencia mediante ideas generales de todo el conjunto de estudios, con la finalidad de aumentar la claridad en las definiciones y comparación de fenómenos complejos.

Publicación

- Autores. - Titulo. - Año de publicación. - Objetivos

Estudio

- Enfoque Blockchain-IoT - Mejoras obtenidas. - Arquitecturas. - Inconvenientes presentados - Instrumentos/ herramientas. - Tecnologías

Cita

- Cita textual. - Motivo.

1 *

Tiene

1 *

Tiene

Gráfico 3.4. Plantilla para extracción de datos.

Page 50: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 42

Tabla 3.5. Códigos, temas, temas de orden superior y su relación con las preguntas de investigación definidas.

ID PI/relación Código Tema Tema de orden

superior

C1. Estudio en

general Año de publicación

Detalles de publicación

Datos generales C2. Estudio en

general y PI 1 Desafíos/retos Propuesta de

arquitectura de integración C3.

Estudio en general y PI 1

Objetivo

C4. PI 1 Área de aplicación Contexto de arquitectura

Arquitectura de integración.

C5. PI 5 Enfoque de aplicación

C6. PI 4 Y PI 5 Capas/niveles de implementación

Arquitectura

C7. PI 4 Y PI 5 Estilo de la arquitectura

C8. PI 4 Y PI 5 Descripción de la arquitectura

C9. PI 4 Y PI 5 Componentes de arquitectura

C10. PI 4 Y PI 5 Plataformas Blockchain

C11. PI 4 Y PI 5 Algoritmos

Tecnologías adicionales en sinergia.

C12. PI 4 Y PI 5 Protocolos

C13. PI 4 Y PI 5 Plataformas

C14. PI 4 Y PI 5 Técnicas de cifrado/encriptación

C15. PI 4 Y PI 5 Controles de acceso

C16. PI 4 Y PI 5 Máquinas virtuales

C17. PI 4 Y PI 5 Otras tecnologías

C18. PI 2 Ventajas de la integración IoT – Blockchain

Pros

Consecuencias de la integración

C19. PI 2 Optimizaciones de la integración IoT – Blockchain

C20. PI 3 Vulnerabilidades de la integración IoT – Blockchain

Contras

C21. PI 3 Barreras de integración IoT – Blockchain

Page 51: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 43

4. Capítulo 4. Resultados y análisis

Este capítulo corresponde a la tercera fase de la SRL (informe de los resultados) en curso, en el cual se relata los resultados y el análisis correspondiente. Como resultado de las dos primeras fases de esta SRL se recuperó finalmente 34 artículos científicos (ver Tabla 3.4 de la Sección 3.2.3), con la finalidad de responder las preguntas de investigación definidas en la Sección 3.1.1.

4.1. Visión general

4.1.1. Año de publicación En esta sección se tiene en cuenta y se analiza el año de publicación (recogido de los artículos como dato general) de los artículos de esta SLR. El análisis del año de publicación representa un aporte importante para las investigaciones futuras, dado que los investigadores pueden tomar como referencia, el crecimiento o decrecimiento de la tendencia de fenómenos específicos, para poder enfocarse en aspectos de su interés.

Tabla 4.1. Año de publicación de los artículos.

Año de publicación Referencia de articulo Cantidad de publicaciones

2016 [55] 1 (2.94%)

2017 [56] [57] [58] [59] [60] [61] [62] [63] [64] [82] [83] [84] [85] [86]

[88] 15 (44.12%)

2018 [65] [66] [67] [68] [69] [70] [71] [72] [73] [74] [75] [76] [77] [78]

[79] [80] [81] [87] 18 (52.94%)

Page 52: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 44

El Gráfico 4.1 muestra la frecuencia de los artículos seleccionados en este estudio, a lo largo del tiempo seleccionado, de una manera visual. Como se puede apreciar en el Gráfico 4.1, las diferencias en las frecuencias son claras, esto permite determinar y conocer el aumento acelerado de la integración de Blockchain en IoT, entre los años 2017 y 2018, que a diferencia de 2016 tienen una cantidad considerable de estudios primarios realizados. Además, esto claramente implica una gran preocupación e interés de los investigadores por la anteriormente mencionada integración, así como una tendencia de crecimiento.

4.2. PI1: ¿En qué áreas actualmente se está aplicando la integración de Blockchain en el dominio IoT?

La identificación y análisis de la propiedad del área de aplicación de cada artículo seleccionado, nos puede permitir conocer cuál es el área de aplicación de mayor interés, la más desarrollada o la proporciona mejores ventajas actualmente; y de manera contraria, cuáles serían las áreas de aplicación con menor incidencia, o que implican mayor preocupación o enfoque por parte de los investigadores. Adicionalmente, para dar respuesta a esta pregunta, se tuvo en cuenta además del área de aplicación, los objetivos, los desafíos y los retos descritos en cada uno

0

2

4

6

8

10

12

14

16

18

20

2016 2017 2018

Año de publicación de los artículos.

Cantidad de publicaciones

Gráfico 4.1. Año de publicación de los artículos.

Page 53: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 45

de los artículos. Estas áreas de aplicación fueron identificadas, agrupadas y clasificadas como se muestra en la Tabla 4.2.

Tabla 4.2. Áreas de aplicación de los artículos.

A través del proceso de identificación, agrupación y clasificación, se determinó que un artículo seleccionado puede tener una o más áreas de aplicación, lo que no hace sencilla la clasificación; no obstante se ha clasificado teniendo en cuenta

Área de aplicación Referencia Cantidad de referencias

Subtotal Total

Seguridad y privacidad en general [64] 1 1 (2.17%)

Ges

tión

de d

atos

Gestión de datos en general

[71] 1 (5.26%)

19 (41.30%)

Acceso a los datos [85] 1 (5.26%)

Recolección de datos [86] 1 (5.26%)

Almacenamiento de datos [61] [69] 2 (10.53%)

Integridad de datos [66] 1 (5.26%)

Transacción/transferencias/Intercambio de datos.

[56] [57] [64] [68] [70] [79] [83] [86] [60]

9 (47.38%)

Fusión de datos [68] 1 (5.26%)

Procedencia de los datos [55] [73] [65] 3 (15.79%)

Ges

tión

de a

cces

os

Autenticación [62] [67] 2 (22.22%)

9 (19.57%) Autorización de acceso [63] [77] [80] [81] [82] [83] 6 (66.67%)

Identificación [73] 1 (11.11%)

Gestión de recursos [58] [78] [65] 3 3 (6.52%)

Gestión de configuraciones [72] 1 1 (2.17%)

Privacidad de los datos del usuario [55] [74] [87] 3 3 (6.52%)

Escalabilidad [78] 1 1 (2.17%)

Disponibilidad [84] [78] 2 2 (4.35%)

Interoperabilidad [59] [75] [76] [88] 4 4 (8.71%)

Autonomía en la red [60] 1 1 (2.17%)

Defensa de ataques [70] [82] 2 2 (4.35%)

Total de referencias en las áreas de aplicación 46

Page 54: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 46

las áreas de aplicación de mayor predominancia e importancia de cada artículo; además, se puede identificar en la Tabla 4.2 referencias de artículos más de una vez, obteniendo 46 referencias como la suma total de referencias en las áreas de aplicación. En las siguientes secciones se justifica y detalla la inclusión de cada referencia en las áreas y subáreas de aplicación definidas en la Tabla 4.2.

4.2.1. Área de seguridad y privacidad en general Esta área de aplicación es abarcada únicamente por el estudio realizado por Runz y Faiz [64]; dado que este estudio presenta una arquitectura Peer to Peer basada en Blockchain para entornos de aprendizajes ubicuos, en la cual uno de sus objetivos es preservar la seguridad y privacidad de una forma general.

4.2.2. Área de gestión de datos

En el área de gestión de datos se contemplan subáreas, las cuales la clasifican internamente. En los siguientes párrafos son detallados los artículos que están contenidos en esta clasificación. En lo correspondiente a la subárea de gestión de datos general, podemos citar el estudio de Sharma et al. [71], el cual presenta una arquitectura Cloud distribuida basada en Blockchain con una red definida por software (SDN), que proporciona una eficiente gestión de los datos iniciales producidos por dispositivos IoT.

En la subárea de accesos a los datos, está comprendido por el artículo de Salek Ali et al. [85], en el cual con el fin de obtener un modelo descentralizado de acceso de datos IoT, se propone una arquitectura de red Modular Consortium para IoT, usando Blockchain e interplanetary file system (IPFS).

En relación a la subárea de recolección de datos, se referencia el estudio de Liang et al. [86], en el cual se propone una solución distribuida para drones utilizando Blockchain y un servidor Cloud, asegurando la transmisión y recolección de datos. Para la subárea de almacenamiento de datos, se citan dos referencias. En una de ellas [61], Conoscenti et al. proponen la arquitectura de un sistema software Peer to Peer, en combinación con Blockchain para un dominio IoT; en la cual los datos producidos por los usuarios de los dispositivos IoT están almacenados de manera segura y garantizando la privacidad. Por su parte Li et al. [69], proponen una arquitectura de seguridad basada en Blockchain para un almacenaje Cloud distribuido, el cual tiene como principal propósito ofrecer un almacenamiento en la nube más seguro y confiable.

La subárea de integridad de datos abarca únicamente el artículo propuesto por Machado y Fröhlich [66], en el cual se implementa una arquitectura con características Blockchain, que permite mejorar la verificación de la integridad de los datos producidos por un Cyber Physical System (CPS).

Page 55: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 47

En correspondencia a la subárea de transacción/transferencias/Intercambio de datos podemos citar nueve artículos. Los cuales serán detallados seguidamente. Primero, el estudio realizado por Rahulamathavan et al. [56], en el cual se propone una arquitectura Blockchain para aplicaciones IoT, enfocándose en preservar la privacidad de las transacciones de datos, mediante el empleo de Attribute Based Encryption (ABE). Adicionalmente, Huang y Su en el artículo [57], orientan su estudio a la obtención de un intercambio de datos confiables, proponiendo una solución descentralizada IoT basada en Blockchain (Ethereum). Además, el estudio de Runz y Faiz [64], es parte de esta subárea, dado que está enfocado en entornos de aprendizaje ubicuos, en el cual uno de sus objetivos es asegurar la transferencia de datos e interacciones entre Peers. Por su parte Chen et al. [68], es considerado también, ya que proponen una plataforma basada en Blockchain, la cual tiene como uno de sus propósitos proporcionar un entorno confiable para el intercambio de datos entre Clouds. Desde otro punto de vista, en [70], Sharma et al. proponen un esquema basado en Blockchain, el cual se enfoca principalmente en la reducción del consumo de energía en las transferencias de datos. También, en el estudio de Yang et al. [79], se realiza la propuesta de un prototipo Edge computing que emplea la plataforma Hyperledger Fabric, la cual es una implementación robusta y flexible de Blockchain que influye en la optimización del intercambio de datos. Por otro lado, Shafagh et al. proponen en [83] un diseño basado en Blockchain para IoT, el cual proporciona, entre sus principales ventajas, un intercambio seguro de datos entre aplicaciones IoT. Asimismo, el artículo [86] de Liang et al., asegura la comunicación durante la transmisión de datos, mediante la implementación de una solución distribuida para drones empleando Blockchain. Por último, en [60] Samaniego y Ralph, proponen un diseño con un cluster Blockchain en una red Fog, el cual permite la comunicación entre Smart Things en tiempo real, entre otras posibilidades. La subárea de fusión de datos esta abarcada por el estudio llevado a cabo por Chen et al. [68], en el cual proponen una plataforma JointCloud basada en Blockchain, con el fin mitigar problemas de fusión de datos, provocados por las plataformas Cloud. La subárea de procedencia de datos contempla tres artículos. Uno de ellos fue llevado a cabo por Hardjono y Smith [55], en el cual se propone una arquitectura Peer to Peer llamada ChainAnchor, que tiene la capacidad de ofrecer procedencia de datos, mediante el uso de una red Blockchain privada. De similar manera, en el estudio de Pahl et al. [73], se propone un patrón de arquitectura que posee World Wide Web Consortium (W3C) como base conceptual y una plataforma Blockchain, la cual es implementada bajo los lineamientos de los principios de la procedencia de datos, entre otros. Asimismo, en [65] Karlsson et al. proponen Vegvisir, una solución Blockchain que proporciona, entre otras cosas, un repositorio de datos compartido, con el fin de mantener la procedencia de los datos.

Page 56: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 48

4.2.3. Área de gestión de accesos En esta área de aplicación se ha podido determinar tres subáreas, las cuales son abarcadas por algunos de los artículos de esta SLR. Estas subáreas son detalladas en los siguientes párrafos. En relación a la subárea de autenticación, se pueden citar dos artículos. Uno de ellos, es el estudio de Abbasi et al. [62], que propone una solución basada en los conceptos de Blockchain, registros distribuidos y en las redes definidas por software (SDN) llamada VeidBlock; la cual realiza procesos para obtener una autenticación anónima. Por su parte, Wu et al. en [67] implementan un esquema de autenticación seguro y confiable basado en una infraestructura Blockchain para dispositivos IoT. La subárea de autorización de accesos, abarca seis artículos relacionados, los cuales son justificados a continuación. Como primera instancia, el artículo [63] de Ahlert et al., que propone ControlChain, una arquitectura Blockchain para la autorización de accesos en IoT, la cual proporciona descentralización, resiliencia, escalabilidad, tolerancia a fallos, compatibilidad con otros modelos de control de acceso y la posibilidad de trabajar off-line. Por su parte, Alphand et al. proponen en [77], una arquitectura que proporciona una solución End to End, la cual conduce operaciones para la autorización de accesos de los recursos IoT. Asimismo, en el estudio [80], Novo propone una arquitectura con un sistema de control de acceso descentralizado basado en Blockchain, la cual realiza la gestión de acceso, arbitra roles y permisos para IoT. Para un enfoque de entornos heterogéneos, Lunardi et al. [81] presentan una arquitectura IoT multicapa basada en un ledger (Blockchain), la cual brinda control de acceso, independientemente de las capacidades que posea el dispositivo IoT. Adicionalmente, en [82] Sharma et al. proponen DistBlockNet, una arquitectura SDN segura y distribuida que emplea la tecnología Blockchain para entornos IoT, la cual tiene como uno de sus principales objetivos generar e implementar protección, incluyendo control de acceso. Por último, podemos citar el estudio de Shafagh et al. [83], en el que se implementa un diseño basado en Blockchain para IoT que proporciona, entre otras ventajas, un control de acceso distribuido, seguro y resiliente.

Para la subárea de identificación se puede referir un estudio, realizado por Pahl el at. [73], en el cual se propone un patrón de arquitectura que adopta World Wide Web Consortium (W3C) como base conceptual y una plataforma Blockchain; este patrón es implementado bajo los lineamientos de la seguridad de la identidad, entre otros.

4.2.4. Área de gestión de recursos La área de gestión de recursos, está comprendida por tres artículos de esta SLR [58][78][65]. En el primero, Dorri et al. proponen una arquitectura Smart Home ligera basada en Blockchain, la cual reduce el costo computacional de Blockchain al no requerir del minado clásico. Por su parte Sharma et al., proponen en el segundo artículo una arquitectura Smart City basada en Blockchain, la cual usa la

Page 57: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 49

técnica de comunicación light-fidelity con la finalidad de mejorar la gestión de la energía. Por último, Karlsson et al. proponen en el tercer articulo citado para esta área, una solución Blockchain llamada Vegvisir, la cual soporta particiones para el empleo en entornos IoT de potencia restringida y poca conectividad.

4.2.5. Área de gestión de configuraciones

El área de gestión de configuraciones está contemplada por el estudio realizado por Kinkelin et al. en [72], en el cual proponen un sistema de gestión de las configuraciones (CMS) basado en Hyperledger Fabric Blockchain; este sistema proporciona control sobre los administradores.

4.2.6. Área de privacidad de los datos de los usuarios

El área de privacidad de los datos de los usuarios comprende tres artículos relacionados. En [55], Hardjono y Smith proponen una arquitectura Peer to Peer para la puesta en marcha de un dispositivo IoT en la nube, llamada ChainAnchor, la cual tiene como finalidad ofrecer un modelo que preserva la privacidad de los usuarios. Por otro lado, Uddin et al. en [74] preservan la privacidad de los usuarios, en la implementación de una arquitectura End to End para el monitoreo de pacientes, la cual posee un PCA (Patient Centric Agent) gestionado por un registro Blockchain personalizado. Por último, en el estudio realizado por Cha et al. [87], se propone un diseño IoT que posee un gateway Blockchain, el cual permite una adecuada gestión en cuanto a las políticas de privacidad de los usuarios de los dispositivos IoT.

4.2.7. Área de escalabilidad

El área de escalabilidad abarca el estudio realizado por Sharma et al. [78], en el cual se propone a DistArch-SCNet, una arquitectura Smart City basada en Blockchain que emplea la técnica de comunicación light-fidelity; esta arquitectura permite mejorar la gestión de la escalabilidad, entre otros.

4.2.8. Área de disponibilidad

El área de disponibilidad, es comprendida por dos artículos [84] [78]. En la primera referencia Boudguiga et al. proponen una infraestructura Blockchain que posee propiedades de la triada CIA (confidencialidad, integridad y disponibilidad), lo cual resulta idónea para el cumplimiento de los requerimientos de disponibilidad y la implementación de actualizaciones. En la segunda referencia señalada, Sharma et al. proponen a DistArch-SCNet, una arquitectura Smart City con una red

Page 58: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 50

distribuida basada en Blockchain; DistArch-SCNet es implementada con la finalidad de mejorar la gestión de la disponibilidad, entre otros.

4.2.9. Área de interoperabilidad En relación al enfoque hacia el área de interoperabilidad, podemos citar cuatro estudios seleccionados en esta SLR. Uno de ellos es el estudio llevado a cabo por Teslya y Ryabchikov en [59], en el cual se propone una arquitectura IoT que combina una plataforma Smart–M3 y Blockchain, para la interacción entre componentes industriales de una Smart Factory (IIoT). Di Pietro et al. también enfocan su estudio [75] a la interoperabilidad, proponiendo un modelo distribuido de confianza para IoT, llamado Obligation Chain, en el cual se realizan interacciones entre dominios sin una raíz común. En [76], Ellul y Pace proponen una máquina virtual llamada AlkylVM, que permite la interacción entre las tecnologías Blockchain y dispositivos IoT con recursos limitados. Por su parte, Liao et al. describen y discuten en [88], cuatro estilos típicos de arquitectura para la interacción y puesta en marcha de servicios IoT, mediante el empleo de Blockchain.

4.2.10. Área de autonomía de red El área de autonomía de red abarca el estudio realizado por Samaniego y Ralph [60], en donde se implementa un diseño Smart Things con un cluster Blockchain en una red Fog, la cual proporciona autonomía en la red IoT y la automatización de tareas como la realización de inferencias y monitorización.

4.2.11. Área de defensa de ataques Esta área la comprenden dos artículos, los cuales están enfocados en la merma de los ataques. Uno de estos es [70], llevado a cabo por Sharma et al., que propone un esquema Distributed Mobility Management (DMM) basado en Blockchain, el cual otorga la capacidad de resolver problemas relacionados a la defensa de ataques de objetos maliciosos, denegación de servicios, suplantación, entre otras. También, se puede citar el estudio de Sharma et al. [82], en el cual se propone una arquitectura SDN llamada DistBlockNet, que emplea la tecnología Blockchain en dominios IoT; esta arquitectura tiene como objetivo principal el generar e implementar protección, incluyendo prevención de amenazas, protección de datos, control de acceso y la mitigación de ataques de red.

Page 59: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 51

Luego de esta justificación y detalle de las áreas y subáreas de aplicación, se muestran de manera visual, mediante gráficos estadísticos, el porcentaje de frecuencia en las áreas y subáreas (cuando corresponda) de aplicación en los Gráficos 4.2, 4.3 y 4.4.

Gráfico 4.2. Áreas de aplicación de la integración IoT-Blockchain

En el Gráfico 4.2, se puede observar una gran tendencia hacia el área de aplicación a la gestión de datos con 19 referencias (41.30%) relacionadas, por lo que podemos deducir un interés notable por el procesamiento de datos en entornos IoT que incluyen la tecnología Blockchain; el área de gestión de accesos con 9 referencias (19.57%) relacionadas es también una de las áreas de mayor incidencia; y podemos también observar el área de interoperabilidad con 4 referencias (8.71%) relacionadas. En un plano intermedio del gráfico se encuentran las áreas de gestión de recursos y de privacidad de los datos del usuario, ambas con 3 referencias (6,52%) cada una; luego, con 2 referencias cada una (4,35%) tenemos a las áreas de defensa de ataques y de disponibilidad. Dentro de las áreas de menor enfoque podemos citar, el área de seguridad y privacidad en general, de autonomía en la red, de escalabilidad y de gestión de configuraciones, cada una de estas con 1 referencia relacionada (2,17%), con lo que se puede concluir dos cosas: (i) Que existe una falta de preocupación, por parte de los investigadores, hacia estas áreas de aplicación pocos incididas. (ii)

2,17%

2,17%

2,17%

2,17%

4,35%

4,35%

6,52%

6,52%

8,71%

19,57%

41,30%

Gestión de configuraciones

Escalabilidad

Autonomía en la red

Seguridad y privacidad en general

Disponibilidad

Defensa de ataques

Privacidad de los datos del usuario

Gestión de recursos

Interoperabilidad

Gestión de accesos

Gestión de datos

0,00% 5,00% 10,00% 15,00% 20,00% 25,00% 30,00% 35,00% 40,00% 45,00%

Áreas de aplicación

Porcentaje de frecuencia

Page 60: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 52

Que estas áreas de aplicación resultan de poca utilidad o no alcanzan los resultados deseados.

En el Gráfico 4.3, se puede apreciar la clasificación interna del área de aplicación de la gestión de datos en subáreas. Entre estas subáreas se puede observar una notable diferencia, con respecto al resto, de la subárea de transacción/transferencias/Intercambio de datos con 9 referencias (47,38%) relacionadas, lo que denota una clara tendencia y preferencia, dentro del área de gestión de datos, a la utilización de las tecnologías en estudio hacia esta subárea de aplicación. Seguida de esta subárea, podemos citar a la subárea de procedencia de datos con 3 referencias (15,79%) relacionadas y también a la subárea de almacenamiento de datos con 2 referencias (10,53%) relacionadas. Adicionalmente, podemos apreciar las demás subáreas de la gestión de datos con menor incidencia, tales como la subárea de gestión de datos en general, de acceso de datos, de recolección de datos, de integridad de datos, y de fusión de datos; todas estas con una referencia relacionada (5,26%), con lo cual se puede suponer la necesidad de trabajos futuros en estas subáreas, de la gestión de datos, con poca incidencia de estudios realizados.

5,26% 5,26% 5,26%10,53%

5,26%

47,38%

5,26%

15,79%

0,00%5,00%

10,00%15,00%20,00%25,00%30,00%35,00%40,00%45,00%50,00%

Gestión de datos

Porcentaje de frecuencia

Gráfico 4.3. Subáreas del área de aplicación de gestión de datos.

Page 61: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 53

En el Gráfico 4.4 se muestra la clasificación interna del área de aplicación de la gestión de accesos en subáreas; con más detalle, podemos apreciar que la subárea de autorización acceso obtiene predominancia ante las demás con 6 referencias relacionadas (66,67%); seguido de las subáreas de autenticación con 2 referencias (22,22%), y de identificación con 1 referencia (11,11%) relacionada. Con lo que se puede deducir, que existe un mejor aprovechamiento de los beneficios de la integración de Blockchain en el dominio IoT para los trabajos relacionados a la autorización de accesos; y por el contrario una necesidad de enfoque en estudios, que integren las dos tecnologías antes mencionadas, en entornos de autenticación e identificación.

22,22%

66,67%

11,11%

0,00%

10,00%

20,00%

30,00%

40,00%

50,00%

60,00%

70,00%

80,00%

Autenticación Autorizacion de acceso Identificación

Gestión de accesos

Porcentaje de frecuencia

Gráfico 4.4. Subáreas del área de aplicación de gestión de datos.

Page 62: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 54

4.3. PI2: ¿Cuáles son las principales

ventajas que existen en la integración de Blockchain en el dominio IoT?

Con la finalidad de dar respuesta a esta pregunta se recogen, de los artículos considerados en la presente SLR, las diversas ventajas y beneficios relacionados con la integración de las tecnologías IoT y Blockchain. Estas ventajas y beneficios son detallados en las siguientes secciones.

4.3.1. Almacenamiento de datos

Dada la sensibilidad de la mayoría de datos, que son almacenados y gestionados en el dominio IoT, es clara la necesidad de la aplicación de una tecnología, la cual contribuya para obtener un seguro, eficiente e íntegro almacenamiento de datos. La seguridad de almacenamiento es impulsada por la descentralización, ofrecida por la arquitectura tradicional de Blockchain, esto a la vez otorga una arquitectura mucho más robusta ante cualquier fallo o ataque. El minado (PoW), empleado en algunas plataformas Blockchain, es realizado con el fin de incluir nuevos bloques de información, lo que proporciona una característica resiliente al sistema, como también un alto nivel de seguridad a los datos IoT [58], previniéndolos de ataques de adversarios luego de ser indexados/almacenados en Blockchain [56]. Además, Blockchain mantiene un consistente registro entre todos los nodos; estos nodos son independientes unos de otros, lo que asegura la confiabilidad y la resistencia a la manipulación de los datos IoT almacenados [72]. Asimismo, las operaciones en Blockchain mantienen la integridad de los datos IoT o informaciones contenidas, ya que utilizan la función hash, que cifra el contenido de estas [86]. Adicionalmente, desde el punto de vista del costo de almacenamiento, Blockchain resulta ser mucho más asequible que algún otro host [71].

4.3.2. Comunicación e intercambio de datos Blockchain es un modelo bajo el lineamiento de la arquitectura Peer to Peer con una gestión descentralizada de la comunicación. Esta característica de Blockchain reduce los costos de instalación de los inmensos servidores de datos centralizados [64]. Así mismo, Blockchain puede aumentar la velocidad de las transacciones y reducir notablemente la latencia de comunicación [57] en los

Page 63: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 55

dominios IoT por medio de la utilización del Smart Contracts, implementados en algunas de sus plataformas. Adicionalmente, Blockchain ofrece la posibilidad de realizar comunicación a tiempo real y gestionar eventos en tiempo eficaz.

4.3.3. Procedencia de datos

La procedencia de datos y la trazabilidad en Blockchain son obtenidas gracias a la inmutabilidad e integridad de los datos almacenados, controles de accesos eficientes, transparencia de las operaciones y el no repudio de transacciones [73]. Estas características otorgan a la incorporación de Blockchain al dominio IoT importantes ventajas. Estas ventajas en la práctica, pueden materializarse en la mejora de la calidad del servicio o producto final ofrecido [71]; asimismo, pueden ofrecer la capacidad de mitigar importantes requerimientos de seguridad característicos del dominio IoT.

4.3.4. Control de accesos y autenticación

Los controles de accesos y la autenticación en Blockchain están basados en la capacidad de cómputo de los nodos/mineros y su mecanismo de consenso [57]. Estas características mejoran la gestión de acceso en las redes IoT, otorgándoles una mayor credibilidad y fiabilidad. Además, esta apropiada gestión de accesos puede brindar, al proveedor de datos IoT, la capacidad de poder administrar los permisos de accesos de datos de forma descentralizada, haciendo estos datos menos proclives a la manipulación [57]; esto también tiene como una de sus consecuencias, un rápido y eficiente intercambio de datos.

4.3.5. Disponibilidad La persistencia de los datos producto de la inmutabilidad característica de la tecnología Blockchain, puede impedir la manipulación de los datos IoT. Así mismo, esta persistencia junto con la resistencia proporcionada por el mecanismo de consenso, permite ofrecer disponibilidad en entornos IoT [84].

Page 64: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 56

4.4. PI3: ¿Cuáles son los principales

inconvenientes que existen en la integración de Blockchain en el dominio IoT?

A pesar de los notables e importantes beneficios que puede ofrecer la aplicación de Blockchain en el dominio de Internet de las Cosas, existen también considerables inconvenientes y barreras en su aplicación, estos han sido recogidos de los artículos científicos que considera esta SRL y se detallan en las siguientes secciones.

4.4.1. Adaptabilidad La adaptabilidad consiste en la capacidad de un sistema para poder adaptarse de manera efectiva y eficiente al hardware, software u otros entornos operativos de uso diferentes o en proceso de evolución [90]. Dado esto, adoptar una arquitectura Peer to Peer de Blockchain en IoT, desde el punto de vista de ingeniería de software, tiene algunos problemas técnicos como la mencionada adaptabilidad, ya que muchos dispositivos del dominio IoT usados mediante internet, son de recursos limitados y muchas veces no son capaces de interactuar directamente con la implementación de Blockchain (como la plataforma Ethereum) [80]. Además de esto, muchos dispositivos IoT tendrían que sufrir significantes modificaciones, con el fin de admitir las operaciones lógicas de protección de la privacidad de Blockchain [87]. En relación a este inconveniente antes expuesto, algunos autores inciden en esta, y proponen una solución. En los artículos seleccionados en esta SLR [75] y [76], se explica la necesidad de la interacción entre Blockchain y dispositivos IoT proponiendo, en el primero artículo, un modelo IoT-Blockchain para la interacción de dominios IoT heterogéneos; por otra parte, en el otro artículo se propone una máquina virtual particionada, la cual permita la interacción entre recursos IoT limitados y Blockchain. En relación al ámbito industrial, en [59] se propone una solución para la interacción entre componentes industriales, utilizando una plataforma Smart-M3 y Blockchain. También, en una forma más general, en el artículo [88] se exponen cuatro de los principales estilos arquitectónicos para la interacción y puesta en marcha de servicios IoT-Blockchain.

Page 65: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 57

4.4.2. Escalabilidad La escalabilidad, es parte del concepto de la adaptabilidad [90], según Bondi en [91] ofrece la capacidad a un sistema de poder admitir un número creciente de elementos u objetos, procesar volúmenes crecientes de trabajos con buen rendimiento, y ser susceptibles de ampliación. La escasa escalabilidad es otro de los principales inconvenientes para habilitar un entorno IoT descentralizado [61] [58] [85], el cual tenga como tecnología subyacente a Blockchain. Es decir, Blockchain no soporta un alto rendimiento de transacciones de información, dado que tiene un parámetro mínimo de transacciones por segundo, esto con el fin de reducir el costo de ejecutar un nodo completo; si el parámetro fuera mayor, Blockchain requeriría más espacio en disco, ya que los bloques crecerían rápidamente. Este problema de la escalabilidad tiene cabida también, en que toda entrada de información en Blockchain requiere un consenso entre todos los nodos de la red, y dado que una sola red Blockchain es responsable del registro de todas las operaciones de los datos IoT, no escalaría bien [58]. El artículo [78], considerado en esta SLR, propone mejorar la escalabilidad y otros recursos, proponiendo una arquitectura Smart City con una red distribuida basada en Blockchain, esta arquitectura utiliza una tecnología de comunicación llamada light-fidelity para reducir y mejorar la gestión de recursos.

4.4.3. Utilización de recursos La utilización de recursos, según en [90], se refiere al grado o nivel en que los recursos utilizados por el sistema, al realizar sus funciones, cumplen con los requisitos. La aplicación de Blockchain en IoT incluye la necesidad de un nivel alto de recursos computacionales [65], debido a la Proof of Work (PoW) [58] [80]; la cual normalmente se utiliza para garantizar la efectividad del esquema, y la generación de bloques, que requiere solucionar un complejo y computacionalmente costoso Pluzze matemático. Esta PoW también provoca altas demoras en el tiempo de procesamiento [70] [58]. Adicionalmente, dada la inmutabilidad de los bloques y el almacenaje del registro de transacciones, se genera una solución poco ligera, que con el constante crecimiento de la cadena de bloques requiere una significante cantidad de memoria, la cual normalmente tiene pobre consistencia en los dispositivos con recursos limitados de IoT [59]. Además, Blockchain requiere una alta red de conectividad, lo que puede resultar poco adecuado para su implementación en entornos IoT o sistemas Cloud Edge [65].

Page 66: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 58

En los artículos de Dorri et al. [58] y Karlsson et al. [65] se abordan la problemática de la utilización de recurso en Blockchain. Por su parte Dorri et al. proponen una arquitectura IoT ligera basada en Blockchain, que reduce el costo computacional clásico de Blockchain. Por su parte, Karlsson et al. proponen una solución Blockchain para entornos IoT con potencia restringida y poca conectividad.

4.4.4. Seguridad La seguridad, es descrita en [90] como el grado en que un producto o sistema protege la información para que una entidad o sistema tenga el grado de acceso a los datos adecuado a sus tipos y niveles de autorización. A pesar de que la tecnología Blockchain proporciona un cierto nivel de seguridad, como la integridad y confiabilidad de los datos, Blockchain puede ser proclive a ataques de adversarios malicioso. Los atacantes pueden tratar de impedir la validación de una transacción legítima, o aprobar una transacción falsa en los bloques de Blockchain [56]; esto se logra cuando el atacante controla más de la mitad de nodos, que presumiblemente es difícil [84] [83]; por ende, si existen pocos mineros para realizar verificar la transacción (minado), se pone en riesgo la seguridad de Blockchain. Además, se puede provocar también un ataque de denegación de servicios en la red, cuando un atacante envíe constantemente Smart Contracts, ya que todas las transacciones necesitan ser difundidas en el resto de red, y la red podría resultar saturada. También, en el caso de que los dispositivos IoT no formen parte de la red de Blockchain, y por lo tanto tengan que confiar en las decisiones de control de acceso de los nodos del centro de administración, un centro de administración malintencionado podría intentar un ataque haciéndose pasar por un administrador legítimo, con el fin de manipular la información de control de acceso, repudiar eventos, informaciones que se hayan realizado, y también con la posibilidad de realizar denegación de servicio, o divulgar información de los dispositivos de IoT no autorizada [77]. Adicionalmente, Blockchain puede proporcionar integridad de datos y no repudio, pero la confidencialidad y privacidad de los datos o dispositivos IoT puede no ser preservada en su totalidad, dado que para realizar el minado o verificación de los datos en Blockchain, el contenido de estos debe ser visto por todos los nodos/usuarios de la red [56] [75]. Como parte de los artículos de esta SLR en curso, en [82] y [70] se enfocan principalmente en la propuesta de arquitecturas que logren mitigar ataques en red, protección de datos, denegación de servicios, suplantación, etc. Por su parte en el artículo [56], se abarca el problema de la privacidad de los datos proponiendo una arquitectura IoT-Blockchain y la tecnología attribute-based encryption (ABE).

Page 67: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 59

4.5. PI4: ¿Qué arquitecturas existen, que

integran Blockchain en el dominio IoT, y cuáles son sus principales componentes?

Con el propósito de responder esta pregunta se identifican, describen, resumen, clasifican, y analizan las arquitecturas y componentes de los 34 artículos seleccionados en esta SLR. Para esto, primero, se describen las características principales de las arquitecturas propuestas de cada estudio, y luego son resumidas, explicando el funcionamiento de cada arquitectura.

4.5.1. Características principales de las

arquitecturas propuestas en los estudios seleccionados

En esta sección, se identifican y analizan los patrones y estilos arquitectónicos, las características de las arquitecturas, los tipos y plataformas Blockchain empleadas, y las tecnologías adicionales más importantes que forman parte de las arquitecturas propuestas en cada uno de los artículos de esta SLR. Este proceso de identificación y análisis es llevado a cabo en tres secciones, las cuales se detallan a continuación.

4.5.1.1. Patrones, estilos y características de las arquitecturas propuestas

Los patrones y estilos arquitectónicos definen la forma de organizar los componentes de un sistema [92], además pueden delinear los tipos de elementos y sus formas de interacción usadas en la solución de problemas [93]. Con el fin de clasificar los artículos seleccionados de esta SLR, por el tipo de patrones y estilos arquitectónicos, se tomó la categorización realizada por Sharma et al. en [92]. El resultado puede ser apreciado en la Tabla 4.3.

Page 68: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 60

Tabla 4.3. Patrones y estilos arquitectónicos de los artículos seleccionados.

En vista que los artículos de esta SLR poseen diferentes tipos de patrones y estilos en cada una de sus arquitecturas, las referencias de los artículos pueden repetirse más de una vez en las clasificaciones; obteniendo, como lo muestra la Tabla 4.3, un total de 79 referencias en las diferentes clasificaciones de patrones y estilos arquitectónicos. Para permitir una mejor apreciación y análisis, se muestran estos resultados en el Gráfico 4.5.

Patrones y estilos arquitectónicos [92]

Referencias Cantidad de referencias

Blackboard -- 0 (0%)

Cliente-servidor -- 0 (0%)

Basado en componentes [55] [56] [58] [59] [60] [61] [62] [63] [65] [67] [68] [69] [70] [72] [73] [74] [75] [76] [77] [78] [79] [80] [82] [83]

[84] [85] [86] [87] [88] 29 (36,71%)

Impulsada por eventos [67] [79] 2 (2,53%)

Software de tuberías y filtros -- 0 (0%)

Basado en capas [57] [66] [71] [72] [73] [74] [81] [83] 8 (10,13%)

Cloud computing [55] [58] [62] [64] [65] [66] [68] [69] [70] [71] [73] [74]

[75] [77] [78] [83] [86] [88] 18 (22,78%)

Fog, Edge computing [60] [70] [71] [73] [79] 5 (6,33%)

Peer to Peer (P2P) [55] [61] [64] [65] [69] [70] [72] [73] [75] [78] [79] [80]

[81] [82] [83] [84] [85] 17 (21,52%)

Total de referencias 79

Page 69: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 61

Del Gráfico 4.5, podemos recoger lo siguiente, la mayoría de las arquitecturas tienen una tendencia hacia el patrón de arquitecturas basado en componentes, que mantiene una mayoría entre los demás patrones con 29 referencias (36,71%). Además, con 18 (22,78%) y 17 (21,52%) referencias de incidencia se presentan los patrones de Cloud computing y Peer to Peer respectivamente. Con estos datos, se puede determinar que estos tres patrones y estilos arquitectónicos mencionados anteriormente, han adquirido la mayor preferencia por los investigadores, facilitando la delineación de los elementos y las formas de interacción en las arquitecturas IoT-Blockchain. También se puede apreciar con un poco menos de predominancia, casi a la mitad del gráfico, el patrón basado en capas con 8 (10,13%) referencias relacionadas. Asimismo, con 5 (6,33%) referencias de incidencia podemos encontrar a los estilos Fog y Edge computing, que normalmente complementan algún otro patrón utilizado en las arquitecturas en estudio. adicionalmente, y con la menor incidencia, se aprecia el patrón impulsado por eventos con 2 (2,53%) referencias relacionadas. Por último, podemos ubicar tres patrones: Software de tuberías y filtros, Cliente-servidor, y Blackboard; puede decirse, que actualmente, estos tres últimos patrones/estilos son poco considerados por los investigadores para el desarrollo de arquitecturas que representen la integración de Blockchain en dominios IoT.

Las características de las arquitecturas, también fueron identificadas en los estudios de esta SLR y se estableció una clasificación, teniendo en cuenta la

0%

0%

0%

2,53%

6,33%

10,13%

21,52%

22,78%

36,71%

0% 5% 10% 15% 20% 25% 30% 35% 40%

Blackboard

Cliente-servidor

Software de tuberíasy filtros

Impulsada poreventos

Fog, edge computing

basado en capas

P2P

Cloud computing

Basado encomponentes

Patrones y estilos arquitectónicos

Porcentaje de frecuencia

Gráfico 4.5. Patrones y estilos arquitectónicos de los artículos seleccionados.

Page 70: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 62

redundancia de estas, en los diferentes artículos seleccionados. Con base en esto, se puede apreciar como resultado la Tabla 4.4.

Tabla 4.4. Características de las arquitecturas de los artículos seleccionados.

Dado que, cada artículo de esta SLR puede presentar más de una característica, se puede encontrar más de una referencia en cada clasificación, dando como resultado 47 referencias en total. Para su mejor entendimiento, visualización y análisis, estos resultados son plasmados en el Gráfico 4.6.

Características arquitectónicas

Referencias Cantidad de referencias

Descentralizada [55] [56] [57] [60] [61] [63] [64] [65] [66] [67] [73] [77]

[80] [82] [83] [84] [85] [86] [87] 19 (40,43%)

Centralizada [58] [88] 2 (4,26%)

Distribuida [55] [62] [68] [69] [70] [71] [72] [73] [74] [75] [77] [78]

[79] [80] [81] [82] [83] [84] [85] [86] [87] [88] 22 (46,81%)

End to End (E2E) [74] [77] 2 (4,26%)

Jerárquica [56] [58] 2 (4,26%)

Total de referencias 47

4,26%

4,26%

4,26%

40,43%

46,81%

0,00% 5,00% 10,00% 15,00% 20,00% 25,00% 30,00% 35,00% 40,00% 45,00% 50,00%

Jerárquica

E2E

Centralizada

Descentralizada

Distribuida

Características de las arquitecturas

Porcentaje de frecuencia

Gráfico 4.6. Características arquitectónicas de los artículos seleccionados.

Page 71: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 63

Del Gráfico 4.6 podemos rescatar lo siguiente; las arquitecturas distribuidas son las más redundantes entre los artículos seleccionados, y por ende denotan una mayor preferencia por los diferentes autores, abarcando 22 referencias (46,81%). Con algunas referencias menos se encuentran las arquitecturas descentralizadas que alcanzan las 19 referencias (40,43%). Además, podemos apreciar las arquitecturas centralizadas, las End to End y las jerárquicas, cada una de ellas con 2 referencias (4,26%) cada una; siendo estas, aparentemente las de menor preferencia para el diseño de las arquitecturas IoT-Blockchain.

4.5.1.2. Tipos y plataformas de Blockchain empleadas en las arquitecturas propuestas

En esta sección, se identifican y analizan los tipos y plataformas de Blockchain empleadas en los artículos seleccionados en esta SLR. Aunque algunos artículos definen un tipo y/o plataforma específica, existen otros artículos en los que dan la opción de poder emplear más de un tipo y/o plataforma Blockchain. En la Tabla 4.5, se presenta una clasificación de los principales tipos y/o plataformas Blockchain, teniendo en cuenta lo relatado en la Sección 2.2.2 del Capítulo 2 de la presente SLR, con el fin de agrupar los artículos en su clasificación correspondiente.

Tabla 4.5. Tipos y plataformas de Blockchain empleados en las arquitecturas de los artículos seleccionados.

Tipos y plataformas de Blockchain

Referencias Cantidad de referencias

Privada [55] [59] [60] [64] [70] [86] 6 (15,79%)

Pública [83] 1 (2,63%)

Bitcoin [74] [75] 2 (5,26%)

Ethereum [57] [59] [66] [74] [76] [77] [80] [85] [87] [88] 10 (26,32%)

Hyperledger [59] [72] [73] [79] 4 (10,53%)

Hyperledger Eris [67] 1 (2,63%)

Multichain [60] [84] 2 (5,26%)

Corda -- 0 (0%)

Blockchain ligera (modificada)

[58] 1 (2,63%)

No especifica [56] [61] [62] [63] [65] [68] [69] [71] [78] [81] [82] 11 (28,95%)

Total de referencias 38

Page 72: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 64

Como se mencionó anteriormente, algunos artículos mencionan más de un tipo y/o plataforma de Blockchain como opción, entonces las referencias de los artículos aparecen más de una vez en la clasificación definida de Blockchain en la Tabla 4.5, resultando un total de 38 referencias. A fin de obtener un mejor panorama, visualización y análisis de la incidencia de los artículos en cada clasificación se presenta a continuación el Gráfico 4.7.

Del Gráfico 4.7 podemos recoger lo siguiente; una mayoría de los artículos no define el tipo y/o plataforma empleada, esto abarca 11 referencias (28,95%). No obstante, como tendencia predominante encontramos el empleo de la plataforma Ethereum con una incidencia de 10 referencias (26,32%), por lo que se presume, que es la plataforma que genera mayores ventajas para la integración de Blockchain en dominios IoT. Además, con algunas referencias menos, tenemos el tipo de Blockchain privada y la plataforma Hyperledger que poseen 6 (15,79%) y 4 referencias (10,53%) respectivamente. Así mismo, el gráfico en mención presenta las plataformas Blockchain Bitcoin y Multichain, ambas con 2 referencias (5,26%) de incidencia cada una. Adicionalmente, con 1 referencia (2,63%) relacionada podemos encontrar: La red Blockchain ligera (con modificaciones), la plataforma Blockchain Hyperledger Eris y la red Blockchain pública. Por último, se

0%

2,63%

2,63%

2,63%

5,26%

5,26%

10,53%

15,79%

26,32%

28,95%

0% 5% 10% 15% 20% 25% 30% 35%

Corda

Pública

Hyperledger Eris

Blockchain ligera(mod.)

Multichain

Bitcoin

Hyperledger

Privada

Ethereum

No especifica

Tipos y Plataformas de Blockchain en las arquitecturas

Porcentaje de frecuencia

Gráfico 4.7. Tipos y plataformas de Blockchain empleados en las arquitecturas de los artículos seleccionados.

Page 73: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 65

puede citar la plataforma Corda, que aparentemente no muestra consideración por los investigadores para emplearla en arquitecturas IoT-Blockchain.

4.5.1.3. Tecnologías adicionales

En esta sección, se identifican las tecnologías adicionales, las cuales interactúan con los componentes/capas de las arquitecturas propuestas en los artículos seleccionados de esta SLR. Dado que cada artículo tiene un área de aplicación determinada, las tecnologías empleadas están enfocadas a estas y la mayoría no redunda en otros artículos. En la Tabla 4.6 se puede apreciar las principales tecnologías empleadas en cada artículo.

Tabla 4.6. Tecnologías adicionales utilizadas en las arquitecturas de los artículos seleccionados.

Art. Tecnologías adicionales

[55] Enhanced Privacy ID (EPID), On-Boarding Tool (OBT) y Wallet.

[56] Attribute based encryption (ABE)

[57] Smart Contract

[58] No especifica

[59] Smart-M3 y Smart Contract.

[60] C Language Integrated Production System (CLIPS) y el Algoritmo Round Robin.

[61] No especifica

[62] Software Defined Networking (SDN)

[63] No especifica

[64] Smart Contract

[65] Directed acyclic graph, protocolo Gossip y Conflict-free Replicated Data Types (CRDT).

[66] Embedded Parallel Operating System (EPOS), Trustful Space Time Protocol (TSTP) y Smart

Contract.

[67] No especifica

[68] Smart Contract

[69] Elliptic Curve Cryptography y Elliptic Curve Digital Signature Algorithm (ECDSA)

[70] Software Defined Networking (SDN)

Page 74: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 66

[71] Software Defined Networking (SDN)

[72] No especifica

[73] World Wide Web Consortium y Smart Contract

[74] Trie Tree, NB-IoT

[75] No especifica

[76] Smart Contract

[77] Object-based security Architecture (OSCAR), Authentication and authorization for constrained

environments (ACE) y Smart Contract.

[78] Light Fidelity (Li-Fi) Comunication Scheme, Efficient Controller-Hopping Algorithm (ECHA) y

FS-OpenSecurity.

[79] Smart Contract y Cluster Kafka

[80] Smart Contract

[81] Resilient and Robust Access Control (R2AC)

[82] Software Defined Networking (SDN)

[83] Cifrado simétrico AES-GCM y P2P overlay routing technique.

[84] Claves RSA con GNU Privacy Guard

[85] Interplanetary File System y Smart Contract

[86] No especifica

[87] Smart Contract

[88] Smart Contract y Light Clients de Ethereum.

A pesar de que se tiene una gran variedad y poca redundancia de tecnologías adicionales, se realiza una clasificación representada en el Gráfico 4.8. En este gráfico se clasifica las tecnologías en cuatro grupos: Smart Contract y otras tecnologías, otras tecnologías, Software Defined Networking (SDN) y no específica; en la última clasificación se encuentran aquellos artículos que no mencionan alguna tecnología adicional en el desarrollo de su estudio.

Page 75: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 67

En el Gráfico 4.8, se pueden apreciar que existen 13 artículos (38,24%) que utilizan la tecnología Smart Contract. Además, se puede notar también que la tecnología SDN redunda en 5 artículos (14,70%). También, encontramos 9 artículos (26,47%) que abarcan únicamente diferentes tecnologías. Por último, existen 7 artículos (20,59%) que no especifican el empleo de alguna tecnología adicional. Teniendo en cuenta estos resultados, se puede identificar que las tecnologías que tienen en común la mayoría de los artículos de esta SRL son los Smart Contracts y el paradigma Software Defined Networking. A continuación se presenta una breve definición de las tecnologías adicionales aplicadas en los estudios seleccionados de esta SLR. 1. Enhanced Privacy ID (EPID) Enhanced Privacy ID fue propuesto inicialmente por Brickell et al. [94]. EPID es un esquema, en el cual subyace un algoritmo de autenticación y credenciales anónimos, que cubre las falencias de la Direct Anonymous Attestation (DAA) [95], específicamente en la propiedad de revocación. Adicionalmente esta tecnología puede proporcionar una identidad inmutable para cada dispositivo IoT, anonimidad del usuario y protección de datos, así mismo puede establecer una consistente raíz de confianza que ayuda a asegurar que todos los dispositivos y conexiones sean confiables [96].

38,24%

26,47%

14,70%

20,59%

0,00%

5,00%

10,00%

15,00%

20,00%

25,00%

30,00%

35,00%

40,00%

45,00%

Smart Contract y otrastecnol.

Otras tecnol. SDN No especifica

Tecnologías adicionales en las arquitecturas

Porcentaje de frecuencia

Gráfico 4.8. Tecnologías adicionales en las arquitecturas de los artículos seleccionados.

Page 76: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 68

2. Digital Wallet Es un software basado en un sistema, que realiza transacciones de comercio electrónico [97]. Esta tecnología pretende reemplazar a los monederos físicos, la que puede ser integrada con algún dispositivo móvil, lo que permitiría al usuario realizar compras online fácilmente, además de gestionar múltiples instrumentos monetarios y de identificación. Así mismo, el Digital Wallet proporciona seguridad, dado que cifra todos los datos y realiza copias de seguridad para facilitar la recuperación ante una pérdida o el robo [98]. 3. On-Boarding Tool (OBT) Es un tipo de herramienta que permite la incorporación de un dispositivo limitado (en el caso del estudio). Además proporciona, por medio de un proceso, que este adquiera las características y comportamientos adecuados, con la finalidad de obtener un dispositivo efectivo y cumplir los requerimiento exigidos por el sistema que lo incluye [99]. 4. Attribute Based Encryption (ABE) Es un esquema de cifrado de clave pública, el cual combina el cifrado con el control de acceso. Esta tecnología emplea la idea del secreto compartido y el cifrado basado en la identidad (IBE), con el fin de construir un umbral para el control de acceso. Además, ABE aprovecha los atributos como componente de cifrado y facilita la gestión de claves en el sistema [100]. 5. Smart Contract El concepto de Smart Contract puede ser definido como un protocolo computacional, que permite realizar la transferencia de bienes digitales entre entidades, bajo el cumplimiento de estipulaciones y acuerdos determinados [101]. Esta tecnología fue introducida en 1994 por Nick Szabo. Las cláusulas contractuales que poseen los Smart Contracts, ayudan a minimizar el requerimiento de una tercera partición para la comunicación. En el caso de Blockchain, los Smart Contract son como guiones contenidos en los bloques [102]. 6. Smart-M3 Es una plataforma de interoperabilidad, la cual se basa en el patrón de arquitectura Blackboard y la idea de la computación basada en espacios [103]. Smart-M3 consiste en un espacio inteligente basado en un mecanismo de comunicación para agentes independientes, en esto espacios se puede encontrar uno o más Semantic Information Brokers (SIBs), los cuales almacenan la información y permiten el acceso de los agentes a la información [104]. 7. C Language Integrated Production System (CLIPS) CLIPS [105] es un sistema experto que facilita el desarrollo de software para modelar el conocimiento humano o pericia; fue implementado a partir de 1984 por el Software Technology Branch (STB), NASA. Este sistema actualmente es de dominio público y posee varias versiones con mejoras considerables, en comparación con su primer lanzamiento, siendo la versión 6.4 la más actual.

Page 77: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 69

8. Algoritmo Round Robin Es un tipo de técnica de equilibrio de carga estática, basada en el muestreo aleatorio, con el que se puede seleccionar la carga aleatoriamente si algún servidor se encuentra sobrecargado; además utiliza el concepto de tiempo cuántico o segmentos. El tiempo en este algoritmo se divide en segmentos y cada nodo recibe una cantidad de este para realizar sus operaciones [106]. 9. Software Defined Networking (SDN) SDN es un paradigma de red emergente, el cual consiste en una arquitectura en donde las funcionalidades de control son separadas de los dispositivos, en consecuencia estos últimos se convierten en simples elementos reenviadores de datos. Dado esto, un controlador lógico centralizado es el encargado de implementar la lógica de control. SDN ofrece la simplificación en la aplicación de políticas, reconfiguración y evolución de la red [107]. 10. Directed acyclic graph (DAG) Un grafo dirigido o dígrafo acíclico está conformado por vértices/nodos conectados por arcos dirigidos finitos, que no tienen al menos un circuito dirigido. Dado esto, no es posible comenzar en un vértice “x” y seguir una secuencia de bordes sistemáticamente dirigida que finalmente vuelva al mismo vértice “x” [108]. 11. Protocolo Gossip Es un protocolo que consiste en un proceso de interacciones periódicas entre pares. Estas interacciones consisten en intercambios de información de tamaño limitado, además estas son de frecuencia baja, por lo que los costos del protocolo son mínimos. Este protocolo proporciona las siguientes ventajas: Consistencia convergencia, estructura emergente, simplicidad, carga delimitada en los nodos, independencia topológica, fácil ubicación de la información local y resiliencia [109]. 12. Conflict-free Replicated Data Types (CRDT) CRDT son un tipo abstracto de datos, los cuales están implementados para ser replicados en múltiples procesos. En los CRDT, una actualización no requiere de sincronización, además las réplicas de los CRDT pueden converger en un estado correcto de manera determinista con la adopción de reglas matemáticas [110]. Los CRDT, a pesar de sufrir de alta latencia, fallos, o desconexiones en la red; estos continúan teniendo capacidad de recepción, disponibilidad y escalabilidad [111]. 13. Embedded Parallel Operating System (EPOS) EPOS fue creado en 1997, básicamente como un proyecto para experimentar con los conceptos y mecanismos de los diseños de sistemas [112]. EPOS tiene como objetivo lograr la automatización del desarrollo de sistemas integrados, con el fin de que los desarrolladores se centren solo en “sus aplicaciones”. Adicionalmente, esta tecnología posee herramientas para seleccionar, adaptar y conectar componentes en un marco específico de la aplicación, lo que permite la generación automática de instancias de un sistema integrado específico [113]. 14. Trustful Space Time Protocol (TSTP) TSTP es un protocolo que proporciona funcionalidades que las aplicaciones requieren en las redes de sensores inalámbricos o IoT. TSTP se basa en un

Page 78: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 70

protocolo de capas cruzadas, en lugar de centrarse en arquitecturas modulares o de capas. Adicionalmente, TSTP ofrece una cooperación optimizada y sinérgica de los protocolos, descartando el empleo de capas de software adicionales y heterogéneas [114] [115]. 15. Elliptic Curve Cryptography (ECC) ECC proporciona la funcionalidades básicas de clave pública criptográfica, cifrado, firmas digitales y acuerdo de claves [116]. ECC opera en grupos de puntos sobre curvas elípticas, y su seguridad se basa en el complejo problema logarítmico discreto de la curva elíptica (ECDLP); lo que permite que ECC logre un considerable nivel de seguridad, proporcionando claves pequeñas y alta eficiencia computacional [117]. 16. Elliptic Curve Digital Signature Algorithm (ECDSA) ECDSA [118] es el análogo del algoritmo de la firma digital, pero con el cifrado de la curva elíptica subyacente; el cual, a diferencia de los problemas de logaritmos discretos ordinarios y la factorización de enteros, no posee algoritmos de tiempo subexponencial conocidos para su solución, lo que hace de esta tecnología tenga una gran fortaleza en sus claves Bit. ECDSA es utilizado para generar una firma digital en datos, que consiste en una clave pública y una clave privada; y asimismo para verificar la autenticidad de un firma [119]. 17. World Wide Web Consortium (W3C) W3C es una comunidad internacional, la cual tiene como principal finalidad, guiar la web hacia su máximo potencial, desarrollar protocolos y directrices que aseguren el crecimiento de la Web. El World Wide Web o Web, a diferencia del Internet, es un espacio de información en donde los elementos de interés, se identifican a través de identificadores de recurso uniforme (URI) [120]. 18. Trie Tree Es una forma de recuperar y almacenar información. Sus principales ventajas, en comparación al almacenamiento convencional, son: La gran facilidad de agregar o actualizar la información, fácil gestión de argumentos de diferentes longitudes y el aprovechamiento de la redundancia de la información almacenada [121]. 19. NarrowBand-IoT (NB-IoT) NB-IoT es un sistema construido a partir de las funcionalidades de la tecnología Long Term Evolution (LTE), además tiene como objetivo el diseño de dispositivos de bajo costo, alta cobertura, larga duracion de la batería del dispositivo y gran capacidad de dispositivos por canal [122]. 20. Object-based security Architecture (OSCAR) OSCAR [123] es una arquitectura End to End enfocada en la seguridad de IoT; el cual está basado en el concepto de seguridad de objetos. Esta arquitectura provee claves de seguridad a los clientes IoT, con el fin de permitirles el acceso a nodos del protocolo que se encuentran restringidos; y al mismo tiempo proporciona una flexibilidad mayor para el sistema. Además, OSCAR es compatible con la multidifusión, tráfico asíncrono y almacenamiento caché.

Page 79: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 71

21. Authentication and authorization for constrained environments (ACE) ACE es un área de trabajo para la autenticación y autorización en entornos restringidos. ACE mejora la autorización para dispositivos IoT, los cuales necesitan admitir diferentes tipos de autorización en relación al caso de uso respectivo. Adicionalmente, ACE permite que coexistan variantes de implementación heterogéneas, lo que resulta importante para cubrir la amplia gama de casos de usos IoT y los requisitos correspondientes a la seguridad [124]. 22. Light Fidelity (Li-Fi) Comunication Scheme El esquema Li-Fi [125] consiste en la comunicación mediante el envío de señales digitales a través de la luz, extrayendo datos de la fibra óptica y enviando datos desde una bombilla de luz Light-Emitting Diode (LED); la cual posee un cambio de intensidad que no puede ser detectado por el ojo humano. Adicionalmente esta tecnología proporciona una energía altamente eficiente y un funcionamiento mejor en comparación con los enfoques convencionales. 23. Algoritmo eficiente controller-hopping (ECHA) Es un algoritmo inspirado en la naturaleza, el cual emplea el enfoque del algoritmo meta-heurístico Firefly, propuesto inicialmente por Xin-She [126]. ECHA puede ser utilizado en Blockchain para la optimización del trabajo de los mineros; por lo que ECHA tiene en cuenta los datos estadísticos generados y recopilados durante el procesamiento en línea, con la finalidad de elegir un grupos de mineros que puedan minar eficientemente [78]. 24. FS-OpenSecurity FS-OpenSecurity [127] es una arquitectura de modelado taxonómico para amenazas de seguridad, el cual es introducido en la Software Defined Networking (SDN). Esta tecnología consiste en un protocolo escalable, ligero e independiente; el cual proporciona flexibilidad operativa, y prevención proactiva y reactiva ante los incidentes que puede ocasionar un panorama de amenazas variable. 25. Cluster Kafka Kafka [128] es una plataforma de flujo y con código abierto, diseñado específicamente para proporcionar alto rendimiento, baja latencia, y el procesamiento de transacciones y otras fuentes de datos en tiempo real. Kafka, es utilizado normalmente para la conectividad entre los sistemas externamente, mediante la importación o exportación de datos. Adicionalmente, esta tecnología posee un Zookeeper, principalmente para la coordinación de los consumidores. 26. Resilient and Robust Access Control (R2AC) Es un prototipo de sistema, implementado en [81], el cual es empleado para facilitar el intercambio de información entre dispositivos heterogéneos; además permite a los dispositivos IoT registrados conectarse a cualquier gateway de una red IoT. R2AC consiste en un esquema de comunicación Peer to Peer, una arquitectura Representational State Transfer (REST) sobre el protocolo Hypertext Transfer Protocol (HTTP), un método de autenticación, y una implementación de Blockchain ligera.

Page 80: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 72

27. Cifrado simétrico AES-GCM AES-GCM [129] es un esquema de cifrado de autenticación, el cual fue implementado por McGrew y Viegais. AES-GCM es una forma de criptografía de clave simétrica, que proporciona integridad, autenticidad y confidencialidad. Esta tecnología, fue utilizada en sus inicios como una forma de admitir datos a altas velocidades, debido al procesamiento paralelo característico. Actualmente es empleada en aplicaciones con limitaciones por su facilidad de uso y escalabilidad. 28. P2P overlay routing El P2P overlay routing es el enrutamiento en redes lógicas, implementadas sobre redes físicas. La tecnología P2P overlay permite obviar la rigidez particular de las redes físicas, y proporcionar mayor extensibilidad y adaptabilidad a la red [130]. El enrutamiento en las P2P overlay consiste en elegir que enlace superpuesto es el mejor para el Peer de destino, y en proporcionar un eficiente enrutamiento en una red cambiante [131]. Adicionalmente, en algunos casos, esta tecnología posee unas tablas hash distribuidas (DHT), las cuales contienen información acerca de la ubicación de cada Peer de la red [130]. 29. Claves RSA con GNU Privacy Guard Las claves RSA consisten en un algoritmo de cifrado asimétrico de claves públicas por bloques. RSA es el acrónimo de sus autores (Rivest, Shamir y Adleman), los cuales trabajaron en esta tecnología en 1977, y actualmente es uno de los algoritmos más empleados [132]. Por su parte, GNU Privacy Guard es una implementación que permite cifrar y firmar datos y comunicaciones, además posee un versátil sistema de gestión de claves y módulos de acceso para directorios de claves públicas [133]. Ambas tecnologías son empleadas de manera conjunta, para ofrecer garantías de confiabilidad e integridad a los datos [84]. 30. InterPlanetary File System (IPFS) IPFS [134] es un sistema de archivos distribuidos P2P, el cual busca conectar todos los dispositivos informáticos en el mismo sistema. IPFS sintetiza, evoluciona y conecta técnicas en un solo sistema cohesivo, proporcionando una plataforma para implementar y desplegar aplicaciones, y un sistema para distribuir y gestionar versiones de datos. 31. Light Clients de Ethereum Light Clients [135] es un protocolo ligero de Ethereum Blockchain; el cual proporciona a los usuarios, en entornos de capacidad baja, un alto grado de seguridad o la capacidad de verificar la ejecución de las transacciones. Además, esta tecnología permite que se verifique solo la información necesaria, cuando se realizan las descargas de bloques de Blockchain. Light Clients se asegura de la veracidad de los datos, siempre que los mineros Ethereum sigan correctamente el protocolo.

Page 81: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 73

4.5.2. Resumen de las arquitecturas propuestas en los artículos seleccionados

En esta sección se resumen los 34 artículos considerados en este estudio, mencionando y describiendo los componentes más importantes, así como también el funcionamiento de las arquitecturas propuestas en cada artículo. 1.- Artículo [55] En [55], se propone ChainAnchor, una arquitectura Peer to Peer para la puesta en marcha de un dispositivo IoT en la nube. ChainAnchor tiene como finalidad ofrecer un modelo que preserva la privacidad de los usuarios, proporcionando procedencia de datos y el registro del dispositivo de forma anónima, mediante el uso de una red Blockchain privada. Esta arquitectura utiliza el protocolo de Proof Zero Knowledge de Enhanced Privacy ID (EPID) para permitir que el dispositivo compruebe su procedencia, y a la vez mantener el dispositivo anónimo y no trazable para el Provenance Verifier u otra entidad externa. Además, esta EPID genera las claves públicas para la verificación de procedencia, y las claves privadas de los dispositivos miembros utilizados por ChainAnchor. La arquitectura del estudio posee las siguientes entidades: (1) Device Manufaturer and Provenance Issuer (DM-PI). Es la entidad que crea el dispositivo, y busca permitir que las entidades externas obtengan una garantía en cuanto a la procedencia de los dispositivos que produce. (2) Data Broker and Provenance Verifier (DB-PV). Realizan una verificación anónima de los dispositivos, existen múltiples DB-PV. (3) Device owner. Persona titular del dispositivo. (4) On-Boarding Tool (OBT) & Wallet. Es una herramienta software que es usada por los propietarios del dispositivo para gestionar dispositivos limitados. Wallet permite interactuar con Blockchain. (5) Constrained Device. Es el dispositivo que está siendo puesto en marcha por el propietario y se encuentra comprometido con el DB-PV (Provenance Attester). (6) Blockchain. Es la red Peer to Peer Blockchain privada, que reconoce al dispositivo solo mediante su clave pública de transacción; además la existencia de dicha clave pública en Blockchain señala a los Data Brokers y a los proveedores de servicio relacionado, que el dispositivo está operativo con consentimiento del propietario.

Page 82: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 74

2.- Artículo [56] En [56], se propone una arquitectura Blockchain para aplicaciones IoT, la cual se enfoca en preservar la privacidad de las transacciones de datos, mediante el empleo de Attribute Based Encryption (ABE). El esquema ABE, tiene un enfoque jerárquico descentralizado, que proporciona confidencialidad y control de acceso, mediante el cifrado, y el control de quien puede ver y usar las transacciones de datos. Es importante resaltar que, en esta arquitectura propuesta se realizan algunos cambios en el protocolo de Blockchain, sin que este pierda sus principales propiedades.

Este modelo implica cuatro partes: (1) Cluster Head. Brinda, para un grupo de sensores IoT, mayor potencia, y a la vez realiza operaciones de cómputo intenso, como procesamiento de datos, generación de claves públicas, privadas y firmas digitales para los dispositivos IoT; además del cifrado de los datos mediante ABE, antes de realizar las transacciones. (2) Los mineros Blockchain. Verifican las transacciones considerando sus atributos (características y requisitos de usuario) correctos, además contribuyen con Blockchain. Pueden ser mineros los proveedores de servicio o Cluster Head. (3) Attribute Authorities (AAs). Se encargan de verificar y enviar credenciales para los diferentes mineros y usuarios de acuerdo a sus atributos, estas credenciales muchas veces son enviadas desde varios AA, con la finalidad de evitar tener un único punto de fallo. (4) El registro distribuido (Blockchain). Se encarga de las transacciones de datos, su verificación, minado, además también de la adición de nuevos bloques, y la recompensa de los mineros.

Gráfico 4.9. Vista general de la puesta en marcha y activación de un dispositivo en ChainAnchor. Recuperado de [48].

Page 83: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 75

Gráfico 4.10. Arquitectura IoT - Blockchain basada en una plataforma de intercambio de datos. Recuperado de [57].

3.- Artículo [57] En [57], se presenta una solución descentralizada IoT basada en Blockchain (Ethereum), con un enfoque en el intercambio de datos confiables, para poder cumplir los siguientes requisitos: Comercio y acceso de datos confiables, y la preservación de la privacidad. La arquitectura de la solución comprende de cuatro capas: (1) Capa de datos. Que consiste en dos partes; primero, datos IoT que pueden ser almacenados en varios lugares (data source, storage clouds, database clouds, etc.); y segundo, el registro de intercambio de datos almacenados en la red Blockchain. (2) Capa de red. Incluye una red múltiple, que es responsable del acceso y transmisión de los datos de origen, y una red Blockchain que lo componen uno o más nodos Blockchain, esta red Blockchain almacena todas las transacciones y garantiza el intercambio de datos IoT. (3) Capa de protocolo. Se encarga de la gestión común de intercambio de datos IoT, como la administración de usuarios, gestión de datos (recopilación y búsqueda) y la gestión de intercambio datos, específicamente del acceso a los datos; Adicionalmente, en esta capa, se implementan un grupo de Smart Contract a fin de automatizar y hacer un sistema configurable. (4) Capa de interacción. Proporciona la interfaz para que las partes que intercambian datos se comuniquen entre sí, puede ser interacción en la web o para teléfonos móviles.

4.- Artículo [58]

En [58], se propone una arquitectura Smart Home ligera basada en Blockchain, que reduce el costo computacional de Blockchain al no requerir del minado clásico; además, se implementa de una forma jerárquica y manteniendo una gran registro inmutable (IL) centralizado; todo esto sin dejar de proporcionar los beneficios de seguridad y privacidad.

Esta arquitectura consiste en un área de trabajo que posee tres capas: (1) Smart Home. Comprende los dispositivos IoT, un registro inmutable local que es

Page 84: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 76

Gráfico 4.11. Smart home basado en Blockchain. Recuperado de [58].

parecido a Blockchain pero centralizado, el cual es gestionado por un Smart Home Manager (SHM); el SHM gestiona las transacciones; las claves compartidas para la comunicación local; y un almacenamiento local. (2) Overlay Network. Es una red distribuida con nodos (overlay nodes) que se agrupan en clusters para reducir el gasto y el retraso computacional, estos nodos eligen un Cluster Head (CH) que mantiene una cadena de bloques publica, cada CH tiene una Public Key (PK) para generar nuevos bloques. Con la finalidad de obtener la validación de los bloques se utiliza la confianza distribuida, esta validación consiste en que cada CH mantenga una calificación de confianza de otros CHs. (3) Cloud Storage. Agrupa los datos del usuario en bloques asociados, el cual junto con el hash del dato almacenado es utilizado por el SHM para la autenticación.

5.- Artículo [59] En [59], se propone una arquitectura IoT que combina una plataforma de información compartida Smart–M3 y la tecnología Blockchain, para la interacción entre componentes industriales de una Smart Factory (IIoT), esta interacción logra superar inconvenientes tales como: El establecimiento de autoridad, durabilidad, intercambio de datos, control sobre los recursos en producción, e integración de un mecanismo de consenso entre los participantes. Smart-M3 es una plataforma para organizar un espacio de interacción IoT entre componentes de una industria (Smart Space). La integración de Blockchain a estas tecnologías antes mencionadas proporciona confianza entre los componentes de la red de producción; adicionalmente, se emplean también los Smart Contracts de Blockchain, específicamente para el procesamiento y almacenamiento de información, la cual está relacionada a la interacción entre los componentes de los Smart Spaces.

La plataforma Smart–M3 posee un componente principal, que es el Semantic Information Bróker (SIB) que almacena las solicitudes de información y servicio de los participantes (Knowledge Processors (KP)), mediante el protocolo de acceso de los Smart Space (SSAP). El SSAP permite grabar y a la vez eliminar información y consultas.

Page 85: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 77

Gráfico 4.12. Arquitectura del sistema Smart-M3. Recuperado de [59].

Gráfico 4.13. Arquitectura del sistema de integración de Blockchain con la plataforma Smart-M3. Recuperado de [59].

La tecnología Blockchain que se adopta, posee una limitación con el grupo de los tipos de datos estructurados, dado esto, se crea una capa adicional en la parte superior de Blockchain, en la que se puede leer las transacciones y crear propios estados. Blockchain es usado principalmente como medio de distribución de información, construcción de consenso, gestión de usuarios, conducción de verificaciones básicas semánticas y de sintaxis, como también presenta ciertas capacidades propias. Adicionalmente, con el fin de integrar la plataforma Smart-M3 y Blockchain, se desarrolla un componente de integración, el cual lee las transacciones, filtra información de Blockchain para ser escrita en el Smart Space, y produce cambios de estado en el Smart–M3; estos cambios de estado ocurren solo cuando Blockchain aprueba las solicitudes de algún KP.

Un KP puede buscar o suscribirse a la información de un Smart Space enviando una solicitud directamente al Smart-M3; pero, para obtener actualizaciones debe solicitarlo al componente de integración, que lo reenviará a Blockchain, para la aceptación o negación correspondiente.

Page 86: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 78

6.- Artículo [60] En [60], se propone un diseño Smart Things, que proporciona autonomía en la red IoT. Este diseño automatiza tareas como la realización de inferencias y monitorización; además configura un cluster Blockchain en una red Fog, muy cerca de la capa de Things, para permitir la comunicación entre Smart Things en tiempo real. La arquitectura híbrida propuesta nos ofrece dos principales componentes: (1) Smart Things. Es un artefacto de Software que poseen mayor capacidad de cómputo que los dispositivos IoT, tiene tres componentes: (a) Reader. Toma datos del entorno mediante sensores físicos y los envía al Self-inferencing Resources. (b) Self-inferencing Resources. Con la ayuda de un sistema experto como el C Language Integrated Production System (CLIPS), construye inferencias mediante inteligencia artificial con base a reglas pre configuradas, para luego ser enviadas al Self-monitoring Resources. (c) Self-monitoring Resources. Evalúa los estándares aceptados, interactúa con Blockchain y si es necesario envía datos para su difusión en la capa Things. (2) Blockchain Protocol Multichain. Es un cluster Blockchain privado en la red Fog, usado en esta arquitectura para la comunicación entre Smart Things en tiempo real, también gestiona los accesos a los bloques, usando una lista de participantes registrados. Además, este protocolo Blockchain, emplea el algoritmo Round Robin como método de consenso.

7.- Artículo [61] En [61], se propone la arquitectura de un sistema software con un diseño descentralizado Peer to Peer, en combinación con Blockchain para IoT; en la cual los datos producidos por los usuarios de los dispositivos IoT están almacenados

Gráfico 4.14. Arquitectura Smart Things incluyendo Multichain. Recuperado de [60].

Page 87: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 79

de manera segura y garantizando la privacidad, además otorga al usuario la capacidad de decidir qué datos compartir y con quien. Esta arquitectura consiste principalmente en tres componentes: El primer componente es una red Peer to Peer, en la cual se preserva la privacidad de los datos almacenados localmente; En esta red cada dato es distribuido entre todos los pares/nodos, para de esta forma no tener solo un punto de acceso a los datos, y que solo el propietario de los datos pueda manipularlos. El segundo es Blockchain, un registro Peer to Peer que es útil en esta arquitectura para certificar datos de los dispositivos IoT, ya que gracias a la función hash de los datos, se podrá detectar alguna modificación no autorizada. El tercero contiene las reglas de acceso, que permiten a los usuarios definir cómo compartir sus datos y con quienes; en este proceso, pueden ser utilizadas las claves criptográficas públicas de las entidades. Estas políticas de acceso ofrecen la capacidad de elegir el nivel del intercambio de datos como: intercambio anónimo, intercambio de datos procesados, intercambio de datos sin procesar, entre otros; generando con esto un alto nivel de robustez y resiliencia. 8.- Artículo [62] En [62], se propone VeidBlock, una solución basada en los conceptos de Blockchain, registros distribuidos y en las redes definidas por software (SDN). VeidBlock mediante un proceso de autenticación confiable, genera identidades verificables, con la finalidad de obtener una autenticación anónima, y el mantenimiento de la seguridad y privacidad. Las identidades, gestionadas por esta solución, son resistentes contra ataques de manipulación y suplantación. Los niveles y componentes de la arquitectura son los siguientes: (1) Infrastructure Level Security Services. Representa servicios de clave pública y mantiene la confianza entre varios componentes, posee un servicio Policy Certification Authority (CA), que se encarga de certificar los niveles de dominio CA y respaldar las políticas personalizadas, de acuerdo a los requerimientos de los diferentes dominios. (2) Domain Certification Authority (DCA). Los dominios en el sistema pueden ser reales, en un centro de datos o virtuales en el entorno de la nube, para ambos casos se implementa un DCA el cual se conecta con la policy CA para la certificación y la obtención de las políticas de dominio del nivel. (3) Identity Provider (Authority) & Validator (IPV). Este componente es esencial en la arquitectura propuesta, para gestionar las identidades, validarlas, verificarlas y autenticar los servicios. Este componente, al crear una Verifiable Identity Block (VeidBlock), le solicita al Ledger Provider crear un Verifiable Identity Block in Ledger (LedgerVeidBlock), en base a los concepto de Blockchain. (4) Ledger Provider (LP). Gestiona todos los LedgerVeidBlock. Asimismo, recibe los VeidBlock de IPV y crea los LedgerVeidBlock en un ledger, el cual es distribuido a todos los LP de los dominios conectados.

Page 88: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 80

9.- Artículo [63] En [63], se propone ControlChain, una arquitectura Blockchain para la autorización de accesos en IoT, descentralizada, resiliente, escalable, tolerante a fallos, compatible con otros modelos de control de acceso y que permite el trabajo off-line. Blockchain es utilizada específicamente para almacenar reglas de control de accesos, relaciones, contextos y responsabilidad de información. Se divide la base de datos de ControlChain en 4 Blockchains diferentes: (1) Relationships Blockchain. Es responsable de almacenar credenciales públicas y las relaciones entre entidades (objetos, sujetos, grupos de objetos), ya sean externas o dependientes; es importante este historial, ya que ayudan para la decisión del acceso de autorización. (2) Context Blockchain. Almacena información contextual de los sensores, procesa datos y entradas manuales, puede ser usada en la decisión de autorización. (3) Accountability Blockchain. Registra información acerca de permisos o denegación de acceso para objetos. Además se registran también tres tipos de mecanismos de control de accesos adicionales (condiciones de contexto, obligaciones y listas de información), con el fin de tener un mecanismo genérico para la variedad de modelos que se utilizan en IoT (4) Rules Blockchain. Mantienen las reglas de autenticación definidas. (5) Decoder. Recibe el modelo de control de acceso y las reglas; y las traduce en mecanismos compatibles con la arquitectura propuesta.

Gráfico 4.15. Entorno de seguridad basada en Blockchain y la tecnología legder integrado con componentes de una red definida por software (SDN). Recuperado de [62].

Page 89: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 81

Gráfico 4.17. Entorno de aprendizaje ubicuo basado en la tecnología Blockchain. Recuperado de [64].

10.- Artículo [64] En [64], se presenta una arquitectura Peer to Peer basada en Blockchain para entornos de aprendizajes ubicuos, que preserva la seguridad y privacidad. La contribución principal de este estudio es probar la combinación de la computación ubicua, IoT y Blockchain. Este último por su parte, proporciona un sistema distribuido resiliente, además de interoperabilidad e interacción entre peers de manera efectiva.

La arquitectura consiste principalmente en dos partes: (1) El entorno de aprendizaje ubicuo. Contiene sensores, colector de datos (gestionados por Smart Contract) y redes. Estos elementos son conectados por medio de internet, con la finalidad de transferir datos seguros hacia la plataforma IoT ubicua, para su análisis y procesamiento. (2) La plataforma Cloud IoT basada en Blockchain. Permite el acceso seguro a los datos. En la red privada Blockchain, el colector de datos es integrado a esta, asegurando las transacciones compartidas. Los usuarios (en este caso estudiantes) utilizan el consenso para aprobar el contenido del registro y verificar que los registros sean duplicados. El cifrado hash es empleado para confirmar la confiabilidad de las transacciones.

Gráfico 4.16. Vista general de la arquitectura ControlChain. Recuperado de [63].

Page 90: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 82

11.- Artículo [65] En [65], se propone Vegvisir, una solución Blockchain que soporta particiones para el empleo en entornos IoT de potencia restringida y poca conectividad. En este estudio, Blockchain crea un repositorio de datos compartido a prueba de manipulación, con el fin de mantener la procedencia de los datos. El software de Vegvisir comprende las siguientes partes: (1) Blockchain. Comprende bloques interconectados y transacciones, pero a diferencia de una red Blockchain tradicional, cada bloque puede señalar a uno o más bloques, formando un Directed acyclic raph (DAG), en lugar de una cadena lineal; estos bloques son difundidos por toda la red mediante el protocolo Gossip. De forma general, Blockchain mantiene la persistencia de los datos, almacena una copia local del DAG, verifica la validación de los bloques, y traspasa las transacciones a la máquina de estados de Conflict-free Replicated Data Types (CRDT). (2) Máquina de estados CRDT (CSM). Valida las transacciones y actualizaciones correspondientes; y gracias a su conmutatividad, ayuda a tener un automático orden parcial de las transacciones. (3) Support Blockchain. Opera en la nube junto con los Superpeers, además almacena partes del DAG de los dispositivos IoT que se vean limitados en almacenamiento. Esto también se aplica para entornos de dispositivos de IoT con limitación en batería y potencia, con la finalidad de que tengan acceso a servidores de mayor potencia. 12.- Artículo [66] En [66], se propone una arquitectura con características Blockchain, que permite mejorar la verificación de la integridad de los datos producidos por un Cyber Physical System (CPS) con almacenamientos de datos remotos de confianza media. Además, esta propuesta subdivide sus tareas de acuerdo a los recursos computacionales disponibles, en los dispositivos de cada nivel. Esta arquitectura comprende de tres niveles: (1) Nivel IoT. El cual proporciona un alto nivel de confianza de comunicación entre pares/nodos y en los datos que estos producen, esta confianza depende de una tecnología llamada Embedded Parallel Operating System (EPOS), adoptada por el Trustful Space Time Protocol (TSTP); que a su vez habilita una Proof of Trust (PoT), la cual consiste en la negociación de claves y la asociación de un peer en la red TSTP, lo que le permite al peer y a sus datos producidos alcanzar un alto nivel de confianza. (2) Nivel Fog. Este nivel proporciona un acuerdo de tiempo no aleatorio y determinista, dado por algunos IoT Redundant Gateways mediante el algoritmo de Proof of Luck (PoL), a fin de obtener tolerancia de fallos y evitar datos corruptos. El Slice Management se encarga de verificar el registro temporal de los datos IoT, para generar y almacenar compendios criptográficos en un registro público Blockchain. (3) Nivel Cloud. Representa un proveedor de almacenamiento de datos utilizado por los gateways y Blockchain. Este almacenamiento admite una verificación de datos integra de forma descentralizada, sin la necesidad de una tercera partición auditora. Por su parte Blockchain consolida el compendio criptográfico de los

Page 91: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 83

Gráfico 4.18. La tecnología Blockchain basada en la verificación de la integridad de datos para CPS IoT. Recuperado de [66].

datos IoT y lo almacena en Smart Contracts, lo que proporciona la verificación de la integridad de los datos IoT en un proveedor Cloud.

13.- Artículo [67] En [67], se propone un esquema de autenticación fuera de banda por dos factores para dispositivos IoT, basado en una infraestructura Blockchain. Este esquema ofrece una autentificación segura y fiable para los dispositivos IoT, a fin de evitar ataques de dispositivos maliciosos o la usurpación. Los canales fuera de banda pueden ser acústicos o visuales.

Se definen cuatro componentes de la arquitectura del esquema: (1) Authentication Subject (AS). Dispositivo que requiere ser autenticado para acceder a servicios o datos, siendo la finalidad principal de este esquema determinar si el AS se encuentra dentro o fuera de la zona correspondiente (en el estudio, la casa) (2) Related Device (RD). Es un dispositivo verificador para las autenticaciones, que puede ser de iluminación, acústica, etc. Luego de su verificación envía el resultado a Blockchain invocando la función de un Smart Contract. (3) Blockchain. En este componente se almacena la información relacionada con cada AS y los resultados de la verificación. (4) Authentication Executor (AE). Es la entidad que realiza y coordina la autenticación por dos factores, enviando al AS una secuencia de código de acción (p. ej. 1 para ON y 0 para OFF) con una alta frecuencia, que los ojos humanos no lo pueden detectar. Luego, se comprueba la verificación de RD desde Blockchain, mediante un Smart Contract, y se decide si se garantiza el acceso del AS, o no.

Page 92: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 84

14.- Artículo [68] En [68], se propone una plataforma JointCloud basada en Blockchain, con el fin mitigar problemas de seguridad y fusión de datos, provocados especialmente por las plataformas Cloud. Además, JointCloud proporciona un entorno confiable para el intercambio de datos entre Clouds, y además la grabación de todas las transacciones mediante Blockchain. Este tipo de plataformas también son necesitadas para actividades de minería de datos y analítica en IoT. En este estudio se propone una JointCloud Collaboration (JCC), que es una nueva generación de modelo Cloud computing, el cual permite la personalización de los servicios Cloud, teniendo un servicio con menos fronteras/límites facilitando el intercambio de datos. JCC implementa un JointCloud Collaboration Enviroment (JCCE), que sirve como plataforma uniforme entre Clouds, permitiendo la integración de sus recursos y además tiene como tecnología subyacente a Blockchain, que es llamado este caso JointCloud Blockchain (JCB). JCB se encarga de la privacidad de los datos, proporcionado por el almacenamiento de transacciones característico de Blockchain; posee también tres módulos funcionales llamados: transacciones, comunidad y supervisión; todas estas funciones son realizadas mediante Smart Contract, que ayuda a tener una fusión de datos entre Clouds, además de mantenerlas en un entorno confiable.

Gráfico 4.19. Autenticación secundaria fuera de banda. Recuperado de [67].

Page 93: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 85

15.- Artículo [69] En [69], se propone una arquitectura de seguridad basada en Blockchain para un almacenaje Cloud distribuido, el cual tiene como propósito ofrecer un almacenamiento en la nube más seguro y confiable; además se resuelve el problema de la ubicación de las réplicas de archivos y el retardo de la transmisión de datos es reducido. Blockchain se usa como un mecanismo comercial intermedio entre, los proveedores y consumidores de espacios en la nube. Con el fin de cifrar y fragmentar los archivos antes de subirlos a la red Peer to Peer, los usuarios ejecutan un algoritmo de generación de claves basado en Elliptic Curve Cryptography (ECC) y un algoritmo de firma digital llamado ECDSA. Además, se puede almacenar archivos hashes, ubicación del archivo URL, réplicas de ubicación del archivo URL, etc., en lugar de los bloques de archivo en Blockchain; dado esto, cada usuario tiene una copia de todas las transacciones de tamaño mínimo, lo que ahorra espacio de memoria, y a su vez, no permite obtener información fácilmente a los adversarios. En esta arquitectura se almacenan los bloques de archivos y sus réplicas aleatoriamente en nodos de la red Peer to Peer; asimismo, usando las réplicas como redundancia de datos se logra la tolerancia a fallos. Adicionalmente, la verificación de la integridad de los datos se logra mediante la utilización del Merkle Hash Tree (MHT), que se construye mediante una operación hash criptográfica unidireccional como SHA256, además, la raíz de MHT se encuentra en todos los block’s head de Blockchain. Las transacciones en Blockchain de esta arquitectura no son financieras, son colecciones de ubicación de almacenamiento de archivos.

Gráfico 4.20. Entorno de colaboración JointCloud (JCCE). Recuperado de [68].

Page 94: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 86

16.- Artículo [70] En [70], se propone un esquema Distributed Mobility Management (DMM), para transferencias, basado en Blockchain. Este esquema resuelve problemas de seguridad jerárquicos, y proporciona menor consumo de energía en las transferencias de datos. Además, el estar basado en la tecnología Blockchain, le otorga la capacidad de resolver problemas relacionados a la defensa de ataques de objetos maliciosos, denegación de servicios, suplantación, etc. La arquitectura de este esquema posee tres diferentes Blockchains, con sus respectivos tipos de bloques: (1) Blockchain del usuario. Comprende los Mobile Nodes (MNs), que dentro de este se implementa el formato de bloque MN, que usa un hash para sus propios y previos miembros de esta red Blockchain. Este bloque es capaz de generar firmas en base a los hashes y almacenar los conflictos (fallos en las transferencias entre dos entidades) de los MNs con una marca de tiempo (timestamp). (2) Blockchain región. Controla los Mobility Anchors and Access Routers (MAARs) y posee un bloque MAAR que comprende datos de entrada que gestionan los MAARs, hashes para MAARs conectados, fortalezas del bloque MN, trazas de las transferencias, claves de acceso para registros de las Proof of Works (PoWs) y muestra las claves de acceso para otros MAARs. Este blockchain gestiona transferencia de datos entre MNs, verificando los conflictos de los conflictos pasados de estos. (3) Blockchain PoW. Es una red Blockchain privada implementada en el servidor de la red Fog, es responsable de coordinar los registros del inter-MAAR y apoyar sus conflictos. Posee un bloque

Gráfico 4.21. Arquitectura de almacenamiento Cloud distribuido basada en

Blockchain. Recuperado de [69].

Page 95: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 87

Gráfico 4.22. Formato de bloque para MN, MAAR y PoW. Recuperado de [70].

PoW que es similar al bloque MAARs; contiene además, información acerca de otros PoWs con una lista de MAARs y sus fortalezas.

17.- Artículo [71]

En [71], se presenta una arquitectura Cloud distribuida basada en Blockchain con una red definida por software (SDN), la cual habilita nodos Fog en el borde de la red. En general se utilizan tres tecnologías: Fog computing, SDN y Blockchain. Esta arquitectura proporciona una eficiente gestión de los datos iniciales, los cuales son producidos por una gran cantidad de dispositivos IoT, es decir, ofrece baja latencia de acceso para una gran cantidad de datos de manera segura, alta disponibilidad, resiliencia, tiempo de respuesta en tiempo real, escalabilidad, bajo costo, seguridad y alto rendimiento para una red IoT.

Esta arquitectura consiste en tres capas: (1) Capa de dispositivos. Esta capa comprende la monitorización de la infraestructura del entorno público, y envío de datos filtrados a la capa Fog. (2) Capa Fog. Esta capa consiste principalmente en un grupo de nodos Fog de alto rendimiento, que contiene una red Blockchain

Gráfico 4.23. Escenario de transferencia Distributed Mobility Management. Recuperado de [70].

Page 96: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 88

Gráfico 4.24. Vista general de la arquitectura cloud Blockchain distribuida. Recuperado de [71].

basada en SDN controladas y distribuidas, en la que cada nodo Fog cubre una pequeña comunidad de dispositivos, estos nodos Fog son potenciado con una función de análisis del flujo de reglas, y una función de migración de paquetes, para asegurar la red durante la saturación de ataques. (3) Capa Cloud. Esta capa consiste en una plataforma Cloud distribuida basada en Blockchain, que proporciona seguridad, bajo costo y acceso según la demanda de las infraestructuras informáticas más competitivas. En esta red Blockchain realiza validaciones mediante una prueba de contribuciones, llamado en este artículo Proof of Service.

Adicionalmente, de manera intermedia a la capa de dispositivos y la capa Fog, se implementa una multi-interfaced Base Stations (BSs) con una SDN, para facilitar la conexión inalámbrica (IoT) y todo tipo de comunicación entre los dispositivos IoT y los nodos Fog.

18.- Artículo [72] En [72], se propone un sistema de gestión de las configuraciones (CMS), que proporciona control sobre los administradores. Este sistema utiliza Hyperledger Fabric (HF), el cual permite un entorno y un registro distribuido, basado en Blockchain. Además, el CMS es capaz de conducir una autorización multi-party para alcanzar la tolerancia a fallos contra configuraciones peligrosas o defectuosas. La arquitectura de este sistema posee tres niveles: (1) Nivel de presentación. Funciona como interfaz del usuario. (2) Nivel lógico. Este nivel proporciona la

Page 97: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 89

lógica de funcionamiento de un CMS; además, tiene como principal función el gestionar las Configuration Requests (CR). Una CR es requerida para aplicar alguna configuración en los dispositivos, la cual debe ser validada por el CMS antes de ser aplicada. Un CMS contiene varias CRs. Las condiciones de validación se encuentran detalladas en las Validity Policies (VP), y los permisos de la entidad que propone la CR, en las Access Control Policies (ACP). Este nivel lógico está escrito en chaincode en la parte superior de la red HF; y ofrece una API con operaciones para proponer, aprobar, recuperar o recompensar una CR. (3) Nivel de datos. Sirve como una interfaz para el uso de almacenamiento de datos, con operaciones de lectura y escritura para el nivel lógico. HF es una empresa de una red Blockchain privada, que se ubica en el nivel lógico y de datos; HF está compuesto por un conjunto de Peers y un servicio de pedidos; además, la lógica de negocio es ejecutada en estos Peers en chaincode. HF se utiliza en dos formas: Como un entorno de ejecución y como almacenamiento distribuido.

Gráfico 4.25. Arquitectura del sistema e interacción entre Stakeholders. Recuperado de [72].

Gráfico 4.26. Arquitectura de tres capas para gestión de configuraciones. Recuperado de [72].

Page 98: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 90

19.- Artículo [73] En [73], se propone un patrón de arquitectura que admite la orquestación (TOM) confiable para Edge y Cloud, esta arquitectura adopta World Wide Web Consortium (W3C) como base conceptual y una plataforma Blockchain, esta última es utilizada como marco de procedencia. La arquitectura es implementada bajo los lineamientos de los principios de la seguridad de la identidad, procedencia de datos y no repudio, a fin de suplir los problemas provenientes del entorno abierto generado por la Edge y Fog computing. Esta arquitectura posee las siguientes capas: (1) Capa de Orquestación. Contiene un orquestador que decide la ubicación de los datos y actividades, también realiza actividades como recolector y analizador de containers; todas las actividades propias del orquestador son almacenadas en Blockchain; además, esta capa utiliza el estándar W3C PROV, el cual pone a disposición la representación e intercambio de la procedencia de la información; así mismo, este estándar puede realizar operaciones (IDENTIFY, EXEC, PLACE) con las entidades que interactúan. (2) Capa de confianza. En esta capa se ubica la tecnología Blockchain, el cual en este caso, sus métodos y protocolos están agrupados en clusters de dispositivos Edge. La tecnología Blockchain es empleada para gestionar la seguridad (identidad, procedencia y el no repudio), los Smart Contracts de Blockchain definen las decisiones tomadas por el orquestador. El contenido almacenado en Blockchain tiene la estructura siguientes: PROV, IDENTITY y ORCHESTATION.

Gráfico 4.27. Estructura de la arquitectura: Orquestación basada en Blockchain con una capa de orquestación (basada en PROV) y una capa de confianza (basada en Blockchain, reflejando

actividades PROV). Recuperado de [73].

Page 99: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 91

20.- Artículo [74] En [74], se propone una arquitectura End to End para el monitoreo de pacientes, la cual posee un PCA (Patient Centric Agent) gestionado por un registro Blockchain personalizado, que preserva la privacidad de los usuarios (en el estudio pacientes), además, la inserción de los datos en Blockchain permite el intercambio de estos entre nodos autorizados, y a la vez la integración en registros electrónicos. Adicionalmente, se garantiza la seguridad de los datos mediante un protocolo de comunicación ligero. Esta arquitectura está comprendida principalmente por dos niveles: (1) Health Control Unit. Es un centro de confianza para los Healthcare Provider Agents (HPA) y para el Patient Centric Agent (PCA); el Trust Management, parte de este nivel, supervisa las actividades de los mineros de Blockchain. (2) Data Stream & Storage. Dentro de este nivel se sitúa los siguientes sistemas: (a) Body Area Sensor Network (BSN). Son los diferentes tipos de sensores que realizan la medición de signos biológicos, normalmente con potencia limitada. (b) Sensor Data Provider (SDP). Es un software que se ejecuta en el smartphone del paciente y recibe los datos del BSN; además posee un módulo de seguridad que realiza operaciones para la generación de claves, autenticación, cifrado y descifrado, y un módulo de comunicación que transmite datos (NB-IoT) del paciente, cuando este se mueve a un nuevo lugar. (c) Patient Centric Agent (PCA). Es el sistema más importante y de más recursos computacionales en la arquitectura propuesta, se representa por un software que se ejecuta en algún dispositivo (ordenador portátil, ordenador de escritorio o servidor) del paciente, lo componen los módulos de gestión de datos, de seguridad, y de gestión del minero. (d) Blockchain personalizada. Esta red Blockchain conecta los BSN del paciente con el PCA; es también una base de datos resistente a la manipulación, y una autentica plataforma verificada por todos los nodos de Blockchain, la personalización de esta tecnología consiste en que el PCA decide que datos poner en Blockchain y selecciona los mineros para realizar la Proof of Work (PoW), para esta elección se tiene en cuenta la capacidad de los recursos de los mineros y los puntajes dados por otros PCAs. Además, el PCA realiza el procesamiento de los datos en tiempo de real, con el fin de reducir el gasto computacional de la tradicional red Blockchain. Asimismo, en esta personalización de Blockchain se utiliza el árbol Trie, en vez del árbol Merkle, a fin de recuperar datos rápidamente y mantener su integridad. (e) Healthcare Provider Agent (HPA). Es un servidor central que almacena y analiza los datos de salud del paciente, funciona de manera similar que el PCA. (f) Healthcare Provider Wallet (HPW). Posee módulos que realizan tareas como proporcionar al HPA acceso a Blockchain, prevenir de ataques internos a la información del paciente, y proteger contra los intentos de empleo sin autorización de los datos de los pacientes por los HPA.

Page 100: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 92

Gráfico 4.28. Arquitectura de monitorización remota de pacientes basada en niveles. Recuperado de [74].

Gráfico 4.29. Vista conceptual de los niveles basados en una arquitectura de monitorización de la salud. Recuperado de [74].

Page 101: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 93

21.- Artículo [75] En [75], se presenta un modelo distribuido de confianza para IoT, que une dominios sin una raíz común. Este modelo utiliza una red Blockchain con un mecanismo de reputación, llamado Obligation Chain. El modelo proporciona un sistema de control de acceso que tiene en cuenta la reputación de los consumidores del servicio (SC), la cual es usada por los proveedores del servicio (SP). Dado que los dispositivos de SC (SCD) busca algún servicio de los dispositivos SP (SPD), se trata de establecer la confianza entre los Back-ends de los SC y SP (SCB y SPB), para que estos puedan transmitir confianza a sus dispositivos. Para esto, los SC y SP principalmente cooperan intercambiando términos de uso y obligaciones. Los términos de uso son reglas que los SCs deben cumplir y aceptar, para acceder a los servicios de los SPs, estas reglas son creadas por los SP y firmadas por ambos (SP y SC). Las obligaciones son tokens que usan los SCs para indicar las condiciones, las cuales serán cumplidas según lo especificado por los SPs. En el estudio se definen los siguientes componentes: (1) Obligation Chains. Es un gran registro que almacena obligaciones para acceder a servicios de los SPs; esta red Blockchain no contiene una evaluación, todo el proceso de selección de los nodos/mineros/SCDs es por medio del puntaje de reputación que obtengan. Las obligaciones son generadas por SCBs y descargadas por SCDs como transacciones de obligación, que contienen los términos acordados; estas transacciones son aprovechadas para mantener la traza en la cadena; Asimismo, esta arquitectura no requiere la implementación de Smart Contracts, ya que una transacción es validada mediante la firma de su creador (SPs). (2) Island of trust. El protocolo para unir dominios tiene tres fases: (a) Setup. Un SCB genera y firma las obligaciones basadas en los términos publicados por un SPB, luego las obligaciones son pasadas al SCD correspondiente, para la interacción con el SPD. (b) Spend. Ambos dispositivo intercambian sus versiones de términos, si coinciden, las obligaciones son pasadas al SPB, y si este último acepta la reputación del SC, el SCD recibe el acceso a los servicios del SPD, y luego las obligaciones son difundidas a toda la red Blockchain. (c) fullfilling. El SC se conecta con la red Blockchain Bitcoin y la Obligation Chain para realizar el pago por los servicios. El cumplimiento de esta fase final refleja el puntaje de reputación de los SCs ante los SPs.

Page 102: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 94

22.- Artículo [76]

En [76], se propone a AlkylVM, una máquina virtual (VM) particionada, para lograr la interacción entre las tecnologías Blockchain y dispositivos IoT con recursos limitados y reducir el costo computacional. En este caso, se ha trabajado con una red Blockchain Ethereum, pero puede ser aplicado para cualquier tipo de red Blockchain. La principal finalidad de dicha integración es hacer posible la automatización de procesos físicos, iniciados por transacciones verificables de Blockchain.

La arquitectura de AlkylVM posee los siguientes componentes: El Aryl Blockchain Node actúa como un gateway entre Blockchain y los dispositivos conectados a IoT, a su vez en cada dispositivo IoT conectado a Blockchain se ejecuta una instancia de Alkyl virtual machine. El Aryl Blockchain Node opera en un dispositivo capaz de interactuar con Blockchain, además es responsable de la monitorización de los Smart Contracts y los eventos que requieran la interacción con los dispositivos conectados a IoT; este componente también es responsable de escuchar a los dispositivos de la Alkyl virtual machine, los cuales pueden solicitar algún servicio en relacionado con Blockchain; el estado del sistema; o la ejecución de operaciones costosas computacionalmente, que los dispositivos conectados pueden no ser capaces de realizar. La Alkyl virtual machine y el sistema de tiempo de ejecución esperan instrucciones del Aryl Blockchain Node.

Gráfico 4.30. Vista general del protocolo que une dominios sin una raíz común. Recuperado de [75].

Page 103: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 95

Gráfico 4.31. Vista general del sistema AlkylVM. Recuperado de [76].

23.- Artículo [77] En [77], se propone IoTChain, una arquitectura que combina las tecnologías Object-based Security Architecture (OSCAR) y Blockchain, basada también en la Authentication and Authorization for Constrained Environments (ACE). Esta arquitectura proporciona una solución End to End, la cual conduce operaciones para la autorización de accesos de los recursos IoT. Blockchain mejora el modelo de autorización ACE, haciendo los recursos de autorización robustos, flexibles y con la posibilidad de preservar la privacidad; todo esto mediante la utilización de los Smart Contracts implementados en Blockchain. Al igual que ACE, IoTChain también realiza una Proof of Possesion (PoP), con la finalidad de unir la identidad del cliente con el token de acceso.

Los principales elementos de esta arquitectura son: (1) Resource Servers. Que almacenan y generan recursos protegidos. (2) Resource Owners. Son los propietarios de los recursos. (3) Clients. Son particiones que solicitan acceso a los recursos. (4) Proxy Servers. Almacenan los recursos encriptados cuando los Resource Servers son muy limitados. (5) Key Servers. Generan las claves necesarias para cifrar y descifrar recursos. (6) Access tokens. Describe los correctos accesos para un específico cliente y recurso. (7) Authorization Servers. Generan Access tokens.

La secuencia de las operaciones de esta arquitectura son las siguientes:

(1) Authorization Blockchain. En esta operación, los Authorization Servers y los key Servers actúan como nodos completos, almacenando todas las historias de Blockchain. Los Authorization Servers a su vez actúan como mineros, que verifican las transacciones de Blockchain y las almacenan en los bloques.

(2) OSCAR. El Key server en OSCAR, genera claves personales y accesos correspondientes para los Resource Servers, utilizados para cifrar sus recursos protegidos.

(3) Authorization Flow. Primero, los Resource Owners crean y publican un Smart Contract que genera también un token de acceso con ciertas condiciones. Luego, el cliente que desea el acceso al recurso protegido activa el Smart

Page 104: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 96

Gráfico 4.32. IoTChain - una arquitectura de seguridad basada en Blockchain. Recuperado de [77].

Contract y envía una transacción. La transacción es añadida a la cadena, y el cliente solicita las claves de descifrado para el recurso, y luego de solucionar exitosamente el trabajo computacional, las recibe. Por último, el cliente puede acceder el recurso descifrado.

(4) Adding and Revoking Entities. Los clientes pueden ser añadidos y removidos mediante Smart Contracts. Los nodos nuevos se unen a Blockchain mediante el contacto de un nodo activo.

(5) Self-Healing Group Key Distribution. Se habilita un amplio y dinámico grupo de usuarios, este grupo crea grupos de claves para la comunicación en la arquitectura de IoTChain.

24.- Artículo [78] En [78], se propone a DistArch-SCNet, una arquitectura Smart City con una red distribuida basada en Blockchain, la cual usa la técnica de comunicación light-fidelity, con la finalidad de mejorar la gestión de la energía, seguridad, escalabilidad y disponibilidad. La arquitectura de DistArch-SCNet potencia sus diferentes entornos por técnicas energy-harvesting, y está compuesto por dos principales esquemas: (1) Light Fidelity (Li - Fi) Comunication Scheme. Es una forma de comunicación hibrida (Li-fi/Wi-fi) de luz visible, que utiliza RGB dentro de la red y LED fuera de esta. Este esquema comunica simultáneamente muchos dispositivos Smarts, por medio del controlador del esquema de comunicación que posee, esto implica la encriptación, modulación de los datos, y viceversa. (2) Blockchain Network Infrastructure. Opera de manera distribuida Peer to Peer, sin la necesidad de una autoridad centralizada. Todos los controladores del Light Fidelity (Li - Fi) Comunication Scheme están interconectados a Blockchain; a fin de ofrecer una eficiente gestión de la red basada en políticas, incrementar la agilidad de la red, simplificar el diseño Li-Fi, y la automatización segura del flujo de trabajo. Los controladores

Page 105: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 97

implementan un SDN FS-open security por cada uno, para mejorar la seguridad y reducir el gasto computacional, separando las funciones de control y monitorización. Además, cada controlador DSN se desempeña también como minero. Como parte del protocolo de Blockchain, para crear una minería competente, se integra un grupo de mineros que reúnen buenas capacidad de cómputo; y demás se implementa el algoritmo eficiente controller-hopping (ECHA) para mejorar el rendimiento de estos mineros.

Gráfico 4.33. Una vista general de la arquitectura de DistArch-SCNet. Recuperado de [78].

Gráfico 4.34. Diagrama de bloque para la comunicación entre dispositivos inteligentes y controladores. Recuperado de [78].

Page 106: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 98

25.- Artículo [79] En [79], se propone un prototipo para juguetes inteligentes en Edge computing, el cual está orientado al intercambio de datos. Además, este prototipo tiene la finalidad de proporcionar la automatización de un registro resistente a la manipulación, confiable y distribuido y con un Smart Contract que se adapta a entornos con entidades sin confianza. El modelo utiliza la plataforma Hyperledger Fabric (HF), la cual es una implementación robusta y flexible de Blockchain que influye en la optimización del intercambio de datos. En el presente modelo se establece un consorcio Blockchain Hyperledger Fabric con una red de intercambio de datos Peer to Peer, en la que cada nodo (llamado Org) contiene varios Peers. Se considera cuatro tipos de Orgs: Demander, Supplier, servidor del Centro de Intercambio de Datos Descentralizado (EDEC) y Endoser. Cada Org posee una Certificate Authority (HF-CA) para el registro de identidades. También se implementa un Channel (HF) para cada uno de los Peers de los Orgs Supplier y Demander, con la finalidad de proteger el secreto de las transacciones, a su vez cada Channel tiene un Endoser unido, el cual ayuda a alcanzar el consenso. El servidor EDEC lleva un rol de supervisor de todos los Channels y contiene un servidor de pedidos basado en Kafka. El Chaincode (programa HF) se implementa para cada Org y se usa para escribir el consenso de las transacciones entre Suppliers y Demanders en Blockchain. Asimismo se implementa un CouchDB para cada Peer de todas las Orgs para apoyar las múltiples consultas.

Gráfico 4.35. Arquitectura Edge computing orientada a un sistema contable Blockchain. Recuperado de [79].

Page 107: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 99

Gráfico 4.36. Sistema de control de accesos descentralizado. Recuperado de [79].

26.- Artículo [80] En [80], se propone la arquitectura de un sistema de control de acceso descentralizado basado en Blockchain, la cual realiza la gestión de acceso, arbitra roles y permisos para IoT, además es respaldada por una Proof of Concept (PoC). En esta arquitectura todas las entidades forman parte de Blockchain menos los dispositivos IoT y los nodos Management Hub, lo que hace mucho más fácil la interacción entre estas dos tecnologías (IoT – Blockchain). La arquitectura posee los siguientes componentes: (1) Wireless Sensor Networks. Es una red de comunicación que permite la conectividad de aplicaciones con potencia limitada y requerimientos de ligereza. (2) Managers. Son los encargados del control de acceso en un grupo de dispositivos IoT, normalmente los Managers son nodos ligeros del sistema. (3) Agent Node. Es un nodo Blockchain que se encarga de implementar el único Smart Contract de la arquitectura. El Agent Node recibe una dirección que identifica el Smart Contract dentro de la red de Blockchain, una vez aceptada. Esta dirección es necesaria para la interacción entre los nodos de Blockchain y el Smart Contract. (4) Smart Contract. Gobierna la arquitectura, es único y no puede ser borrado; se definen en este Smart Contract todas las operaciones del sistema de gestión de acceso, las cuales son puestas en marcha por las transacciones en Blockchain. (5) Blockchain Network. En esta arquitectura se emplea la red Blockchain privada Ethereum, en donde solo pueden realizar operaciones de escritura los nodos privados. Los mineros que forman esta red, la mantienen segura y estable, realizando transacciones y asegurando copias de Blockchain, así toda la información es descentralizada y contra pruebas de manipulación. (6) Management Hubs. Dado que muchos dispositivos IoT no poseen el alto rendimiento que requiere Blockchain (copias, transacciones, etc.), el Management Hubs es implementado como una interfaz que traslada información desde los dispositivos IoT y los nodos Blockchain. Los dispositivos IoT solo pueden solicitar información de Blockchain a través de este componente, además este debe poseer un alto rendimiento y la capacidad de responder muchas solicitudes al mismo tiempo.

Page 108: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 100

27.- Artículo [81] En [81], se presenta una arquitectura IoT multicapa basada en un ledger (Blockchain), la cual brinda control de acceso en escenarios heterogéneos, independientemente de las capacidades que posea el dispositivo IoT. La red Blockchain es utilizada para mantener la información de los dispositivos actualizados en la red IoT. Los gateways implementados en esta arquitectura gestionan cualquier dispositivo de la red mediante su clave pública. Esta arquitectura posee las siguientes capas: (1) Capa de percepción. Conformado por dispositivos que envían datos o reciben comandos; cada dispositivo posee una clave privada y una clave pública. (2) Capa de transporte. Se representa mediante una red Peer to Peer (P2P) de gateways interconectados; por lo tanto se pueden conectar dispositivos heterogéneos y compartir la información recibida, una vez validada por los demás pares. Además, se mantiene una copia del IoT Ledger (Blockchain). (a) Gateway. Son espacios en los cuales el IoT Ledger puede ser procesado y almacenado, existe un gateway (o Peer) por cada dispositivo. (b) IoT Ledger. Está ubicado en la capa de transporte y adopta la tecnología Resilient and Robust Access Control (R2AC), la cual ayuda a los dispositivos heterogéneos a intercambiar información. Asimismo, permite la conectividad entre los dispositivos registrados y cualquier gateway de la red IoT, mantiene una copia del registro de IoT, y realiza un distribuido y resiliente control de accesos. (3) Capa de aplicación. En esta capa se proporciona el acceso a la información de los bloques del IoT Ledger. También sirve para almacenar datos si el bloque de IoT Ledger no posee capacidad para hacerlo.

Gráfico 4.37. Arquitectura basada en el registro IoT y Blockchain. Recuperado de [81].

Page 109: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 101

Gráfico 4.38. Vista general de la arquitectura de DistBlockNet. Recuperado de [82].

28.- Artículo [82] En [82], se propone DistBlockNet, una arquitectura SDN segura y distribuida que emplea la tecnología Blockchain para dominios IoT. Blockchain permite tener un red distribuida Peer to Peer donde un participante desconocido (sin confiabilidad) puede interactuar con otro, sin la necesidad de una tercera partición auditora. El objetivo principal de esta arquitectura es generar e implementar protección, incluyendo prevención de amenazas, protección de datos, control de acceso y mitigación de ataques de red.

Esta arquitectura posee Controllers/nodos en el dominio IoT, los cuales se interconectan de manera distribuida en una red Blockchain, lo que permite la comunicación entre dispositivos fácil y eficientemente. Cada red local comprende de un módulo OrchApp, Controller y Shelter. OrchApp y Shelter manejan la seguridad de los ataques en diferentes niveles. El módulo OrchApp, funciona en las capas de administración, de interfaz y de control. Además, proporciona principalmente la capacidad de protección contra amenazas (control de acceso, protección de datos e inteligencia de amenazas). Por su parte el módulo Shelter, funciona en las capas de datos, de interfaz y de control; adicionalmente, identifica perfectamente los escenarios en los que el antagonista inicia ataques dentro de la SDN. Shelter posee una serie de componentes que realizan tareas específicas como: Parser, en la que extrae información importante y las analiza. Graph Builder, analiza el grupo de elementos extraídos para crear o alterar los diagramas de flujo. Verifier, supervisa mediante las reglas reactivas en línea a las variables de la ruta de estado. Migration Agent, detecta ataques y toma una decisión apropiada de acuerdo al tipo de alarma recibida. Data Plan Cache, es la cache temporal de los paquetes faltantes, durante un ataque de saturación.

DistBlockNet proporciona no solo flexibilidad, sino también proactividad y reacción a las incidencias producidas por las amenazas comunes, debido a que posee la capacidad de insertar cambios rápidos, dinámicos y el alto rendimiento.

Page 110: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 102

29.- Artículo [83] En [83], se propone un diseño basado en Blockchain para IoT, que proporciona un control de acceso distribuido y una gestión de datos. Además, este diseño permite la adaptación a la corriente de datos y el intercambio seguro de datos entre aplicaciones IoT. Blockchain, por su parte, proporciona una gestión del control de acceso segura y resiliente. Este diseño basado en Blockchain, y principalmente tiene dos planos: (1) Plano de control. (a) Blockchain. En este caso es una red Blockchain pública verificable, la cual crea un sistema responsable y de arranque confiable sin una entidad central, en donde las transacciones comprenden las propiedades de la corriente de datos y los permisos de acceso correspondientes. La lógica del sistema reside en una Virtualchain, que permite la introducción de nuevas funcionalidades en Blockchain. (b) Control de acceso. Se utiliza Blockchain para almacenar los permisos de acceso de forma segura. Para cualquier solicitud de datos, el nodo de almacenamiento verifica la red Blockchain, que le puede otorgar los derechos de acceso. (c) Gestión de claves. Se habilita la renovación de claves de bajo costo, con una regresión de claves, lo que permite una actualización de claves cifradas frecuentemente (d) Revocación. Para revocar el acceso de un nodo al flujo de datos, el propietario de los datos actualiza las claves de cifrado. (2) Plano de datos. Consiste en una capa de ruta y una capa de almacenamiento, la última puede ser compuesta por cloud, o una red distribuida P2P. Los registros de los datos se generan constantemente, dividiéndose en fragmentos de datos, que a la vez están compuestas de muchas grabaciones de datos consecutivas, los cuales son encadenados criptográficamente con su hash, señalando al anterior fragmento; con lo cual el dato es almacenado en off-chain y solo su identificador (hash) está incluido en Blockchain, asegurando su inmutabilidad. (a) Encriptación. Cada fragmento de dato es encriptado con un eficiente cifrado simétrico, llamado AES-GCM. (b) Búsqueda. Las búsquedas o Queries, de algún dato grabado, se realizan mediante el Timestamp de la Tupla correspondiente. (c) Almacenamiento de datos. Un gateway de IoT actúa como un nodo intermediario de almacenamiento y sirve también como caché de los datos recientes. Para el almacenaje distribuido se emplea una técnica Peer to Peer de enrutamiento superpuesto y una Distributed Hash Table (DHT), esta última es utilizada como interfaz de almacenamiento de datos, y también como un escalable y auto gestionable almacenaje con alta disponibilidad (perdidas de energías o ataques maliciosos).

Page 111: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 103

30.- Artículo [84] En [84], se propone una infraestructura Blockchain, la cual resulta idónea para el cumplimiento de los requerimientos de disponibilidad y la implementación de actualizaciones. La infraestructura posee propiedades de la triada CIA (confidencialidad, integridad y disponibilidad). Además, tiene como propósito, identificar objetos o fabricantes maliciosos, mantener una traza de los dispositivos, e integrar un mecanismo Peer to Peer para la difusión de las actualizaciones. La arquitectura del prototipo tiene tres componentes principales: (1) El portal web. Permite a los fabricantes implementar actualizaciones de software de manera compartida y mutua (2) La infraestructura Blockchain. Realiza la Proof of Concept (PoC) desde una máquina virtual; así mismo, Blockchain sirve como medio para compartir actualizaciones y recompensas entre el portal web y los dispositivos IoT; además asegura la confidencialidad e integridad de los datos, utilizando claves RSA con GNU Privacy Guard; y por ultimo realiza la validación de transacciones. (3) Dispositivos IoT. Se conecta periódicamente con Blockchain, con la finalidad de verificar si existe alguna nueva actualización para proceder a descargarla y enviar las recompensas, obteniendo con esto la traza de los dispositivos.

Gráfico 4.39. Vista general de un diseño de capas basado en Blockchain para IoT. Las transacciones en Blockchain pueden

contener permisos de acceso (gray). Recuperado de [83].

Page 112: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 104

31.- Artículo [85] En [85], se propone una arquitectura de red Modular Consortium para IoT, usando Blockchain e interplanetary file system (IPFS), para obtener un modelo descentralizado de acceso de datos IoT. Además, esta arquitectura proporciona, facilidad en las comunicaciones, un mecanismo de almacenamiento de datos Peer to Peer, privacidad y la posibilidad de adaptarse a diferentes casos de uso. En la arquitectura se pueden encontrar los siguientes componentes: (1) Private Sidechains. Es la división de la red Blockchain en pequeñas partes, con el fin de reducir la limitación de Blockchain en relación a la escalabilidad. Las Sidechains validan o verifican solo sus propias transacciones; además son responsables del almacenamiento seguro de los datos IoT, y también mantienen un registro de todas las operaciones ocurridas en la red IoT (dispositivos IoT y nodo validador). Las Sidechains implementan Smart Contracts para almacenar los dispositivos autorizados y los hash IPFS de los dispositivos, asegurando que solo los dispositivos autorizados puedan comunicarse con el nodo validador, además de almacenar un registro de claves, y realizar un control de las solicitudes de acceso. (2) Nodo validador. Este nodo adiciona bloques en las Sidechains y registra cualquier dato recibido con una clave cifrada autorizada, como un evento de creación de datos. El nodo validador tiene un gran poder computacional y de almacenamiento. (3) Consorcio Blockchain. Es la red Blockchain propia del Modular Consortium, que lo forman los nodos validadores de todos los Private Sidechains de la red, este consorcio Blockchain realiza el control de acceso e impide el acceso no autorizado externo, mitigando el problema de la visibilidad pública de los contenidos de Blockchain. También, posee Smart Contracts que almacenan listas de claves públicas de dispositivos autorizados; además, los Smart Contracts impiden la acumulación de solicitudes de transacciones no autorizadas. IPFS es parte de Blockchain en esta arquitectura, y hace posible un sistema de archivos descentralizados Peer to Peer; por lo tanto, los datos IoT

Gráfico 4.40. Arquitectura de un prototipo idóneo para actualización. Recuperado de [84].

Page 113: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 105

pueden ser agrupados y almacenados en IPFS, y Blockchain solo mantiene el hash de los archivos IPFS.

32.- Artículo [86] En [86], se propone DroneChain, una solución distribuida para drones utilizando Blockchain y un servidor Cloud. Esta solución asegura la comunicación del dron durante la transmisión y recolección de datos, minimizando pérdidas y ataques; además reduce los procesos y el consumo de energía en el dron, ya que se almacena solo el hash de los datos recopilados en Blockchain. La arquitectura de la solución DroneChain consiste en los siguientes componentes: (1) Drone. Posee la capacidad de usar sensores para recolectar diferentes datos físicos. Puede agruparse en clusters, y comunicarse con un Control System designado para la trasmisión de datos. (2) Control System. Recibe los datos transmitidos por los drones o clusters de drones, y envía comandos de movimiento de vuelo a los drones; así mismo convierte los datos en datos hash, que junto con los comandos son enviados a la red Blockchain y a la nube. (3) Blockchain Network. Esta red se utiliza para los siguientes propósitos: Almacenamiento de los datos hash y los comandos del Control System para la protección de su integridad, registro de la retroalimentación del servidor en la nube, y para mejorar la verificación de los accesos a la base de datos. (4) Cloud Server. Con la finalidad de validar el registro de datos, este servidor solicita a la red de Blockchain un recibo de Blockchain, como prueba permanente de la integridad de los datos. Así mismo, el análisis de los datos de comunicación entre los componentes, el cual lo brinda el Cloud Server, puede ayudar a la detección oportuna de intrusos en la red, como: Advanced Persistent Threat (APT) o

Gráfico 4.41. Red Sidechain, con dispositivos IoT, y un nodo validador conectado a la red consorcio. Recuperado de [85].

Page 114: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 106

Distributed Denial of Service (DDoS). (5) Cloud Database. Almacena los datos recopilados y los comandos del Control System; su acceso es mediante una huella digital, que también es almacenada; permitiendo que tanto los datos y los comandos sean rastreables.

33.- Artículo [87] En [87], se propone un diseño IoT que posee un gateway Blockchain, el cual lleva un rol de intermediario entre los usuarios y los dispositivos IoT, con la finalidad de que los proveedores de servicios obtengan el consentimiento del usuario, en cuanto a las políticas de privacidad de los dispositivos IoT. La tecnología Blockchain es utilizada principalmente para proteger las preferencias del usuario y las políticas de privacidad.

La arquitectura de este diseño posee los siguientes componentes: (1) El propietario o administrador de dispositivos IoT. Se encarga de almacenar las políticas de privacidad (definidas en JSON) y de identificación, así como también la información del dispositivo y sus preferencias en la red Blockchain. Este administrador puede crear un Smart Contract (Ethereum Blockchain), con el fin de gestionar la información y las políticas de privacidad (2) Gateway Blockchain. Este gateway protege la información sensible del usuario, con respecto a los accesos sin consentimiento; y además almacena sus preferencias de privacidad de los usuarios en una red Blockchain, haciéndolas resistentes a la manipulación. Asimismo, identifica usuarios y sus preferencias, y lleva un rol de mediador para reenviar solicitudes a dispositivos específicos e integrar sus respuestas. La administración de las preferencias de privacidad del usuario es realizada mediante una interfaz. (3) El administrador del Gateway Blockchain. Crea un Smart Contract

Gráfico 4.42. DroneChain: Arquitectura de comunicación de Drones basada en Blockchain. Recuperado de [86].

Page 115: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 107

Gráfico 4.43. Escenario de operación de la arquitectura IoT con gateways Blockchain. Recuperado de [87].

para el gateway Blockchain; este Smart Contract se enlaza con el Smart Contract del administrador de dispositivos IoT, luego de la conexión física del gateway con un dispositivo. (4) El usuario final. El usuario puede conectarse al gateway Blockchain con la finalidad de, recuperar información de los dispositivos IoT conectados al gateway Blockchain, notificarle si acepta o rechaza las políticas de privacidad de los dispositivos IoT, o almacenar los datos de sus preferencias en el gateway Blockchain.

34.- Artículo [88] En [88], se describen y discuten cuatro estilos de arquitectura para la interacción y puesta en marcha de servicios IoT con el uso de Blockchain. Estas arquitecturas coinciden con un componente Cloud, una red Blockchain, un componente Smart Thing y un dispositivo final del usuario. La primera es llamada Fully Centralized, la cual posee un endpoint (nodo/Peer) de Blockchain, y dentro de este un Smart Contract, el cual es adoptado para la grabación del flujo de pago; las Smart Things no interactúan con Blockchain y son gestionados por el vendedor. Dado esto, en este tipo de arquitectura se mantiene los datos y la capa lógica de forma centralizada, dando como resultado un diseño que no aprovecha las ventajas de Blockchain, tales como tener un consenso robusto y distribuido. Otra de las arquitecturas descritas es la Pseudo Distributed Things, comprende un enfoque intermedio, en la que los endpoints de cada nodo son puestos en marcha y gestionados en la nube, mediante un componente llamado endpoint container. Las Smart Things y el usuario del dispositivo pueden interactuar con Blockchain vía un Chain Gateway. Por otro lado, la arquitectura Distributed Things posee unos Light Clients (Ethereum) que realizan tareas en los

Page 116: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 108

Gráfico 4.44. Estilos de arquitectura para servicios IoT impulsados por Blockchain. Recuperado de [88] .

endpoints, en entornos de baja capacidad. En consecuencia, se pueden ubicar endpoints en las Smart Things, siendo este último contralado por su correspondiente Smart Contract. Por último, en la arquitectura Fully Distributed, un endpoint es implementado en el dispositivo final; en la cual el proveedor del servicio no implementa la lógica de pago, sino el usuario, por medio del Smart Contract asociado al servicio rentado.

Page 117: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 109

4.6. PI5: ¿Existe algún enfoque actual

predominante en las arquitecturas que integran Blockchain en el dominio IoT?

Con el propósito de responder a esta pregunta, se identifican y definen dos enfoques existentes en las arquitecturas propuestas en los artículos seleccionados en esta SLR. Un enfoque es basado en los tipos de componentes que comprenden las arquitecturas; y el otro, está basado en las características de las arquitecturas, las cuales son tomadas de los resultados de las secciones anteriores de la presente SLR. Estos dos enfoques se detallan en las secciones siguientes.

4.6.1. Enfoque basado en los tipos de componentes de las arquitecturas

Para la identificación y definición de este enfoque, se lleva a cabo un análisis comparativo profundo de los componentes, capas y niveles de las arquitecturas descritas en la sección 4.5.2; identificando y clasificando aquellos con similares funcionalidades y propósitos. Como resultado de este proceso se obtiene la Tabla 4.7, la cual refleja un enfoque basado en tres tipos de componentes.

Tabla 4.7. Enfoque actual basado en componentes de las arquitecturas – Componentes similares

identificados, referencias y frecuencia.

Tipo de componente Referencias de las arquitecturas que lo contiene

Cantidad de referencias

Componente para la interacción entre Blockchain y dispositivos IoT o similares

[55] [57] [58] [59] [60] [63] [71] [74] [76] [77] [79] [80] [81] [86] [87] [88]

16 (41,03%)

Componente para la gestión independiente de recursos computacionales o de almacenamiento

[56] [58] [65] [72] [74] [76] [77] [78] [79] [80] [81] [82] [83] [85] [88]

15 (38,46%)

Componente para la gestión de claves de los dispositivos

[56] [58] [61] [62] [63] [72] [83] [85] 8 (20,51%)

Total de referencias 39

Page 118: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 110

Como se puede apreciar en la Tabla 4.7 y se mencionó anteriormente, se determinan tres tipos de componentes: Un componente para la interacción entre Blockchain y dispositivos IoT o similares, un componente para la gestión independiente de recursos computacionales o de almacenamiento, y un componente para la gestión de claves de los dispositivos. Esta tipología es determinada por la redundancia y predominancia presentada en la descripción de las arquitecturas. Además, dentro de la anterior tabla de clasificación, se define la frecuencia de las referencias, teniendo en cuenta únicamente las referencias que presentan dichos componentes determinados en la clasificación. Como resultado tenemos un total de 39 referencias citadas, dado que existen referencias que poseen más de un componente de la clasificación. Con respecto a la incidencia en el componente de interacción, se puede observar que se encuentra contenido en 16 referencias (41,03%). Por otro lado, y con una incidencia similar, se encuentra el componente de gestión de recursos que está contenido en 15 referencias (38,46%). Por último, 8 referencias (20,51%) contienen un componente de gestión de claves de los dispositivos. No obstante, es importante mencionar que existen arquitecturas en los artículos de esta SLR, los cuales solo poseen componentes relacionados con su área de aplicación y su correspondiente objetivo, entre ellos se puede considerar a [64] [66] [67] [68] [69] [70] [73] [75] [84]. Dados los resultados obtenidos, el enfoque actual basado en los tipos de componentes que conforman las arquitecturas IoT-Blockchain, puede ser definido por tres componentes, que poseen la capacidad de realizar las funcionalidades de: Interacción entre Blockchain y dispositivos IoT o similares, gestión independiente de recursos computacionales o de almacenamiento, y gestión de claves de los dispositivos.

4.6.2. Enfoque basado en las características de las arquitecturas

Para la identificación y definición de este enfoque, se consideran los resultados definidos en las Secciones 4.2 y 4.5.1 de esta SLR. Los cuales se encuentran explícitos en la Tabla 4.8. Este enfoque puede ser descrito de la siguiente manera: Primero, con respecto al área de aplicación de los estudios que abarcan las arquitecturas, podemos definir arquitecturas con un enfoque hacia la gestión de datos, específicamente en lo que respecta a las transacciones/transferencias/intercambio de datos, y también con un enfoque en la gestión de accesos con prioridad en la autorización de accesos. Segundo, arquitecturas que tienden a ser representadas bajo patrones y estilos arquitectónicos basados en componentes, Cloud computing y P2P. Tercero, las arquitecturas en su mayoría muestran características comunes, como la distribución y la descentralización. Cuarto, en cuanto a tecnologías adicionales,

Page 119: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 111

existe una redundancia en la adopción, como parte de las arquitecturas, de la tecnología Smart Contract y el paradigma Software Defined Networking (SDN). Por último, en correspondencia a la plataforma Blockchain más empleada en las arquitecturas, podemos citar a la plataforma Blockchain Ethereum.

Tabla 4.8. Enfoque actual basado en las características de las arquitecturas.

Ámbito Ítems predominantes

Áreas de aplicación Gestión de datos y gestión de accesos

Patrones y estilos arquitectónicos Basada en componentes, Cloud computing y P2P

Características de las arquitecturas Distribuida y descentralizada

Tecnologías adicionales Smart Contract y SDN

Tipo/Plataforma Blockchain Ethereum

Page 120: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 112

5. Capítulo 5. Conclusiones En este capítulo se resumen los puntos claves del trabajo realizado. Asimismo, se definen las conclusiones correspondientes, luego del análisis de los resultados. Y por último, se menciona una línea de investigación derivada de este trabajo. 5.1. Resumen

El presente trabajo fin de máster versa en un estudio de la tecnología Blockchain; un estudio de Internet of Things (IoT); una revisión sistemática de la literatura (SLR); y el análisis de los resultados de la SLR, la cual abarca la aplicación de la tecnología Blockchain en el dominio de IoT, específicamente en el análisis del estado del arte actual de su integración. Como parte de la SLR, se plantearon las siguientes preguntas de investigación (PIs): PI1: ¿En qué áreas actualmente se está aplicando la integración de Blockchain

en el dominio IoT? PI2: ¿Cuáles son las principales ventajas que existen en la integración de

Blockchain en el dominio IoT? PI3: ¿Cuáles son los principales inconvenientes que existen en la integración de

Blockchain en el dominio IoT? PI4: ¿Qué arquitecturas existen, que integran Blockchain en el dominio IoT, y

cuáles son sus principales componentes? PI5: ¿Existe algún enfoque actual predominante en las arquitecturas que integran

Blockchain en el dominio IoT? Esta SLR tuvo como resultado 34 artículos seleccionados, de los cuales se extrajeron toda la información, para su posterior análisis y obtener las respuestas a las PIs. Luego de haber concluido todo el proceso que corresponde, se obtuvieron los siguientes resultados: 1. Los años 2017 y 2018, sostienen una mayor cantidad de publicaciones y

estudios relacionados a la integración de Blockchain en el dominio IoT, en comparación con el año 2016. Mostrando un crecimiento de interés y enfoque de los investigadores hacia este tipo de estudios.

2. En correspondencia con la PI1, se identificó las áreas de aplicación actuales y se determinó, luego del análisis, que las áreas de aplicación de gestión de datos y de gestión de accesos, reciben mayor importancia por parte de los investigadores, dada la incidencia de referencias; específicamente, para las transacciones/transferencias/intercambio de datos, y para la autorización de accesos, respectivamente.

3. Se recuperó las principales ventajas de la integración de las tecnologías en estudio, en relación a la PI2, las cuales son las siguientes: El almacenamiento

Page 121: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 113

de datos, la comunicación e intercambio de datos, la procedencia de datos, el control de accesos y la autenticación, y la disponibilidad.

4. Se identificaron los inconvenientes, en correspondencia a la PI3, que puede sufrir la integración de la tecnología Blockchain en el dominio IoT, los cuales son los siguientes: La adaptabilidad, la escalabilidad, la utilización de recursos y la seguridad.

5. En respuesta a la PI4, se identificaron 34 arquitecturas propuestas en los artículos considerados parte de la SLR. Como parte de su análisis, se recuperaron sus patrones y estilos arquitectónicos, entre los cuales predominan los basados en componentes, Cloud computing y Peer to Peer. Adicionalmente, se pudo apreciar que estas arquitecturas son distribuidas y descentralizadas en más del 50% de su totalidad. Además, se pudo identificar que, las tecnologías adicionales mayormente empleadas en las arquitecturas son los Smart Contracts y el paradigma Software Defined Networking. Y por último, se puede citar a la plataforma Ethereum Blockchain como la opción de mayor preferencia entre los autores.

6. Se determinó, en relación a la PI5, la existencia de dos tipos de enfoques, uno que está basado en la identificación de tres tipos de componentes que realizan similares funciones en las arquitecturas propuestas; y el otro, basado en las características de las arquitecturas IoT-Blockchain.

5.2. Conclusiones Esta sección da a conocer las conclusiones obtenidas luego del análisis de los resultados. Estas conclusiones son enumeradas a continuación. 1. El objetivo general y los objetivos específicos del trabajo fin de máster, los

cuales han sido plasmados en la SLR mediante preguntas de investigación, han sido cubiertos en su totalidad por la información extraída y analizada de los artículos seleccionados, mediante el empleo del protocolo propio de la SLR y la metodología de síntesis temática, los cuales resultaron ad hoc para este tipo de trabajo.

2. El interés y desarrollo de la aplicación de Blockchain en dominios IoT, es una actividad que tendrá mayor incidencia en los años futuros. Esto, debido al índice de crecimiento anual, que alcanzan los estudios enfocados en dicha integración; este crecimiento podría impulsar la consolidación y optimización de la integración en estudio, minimizando la existencia de inconvenientes, y fortaleciendo y aprovechando sus ventajas resultantes.

3. Los investigadores intentan constantemente extrapolar nuevas tecnologías como Blockchain, las cuales demuestran un buen rendimiento en su contexto inicial, con la finalidad de intentar cubrir las falencias de mayor importancia existentes en otros contextos, áreas de trabajo o dominios, como en IoT. Algo que prueba esta actividad, son las tendencias que apuntan a citar con las mayores incidencias a las áreas de aplicación de gestión de datos y de gestión de accesos, las cuales reafirman los desafíos de mayor preocupación, en relación a la privacidad y la seguridad, de los dominios IoT.

Page 122: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 114

4. Vista la preferencia de los investigadores, por la aplicación de Blockchain en dominios IoT, en las áreas de aplicación de gestión de datos y de gestión de accesos, se puede asumir que, la integración en estudio ofrece resultados de mucha importancia, los cuales optimizan las áreas de aplicación de preferencia; aprovechando sobremanera sus ventajas.

5. La adopción de Blockchain en IoT, brinda ventajas muy importantes, pero debido a los considerables inconvenientes, que también son producto de la integración, se requiere la adopción de componentes con funcionalidades específicas, que logren suplir estos inconvenientes y se alcance un completo aprovechamiento de las ventajas.

6. Los patrones y estilos arquitectónicos basados en componentes, Cloud computing y Peer to Peer, facilitan a los investigadores la representación de la interacción entre los componentes en las arquitecturas IoT que adoptan Blockchain; dado que estos patrones y estilos son empleados en la mayoría de artículos de esta SLR.

7. La plataforma Blockchain Ethereum posee ventajas, beneficios y tecnologías subyacentes adoptadas, las cuales pueden ser mejor aprovechadas, para alcanzar resultados deseados en los dominios IoT.

8. Los enfoques actuales basados en el tipo de componentes y en las características de las arquitecturas, establecen puntos de referencia para futuras investigaciones enfocadas a las arquitecturas IoT-Blockchain. Asimismo, especialmente el enfoque basado en el tipo de componentes, nos da a conocer las medidas adoptadas por los autores para contrarrestar y/o reducir los inconvenientes que genera la integración en estudio.

5.3. Trabajos futuros

Los estudios que han sido objeto de esta SLR, nos han permitido conocer y analizar diferentes arquitecturas que integran Blockchain en dominios IoT, así como sus principales tendencias y enfoques; por lo que un estudio futuro estaría relacionado con la propuesta de un patrón de arquitectura ad hoc para la integración de la tecnología Blockchain en el dominio IoT.

Page 123: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 115

6. Capítulo 6. Referencias [1] F. Khodadadi, A. Dastjerdi, and R. Buyya, “Internet Of Things: An Overview,” in

Internet of Things Principles and Paradigms, Elsevier Inc., 2016, pp. 3–27. [2] A. Al-Fuqaha, M. Guizani, M. Mohammadi, M. Aledhari, and M. Ayyash, “Internet

of Things: A Survey on Enabling Technologies, Protocols, and Applications,” IEEE Commun. Surv. Tutorials, vol. 17, no. 4, pp. 2347–2376, 2015.

[3] B. N. Silva, M. Khan, and K. Han, “Internet of Things: A Comprehensive Review of Enabling Technologies, Architecture, and Challenges,” IETE Tech. Rev., vol. 0, no. 0, pp. 1–16, 2017.

[4] M. Nofer, P. Gomber, O. Hinz, and D. Schiereck, “Blockchain,” ABB Rev., vol. 3, no. 3, p. 98, 2017.

[5] D. Drescher, “Using the Blockchain,” in Blockchain Basics: A Non-Technical Introduction in 25 steps, Berkeley, CA: Apress, 2017, pp. 223–233.

[6] K. James-Lubin, “Blockchain scalability - O’Reilly Media,” 2015. [Online]. Available: https://www.oreilly.com/ideas/blockchain-scalability. [Accessed: 16-Nov-2018].

[7] “Gartner,” 2017. [Online]. Available: https://www.gartner.com/en/newsroom/press-releases/2017-02-07-gartner-says-8-billion-connected-things-will-be-in-use-in-2017-up-31-percent-from-2016. [Accessed: 18-Nov-2018].

[8] M. Conoscenti, A. Vetro, and J. C. De Martin, “Blockchain for the Internet of Things: A systematic literature review,” 2016 IEEE/ACS 13th Int. Conf. Comput. Syst. Appl., pp. 1–6, 2016.

[9] J. F. Calzadilla and A. Villa, “Systematic Literature Review of the use of Blockchain in Supply Chain .,” no. Vorabutra 2016, pp. 1–11.

[10] M. Petticrew and H. Roberts, Systematic reviews in the social sciences : a practical guide. Blackwell Pub, 2006.

[11] B. Kitchenham and S. Charters, “Guidelines for performing Systematic Literature reviews in Software Engineering Version 2.3,” 2007.

[12] D. S. Cruzes and T. Dybå, “Recommended Steps for Thematic Synthesis in Software Engineering,” 2011 Int. Symp. Empir. Softw. Eng. Meas., no. 7491, pp. 275–284, 2011.

[13] K. Ashton, “That ‘Internet of Things’ Thing,” RFID J., vol. 22(7), no. 97–114., 2009. [14] J. Gubbia, R. Buyyab, M. Slaven, and P. Marimuthu, “Internet of Things (IoT): A

vision, architectural elements, and future directions,” Futur. Gener. Comput. Syst. 29 1645–1660, 2013.

[15] J. Salazar and S. Silvestre, Internet of things. 2000. [16] F. Mattern and C. Floerkemeier, “From the Internet of Computers to the Internet of

Things,” From Act. data Manag. to event-based Syst. more. Springer-Verlag, Berlin, Heidelb. ., pp. 242–259, 2010.

[17] L. Atzori, A. Iera, and G. Morabito, “The Internet of Things: A survey,” Comput. Networks, vol. 54, no. 15, pp. 2787–2805, 2010.

[18] C. Elena-Lenz, “Internet of Things: Six Key Characteristics | Design Mind.” [Online]. Available: https://designmind.frogdesign.com/2014/08/internet-things-six-key-characteristics/. [Accessed: 16-Nov-2018].

[19] S. Al Hinai and A. Vikram Singh, “Internet of Things : Architecture and Security challenges and Solutions,” Int. J. Comput. Appl., vol. 3, no. 4, pp. 12–19, 2014.

[20] P. V Dudhe, N. V Kadam, R. M. Hushangabade, and M. S. Deshmukh, “Internet of Things (IOT): An Overview and its Applications,” pp. 2650–2653, 2017.

[21] B. Nathani and R. Vijayvergia, “The Internet of Intelligent things: An overview,”

Page 124: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 116

Intell. Commun. Comput. Tech. (ICCT), 2017 Int. Conf., pp. 119–122, 2017. [22] A. Zanella, N. Bui, A. Castellani, L. Vangelista, and M. Zorzi, “Internet of Things for

Smart Cities,” IEEE Internet Things J., vol. 1, no. 1, pp. 22–32, Feb. 2014. [23] “Pike Research forecasts smart city technology.” [Online]. Available:

https://www.greencarcongress.com/2013/01/pikecities-20130122.html. [Accessed: 14-Jan-2019].

[24] A. P. Castellani, N. Bui, P. Casari, M. Rossi, Z. Shelby, and M. Zorzi, “Architecture and Protocols for the Internet of Things: A Case Study.”

[25] R. Khan, S. U. Khan, R. Zaheer, and S. Khan, “Future internet: The internet of things architecture, possible applications and key challenges,” Proc. - 10th Int. Conf. Front. Inf. Technol. FIT 2012, pp. 257–260, 2012.

[26] H. Suo, J. Wan, C. Zou, and J. Liu, “Security in the internet of things: A review,” Proc. - 2012 Int. Conf. Comput. Sci. Electron. Eng. ICCSEE 2012, vol. 3, pp. 648–651, 2012.

[27] S. Singh and N. Singh, “Internet of Things (IoT): Security challenges, business opportunities & reference architecture for E-commerce,” Proc. 2015 Int. Conf. Green Comput. Internet Things, ICGCIoT 2015, pp. 1577–1581, 2016.

[28] K. Gupta and S. Shukla, “Internet of Things: Security challenges for next generation networks,” 2016 1st Int. Conf. Innov. Challenges Cyber Secur. ICICCS 2016, no. Iciccs, pp. 315–318, 2016.

[29] Q. Jing, A. V Vasilakos, J. Wan, J. Lu, and D. Qiu, “Security of the Internet of Things: perspectives and challenges,” Springer Sci. Media New York, 2014.

[30] I. Lee and K. Lee, “The Internet of Things (IoT): Applications, investments, and challenges for enterprises,” Bus. Horiz., vol. 58, pp. 431-440 ISSN 0007-6813, 2015.

[31] R. Roman, J. Zhou, and J. Lopez, “On the features and challenges of security and privacy in distributed internet of things,” Comput. Networks, vol. 57, no. 10, pp. 2266–2279, Jul. 2013.

[32] T. Guarda et al., “Internet of Things challenges,” Iber. Conf. Inf. Syst. Technol. Cist., 2017.

[33] S. Nakamoto, “Bitcoin: A Peer-to-Peer Electronic Cash System,” p. 9, 2008. [34] R. Hanson, A. Reeson, and M. Staples, “Distributed Ledgers,” Investopedia, no.

May, 2015. [35] M. Crosby, P. Pattanayak, and S. Verma, “Blockchain Technology,” Appl. Innov.

Rev., no. 2, 2016. [36] Z. Zheng, S. Xie, H.-N. Dai, X. Chen, and H. Wang, “Blockchain Challenges and

Opportunities : A Survey Shaoan Xie Hong-Ning Dai Huaimin Wang,” Int. J. Web Grid Serv., vol. 14, no. 4, pp. 1–24, 2016.

[37] T. Laurence, Blockchain for Dummies. John Wiley & Sons, Inc., 2017. [38] D. Puthal, N. Malik, S. P. Mohanty, E. Kougianos, and C. Yang, “Blockchain as a

Decentralized Security Framework,” IEEE Consum. Electron. Mag., vol. 7, no. 2, pp. 18–21, 2018.

[39] “On Public and Private Blockchains.” [Online]. Available: https://blog.ethereum.org/2015/08/07/on-public-and-private-blockchains/. [Accessed: 14-Nov-2018].

[40] C. Saraf and S. Sabadra, “Blockchain platforms: A compendium,” in 2018 IEEE International Conference on Innovative Research and Development (ICIRD), 2018, pp. 1–6.

[41] “Hyperledger Blockchain Performance Metrics,” 2019. [Online]. Available: https://wiki.hyperledger.org/groups/pswg/performance-and-scale-wg. [Accessed: 15-Nov-2018].

[42] “Hyperledger Burrow (formerly eris-db) HIP identifier.” [Online]. Available: https://www.hyperledger.org/wp-content/uploads/2017/06/HIP_Burrowv2.pdf. [Accessed: 08-Dec-2018].

[43] G. Greenspan, “MultiChain Private Blockchain-White Paper.” [Online]. Available:

Page 125: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 117

https://www.multichain.com/download/MultiChain-White-Paper.pdf. [Accessed: 15-Nov-2018].

[44] B. Singhal, G. Dhameja, and P. S. Panda, “Introduction to Blockchain,” in Beginning Blockchain, Berkeley, CA: Apress, 2018, pp. 1–29.

[45] Z. Zheng, S. Xie, H. Dai, X. Chen, and H. Wang, “An Overview of Blockchain Technology: Architecture, Consensus, and Future Trends,” Proc. - 2017 IEEE 6th Int. Congr. Big Data, BigData Congr. 2017, no. June, pp. 557–564, 2017.

[46] D. Johnson and C. Research, “The Elliptic Curve Digital Signature Algorithm (ECDSA) 1 2,” 1999.

[47] D. Drescher, “Seeing the Limitations,” in Blockchain Basics, Berkeley, CA: Apress, 2017, pp. 205–211.

[48] C. Cheng, R. Permadi, and R. Feldt, “Evaluation and Measurement of Software Process Improvement- A Systematic Literature Review,” IEEE Trans. Softw. Eng., vol. 38, no. 2, p. 6, 2011.

[49] “IEEE Xplore Digital Library.” [Online]. Available: https://ieeexplore.ieee.org/Xplore/home.jsp. [Accessed: 06-Oct-2018].

[50] “ACM Digital Library.” [Online]. Available: https://dl.acm.org/. [Accessed: 06-Oct-2018].

[51] “ScienceDirect.com | Science, health and medical journals, full text articles and books.” [Online]. Available: https://www.sciencedirect.com/. [Accessed: 06-Oct-2018].

[52] “Google Académico.” [Online]. Available: https://scholar.google.es. [Accessed: 06-Oct-2018].

[53] “Springer - International Publisher Science, Technology, Medicine.” [Online]. Available: https://www.springer.com/gp. [Accessed: 06-Oct-2018].

[54] “Mendeley.” [Online]. Available: https://www.mendeley.com/?interaction_required=true. [Accessed: 02-Nov-2018].

[55] T. Hardjono and N. Smith, “Cloud-Based Commissioning of Constrained Devices using Permissioned Blockchains,” 2nd ACM Int. Work. IoT Privacy, Trust. Secur., pp. 29–36, 2016.

[56] Y. Rahulamathavan, R. C. Phan, M. Rajarajan, S. Misra, and A. Kondoz, “Privacy-preserving Blockchain based IoT Ecosystem using Attribute-based Encryption,” 2017 IEEE Int. Conf. Adv. Networks Telecommun. Syst., pp. 1–6, 2017.

[57] Z. Huang and X. Su, “A Decentralized Solution for IoT Data Trusted Exchange Based-on Blockchain,” IEEE Int. Conf. Comput. Commun., pp. 1180–1184, 2017.

[58] A. Dorri, S. Kanhere, and R. Jurdak, “Towards an Optimized BlockChain for IoT,” Second Int. Conf. Internet-of-Things Des. Implement., pp. 227–232, 2017.

[59] N. Teslya and I. Ryabchikov, “Blockchain-Based Platform Architecture for Industrial IoT,” PROCEEDING 21ST Conf. Fruct Assoc., 2017.

[60] M. Samaniego and D. Ralph, “Internet of Smart Things – IoST Using Blockchain and CLIPS to make Things Autonomous,” 2017 IEEE 1st Int. Conf. Cogn. Comput., pp. 9–16, 2017.

[61] M. Conoscenti, D. Torino, A. Vetr, D. Torino, and J. C. De Martin, “Peer to Peer for Privacy and Decentralization in the Internet of Things,” 2017 IEEE Eur. Symp. Secur. Priv. Work., pp. 1–3, 2017.

[62] A. G. Abbasi, R. Acreo, and C. Lane, “VeidBlock : Verifiable Identity using Blockchain and Ledger in a Software Defined Network,” SCCTSA 2017 Work. Present., pp. 173–179, 2017.

[63] O. Ahlert, A. Abed, and L. Bona, “ControlChain : Blockchain as a Central Enabler for Access Control Authorizations in the IoT,” GLOBECOM 2017 - 2017 IEEE Glob. Commun. Conf. Singapore, 2017, 2017.

[64] C. De Runz and S. Faiz, “Towards a new Ubiquitous Learning Environment Based on Blockchain Technology,” 2017 IEEE 17th Int. Conf. Adv. Learn. Technol. Towar., pp. 6–7, 2017.

[65] K. Karlsson et al., “Vegvisir: A Partition-Tolerant Blockchain for the Internet-of-

Page 126: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 118

Things,” in 2018 IEEE 38th International Conference on Distributed Computing Systems (ICDCS), 2018, pp. 1150–1158.

[66] C. Machado and A. A. Fröhlich, “IoT Data Integrity Verification for Cyber-Physical Systems using Blockchain,” 2018 IEEE 21st Int. Symp. Real-Time Distrib. Comput., pp. 83–90, 2018.

[67] L. Wu, X. Du, W. Wang, and B. Lin, “An Out-of-band Authentication Scheme for Internet of Things Using Blockchain Technology,” in 2018 International Conference on Computing, Networking and Communications (ICNC), 2018, pp. 769–773.

[68] W. Chen, M. Ma, Y. Ye, Z. Zheng, and Y. Zhou, “IoT Service Based on JointCloud Blockchain: The Case Study of Smart Traveling,” in 2018 IEEE Symposium on Service-Oriented System Engineering (SOSE), 2018, pp. 216–221.

[69] J. Li, J. Wu, and L. Chen, “Block-secure : Blockchain based scheme for secure P2P cloud storage,” Inf. Sci. (Ny)., vol. 465, pp. 219–231, 2018.

[70] V. Sharma, I. You, F. Palmieri, D. N. K. Jayakody, and J. Li, “Secure and Energy-Efficient Handover in Fog Networks Using Blockchain-Based DMM,” IEEE Commun. Mag., vol. 56, no. 5, pp. 22–31, May 2018.

[71] P. K. Sharma, M. Chen, and J. H. Park, “A Software Defined Fog Node Based Distributed Blockchain Cloud Architecture for IoT,” IEEE Access, vol. 6, pp. 115–124, 2018.

[72] H. Kinkelin, V. Hauner, H. Niedermayer, and G. Carle, “Trustworthy configuration management for networked devices using distributed ledgers,” in NOMS 2018 - 2018 IEEE/IFIP Network Operations and Management Symposium, 2018, pp. 1–5.

[73] C. Pahl, N. El Ioini, S. Helmer, and B. Lee, “An architecture pattern for trusted orchestration in IoT edge clouds,” in 2018 Third International Conference on Fog and Mobile Edge Computing (FMEC), 2018, pp. 63–70.

[74] M. A. Uddin, A. Stranieri, I. Gondal, and V. Balasubramanian, “Continuous Patient Monitoring With a Patient Centric Agent: A Block Architecture,” IEEE Access, vol. 6, pp. 32700–32726, 2018.

[75] R. Di Pietro, X. Salleras, and E. Waisbard, “A blockchain-based Trust System for the Internet of Things,” 23nd ACM Symp. Access Control Model. Technol., pp. 77–83, 2018.

[76] J. Ellul and G. J. Pace, “AlkylVM : A Virtual Machine for Smart Contract Blockchain Connected Internet of Things,” 2018 9th IFIP Int. Conf. New Technol. Mobil. Secur., pp. 6–9, 2018.

[77] O. Alphand et al., “IoTChain: A blockchain security architecture for the Internet of Things,” in 2018 IEEE Wireless Communications and Networking Conference (WCNC), 2018, pp. 1–6.

[78] P. K. Sharma, S. Rathore, and J. H. Park, “DistArch-SCNet: Blockchain-Based Distributed Architecture with Li-Fi Communication for a Scalable Smart City Network,” IEEE Consum. Electron. Mag., vol. 7, no. 4, pp. 55–64, Jul. 2018.

[79] J. Yang, Z. Lu, and J. Wu, “Smart-toy-edge-computing-oriented data exchange based on blockchain,” J. Syst. Archit., vol. 87, no. April, pp. 36–48, 2018.

[80] O. Novo, “Blockchain Meets IoT : An Architecture for Scalable Access Management in IoT,” IEEE Internet Things J., vol. 5, no. 2, pp. 1184–1195, 2018.

[81] R. C. Lunardi, R. A. Michelin, C. V. Neu, and A. F. Zorzo, “Distributed access control on IoT ledger-based architecture,” in NOMS 2018 - 2018 IEEE/IFIP Network Operations and Management Symposium, 2018, pp. 1–7.

[82] P. K. Sharma, S. Singh, Y. Jeong, and J. H. Park, “DistBlockNet : A Distributed Blockchains-Based Secure SDN Architecture for IoT Networks,” IEEE Commun. Mag., no. September, pp. 78–85, 2017.

[83] H. Shafagh, L. Burkhalter, and S. Duquennoy, “Towards Blockchain-based Auditable Storage and Sharing of IoT Data,” 2017 Cloud Comput. Secur. Work., pp. 45–50, 2017.

[84] A. Boudguiga et al., “Towards Better Availability and Accountability for IoT Updates by means of a Blockchain,” 2017 IEEE Eur. Symp. Secur. Priv. Work., pp. 50–58,

Page 127: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 119

2017. [85] M. Salek Ali, F. Antonelli, and F. B. K. Create-net, “IoT Data Privacy via Blockchains

and IPFS,” Seventh Int. Conf. Internet Things, 2017. [86] X. Liang, J. Zhao, S. Shetty, and D. Li, “Towards Data Assurance and Resilience in

IoT Using Blockchain,” MILCOM 2017 - 2017 IEEE Mil. Commun. Conf., pp. 261–266, 2017.

[87] S. Cha, S. Member, J. Chen, C. Su, K. Yeh, and S. Member, “A Blockchain Connected Gateway for BLE-Based Devices in the Internet of Things,” IEEE Access, vol. 6, pp. 24639–24649, 2018.

[88] C. Liao, S. Bao, C. Cheng, and K. Chen, “On Design Issues and Architectural Styles for Blockchain-driven IoT Services,” 2017 IEEE Int. Conf. Consum. Electron. - Taiwan, pp. 351–352, 2017.

[89] “Atlas.ti 8.” [Online]. Available: https://atlasti.com/product/v8-windows/. [Accessed: 02-Nov-2018].

[90] “ISO/IEC 25010:2011(en), Systems and software engineering — Systems and software Quality Requirements and Evaluation (SQuaRE) — System and software quality models.” [Online]. Available: https://www.iso.org/obp/ui/#iso:std:iso-iec:25010:ed-1:v1:en. [Accessed: 02-Nov-2018].

[91] A. B. Bondi, “Characteristics of scalability and their impact on performance,” Proc. Second Int. Work. Softw. Perform. - WOSP ’00, pp. 195–203, 2000.

[92] A. Sharma, M. Kumar, and S. Agarwal, “A complete survey on software architecture styles and patterns.”

[93] H. Cervantes and R. Kazman, Designing software architectures : a practical approach. .

[94] E. Brickell and J. Li, “Enhanced privacy ID: A direct anonymous attestation scheme with enhanced revocation capabilities,” IEEE Trans. Dependable Secur. Comput., vol. 9, no. 3, pp. 345–360, 2012.

[95] E. Brickell, J. Camenisch, and L. Chen, “Direct Anonymous Attestation,” 2004. [96] “A Cost-Effective Foundation for End-to-End IoT Security.” [Online]. Available:

http://www.intel.com/content/www/us/. [Accessed: 08-Dec-2018]. [97] “What is a Digital Wallet? - Definition from Techopedia.” [Online]. Available:

https://www.techopedia.com/definition/1776/digital-wallet. [Accessed: 08-Dec-2018].

[98] R. K. Balan and N. Ramasubbu, “The digital wallet: Opportunities and prototypes,” Computer (Long. Beach. Calif)., vol. 42, no. 4, pp. 100–102, 2009.

[99] “Kott Software: HR Onboard solution for employee onboarding and electronic verification.” [Online]. Available: http://www.kottsoftware.com/Products/PRO-HROnBoard.aspx. [Accessed: 08-Dec-2018].

[100] Z. Qiao, S. Liang, S. Davis, and H. Jiang, “Survey of attribute based encryption,” 2014 IEEE/ACIS 15th Int. Conf. Softw. Eng. Artif. Intell. Netw. Parallel/Distributed Comput. SNPD 2014 - Proc., pp. 1–6, 2014.

[101] “What is a Smart Contract? - Definition from Techopedia.” [Online]. Available: https://www.techopedia.com/definition/32499/smart-contract. [Accessed: 08-Dec-2018].

[102] B. K. Mohanta, S. S. Panda, and D. Jena, “An Overview of Smart Contract and Use Cases in Blockchain Technology,” 2018 9th Int. Conf. Comput. Commun. Netw. Technol. ICCCNT 2018, pp. 1–4, 2018.

[103] J. Honkola, H. Laine, R. Brown, and O. Tyrkk??, “Smart-M3 information sharing platform,” Proc. - IEEE Symp. Comput. Commun., pp. 1041–1046, 2010.

[104] “M3 Information SmartSpaces Technology Overview,” Nokia, 2009. [Online]. Available: https://www.slideshare.net/ianoliver79/m3-information-smartspaces-technology-overview. [Accessed: 08-Dec-2018].

[105] J. C. Giarratano, “CLIPS 6.4 User’s Guide.” [Online]. Available: http://clipsrules.sourceforge.net/documentation/v640/ug.pdf. [Accessed: 08-Dec-2018].

Page 128: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 120

[106] H. Shoja, H. Nahid, and R. Azizi, “A comparative survey on load balancing algorithms in cloud computing,” 5th Int. Conf. Comput. Commun. Netw. Technol. ICCCNT 2014, pp. 1–5, 2014.

[107] D. Kreutz, F. M. V. Ramos, P. E. Verissimo, C. E. Rothenberg, S. Azodolmolky, and S. Uhlig, “Software-defined networking: A comprehensive survey,” Proc. IEEE, vol. 103, no. 1, pp. 14–76, 2015.

[108] K. Ruohonen, “GRAPH THEORY,” 2013. [Online]. Available: http://math.tut.fi/~ruohonen/GTE_kalvosarja.pdf. [Accessed: 08-Dec-2018].

[109] K. Birman, “The promise, and Limitations, of Gossip Protocols.” [Online]. Available: http://www.cs.cornell.edu/projects/Quicksilver/public_pdfs/2007PromiseAndLimitations.pdf. [Accessed: 08-Dec-2018].

[110] N. Preguiça, C. Baquero, and M. Shapiro, “Conflict-free Replicated Data Types,” 2018. [Online]. Available: https://arxiv.org/pdf/1805.06358.pdf. [Accessed: 18-Dec-2018].

[111] M. Shapiro, N. Preguiça, C. Baquero, and M. Zawirski, “Conflict-Free Replicated Data Types,” 2011. [Online]. Available: https://link.springer.com/content/pdf/10.1007%2F978-3-642-24550-3_29.pdf. [Accessed: 18-Dec-2018].

[112] “Embedded Parallel Operating System | EPOS Overview.” [Online]. Available: https://epos.lisha.ufsc.br/EPOS+Overview. [Accessed: 18-Dec-2018].

[113] A. Augusto and M. Fröhlich, “EPOS: Embedded Parallel Operating System,” 2002. [Online]. Available: http://www.inf.ufsc.br/∼guto. [Accessed: 18-Dec-2018].

[114] D. Resner and A. A. Fröhlich, “Design rationale of a cross-layer, Trustful Space-Time Protocol for Wireless Sensor Networks,” IEEE Int. Conf. Emerg. Technol. Fact. Autom. ETFA, vol. 2015–Octob, 2015.

[115] D. Resner and A. A. Fröhlich, “TSTP MAC: A Foundation for the Trustful Space-Time Protocol,” Proc. - 19th IEEE Int. Conf. Comput. Sci. Eng. 14th IEEE Int. Conf. Embed. Ubiquitous Comput. 15th Int. Symp. Distrib. Comput. Appl. to Business, Engi, pp. 40–47, 2017.

[116] D. R. Hankerson, S. A. Vanstone, and A. Menezes, Guide to elliptic curve cryptography. Springer, 2003.

[117] N. Gura, A. Patel, A. Wander, H. Eberle, and S. C. Shantz, “Comparing Elliptic Curve Cryptography and RSA on 8-bit CPUs,” 2004.

[118] D. Johnson, A. Menezes, and S. Vanstone, “The Elliptic Curve Digital Signature Algorithm (ECDSA),” IJIS, vol. 1, pp. 36–63, 2001.

[119] “Public Key Cryptography For The Financial Services Industry: The Elliptic Curve Digital Signature Algorithm (ECDSA) ©,” 1998. [Online]. Available: http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.202.2977&rep=rep1&type=pdf. [Accessed: 24-Dec-2018].

[120] “W3C España.” [Online]. Available: https://www.w3c.es/Consorcio/. [Accessed: 25-Dec-2018].

[121] E. Fredkin, “Trie Memory*,” Communications of the ACM. [Online]. Available: http://delivery.acm.org/10.1145/370000/367400/p490-fredkin.pdf?ip=138.100.146.14&id=367400&acc=ACTIVE SERVICE&key=DD1EC5BCF38B3699.56C5FE3C31EC337C.4D4702B0C3E38B35.4D4702B0C3E38B35&__acm__=1545947431_b682162e814378ff45b9c123c7ae59fe. [Accessed: 27-Dec-2018].

[122] X. Vilajosana and F. Adelantado, “State of the Art MAC layers for Wide Area Wireless Communications.” [Online]. Available: http://wine.rdi.uoc.edu/wp-content/uploads/2017/03/D1.2-State-of-the-Art.pdf. [Accessed: 28-Dec-2018].

[123] M. Vučinić, B. Tourancheau, F. Rousseau, A. Duda, L. Damon, and R. Guizzetti, “OSCAR: Object security architecture for the Internet of Things,” Ad Hoc Networks, vol. 32, pp. 3–16, Sep. 2015.

[124] L. Seitz, G. Selander, E. Wahlstroem, S. Erdtman, and H. Tschofenig, “Authentication and Authorization for Constrained Environments (ACE) using the

Page 129: UNIVERSIDAD POLITÉCNICA DE MADRIDoa.upm.es/53901/1/TESIS_MASTER_JORGE_GUSTAVO_MORENO_LO… · El Internet de las Cosas (Internet of Things, IoT) es considerado un paradigma en el

Página | 121

OAuth 2.0 Framework (ACE-OAuth) draft-ietf-ace-oauth-authz-17,” 2018. [Online]. Available: https://datatracker.ietf.org/doc/html/draft-ietf-ace-oauth-authz-07.

[125] R. Johri, “Li-Fi, complementary to Wi-Fi,” 2016 Int. Conf. Comput. Power, Energy Inf. Commuincation, pp. 015–019, Apr. 2016.

[126] X.-S. Yang, Nature-inspired metaheuristic algorithms. Luniver Press, 2010. [127] Y. Sung et al., “FS-OpenSecurity: A Taxonomic Modeling of Security Threats in

SDN for Future Sustainable Computing,” Sustainability, vol. 8, no. 9, p. 919, Sep. 2016.

[128] R. Shree, T. Choudhury, S. C. Gupta, and P. Kumar, “KAFKA: The modern platform for data management and analysis in big data domain,” in 2017 2nd International Conference on Telecommunication and Networks (TEL-NET), 2017, pp. 1–5.

[129] B.-Y. Sung, K.-B. Kim, and K.-W. Shin, “An AES-GCM authenticated encryption crypto-core for IoT security,” in 2018 International Conference on Electronics, Information, and Communication (ICEIC), 2018, pp. 1–3.

[130] A. Malatras, “State-of-the-art survey on P2P overlay networks in pervasive computing environments,” J. Netw. Comput. Appl., vol. 55, pp. 1–23, Sep. 2015.

[131] “Routing on P2P Overlay Networks.” [Online]. Available: https://www.csie.nuk.edu.tw/~wuch/course/csf641/csf641-04-routing.pdf. [Accessed: 15-Dec-2018].

[132] “RSA - Numerentur.org.” [Online]. Available: http://numerentur.org/rsa/. [Accessed: 15-Dec-2018].

[133] “The GNU Privacy Guard,” 14-Dec-2018. [Online]. Available: https://www.gnupg.org/. [Accessed: 15-Dec-2018].

[134] J. Benet, “IPFS-Content Addressed, Versioned, P2P File System (DRAFT 3),” 2014. [Online]. Available: https://arxiv.org/pdf/1407.3561.pdf. [Accessed: 30-Dec-2018].

[135] J. Ray, “Light client protocol.” [Online]. Available: https://github.com/ethereum/wiki/wiki/Light-client-protocol. [Accessed: 15-Dec-2018].