Blockchain en el internet de la cosas

Blockchain en el internet de la cosas. El paradigma del Internet de las Cosas (IoT) está preparando el terreno para un mundo en el que muchos de nuestros objetos cotidianos estarán interconectados e interactuarán con su entorno para recoger información y automatizar ciertas tareas.

Esta visión requiere, entre otras cosas, autenticación sin fisuras, privacidad de los datos seguridad, solidez frente a los ataques, facilidad de despliegue y automantenimiento.

Todas estas características pueden ser aportadas por blockchain, una tecnología nacida con la criptomoneda llamada Bitcoin.

Adaptar la blockchain en el internet de la cosas

En este artículo hacemos un repaso sobre cómo se puede adaptar la tecnología blockchain en el internet de la cosas a las necesidades específicas para desarrollar aplicaciones de IoT basadas en Blockchain (BIoT).

Tras describir los fundamentos de blockchain, se describen las aplicaciones BIoT más relevantes con el objetivo de enfatizar cómo blockchain puede impactar en las aplicaciones tradicionales de IoT centradas en la nube.

A continuación, detallaremos los retos actuales y las posibles optimizaciones en relación con muchos aspectos que afectan al diseño, desarrollo y despliegue de una aplicación BIoT. 

Por último, se enumeran algunas recomendaciones con el objetivo de orientar a los futuros investigadores y desarrolladores de BIoT sobre algunas de las cuestiones que que habrá que abordar antes de desplegar la próxima generación de aplicaciones BIoT.

Amazon Web Services Internet de las Cosas

Tecnologías blockchain en el internet de la cosas

Las tecnologías blockchain en el internet de la cosas son capaces de rastrear, coordinar, realizar transacciones y almacenar información de una gran cantidad de dispositivos, permitiendo la creación de aplicaciones que no requieren una nube centralizada. 

Algunas empresas como IBM van más allá y hablan de blockchain como una tecnología para democratizar el futuro IoT, ya que aborda los retos críticos actuales para su adopción masiva:

– Muchas soluciones de IoT siguen siendo caras debido a los costes relacionados con el despliegue y mantenimiento de nubes centralizadas y granjas de servidores. Cuando dicha infraestructura no es creada por el proveedor, el coste proviene de intermediarios.

– El mantenimiento también es un problema al tener que distribuir actualizaciones regulares de software a millones de dispositivos inteligentes.

– La falta de confianza también se ve favorecida por el código cerrado.

Para aumentar la confianza y la seguridad, la transparencia es esencial, por lo que deben tenerse en cuenta los enfoques de código abierto cuando se desarrolle la próxima generación de soluciones de IoT.

Es importante tener en cuenta que el código de fuente abierta, al igual que el de fuente cerrada, sigue siendo susceptible de sufrir fallos y exploits, pero, como puede ser supervisado constantemente por muchos usuarios, es menos propenso a las modificaciones maliciosas de terceros.

Fundamentos de la cadena de bloques

Una cadena de bloques es como un libro de contabilidad distribuido cuyos datos se comparten entre una red de pares. Como se mencionó anteriormente se considera como la principal contribución de Bitcoin, ya que solucionó un problema financiero de larga duración conocido como el problema del doble gasto. 

La solución propuesta por Bitcoin consistió en buscar el consenso de la mayoría de los nodos de minería que añaden las transacciones válidas a la cadena de bloques.

Aunque el concepto de blockchain se originó como una herramienta para una criptomoneda, no es necesario desarrollar una para utilizar una cadena de bloques y crear aplicaciones descentralizadas.

Una cadena de bloques, como su nombre indica, es una cadena de bloques con marca de tiempo que están vinculados por hashes criptográficos. 

A. Fundamentos básicos de blockchain

Para utilizar una blockchain, primero se requiere crear una red P2P con todos los nodos interesados en hacer uso de dicha blockchain. 

Cada nodo de la red recibe dos claves: una clave pública, que es utilizada por los demás usuarios para encriptar los mensajes enviados a un nodo, y una clave privada, que permite a un nodo leer dichos mensajes. Por tanto, se utilizan dos claves diferentes una para el cifrado y otra para el descifrado.

En la práctica, la clave privada se utiliza para firmar las transacciones de la blockchain (es decir, para aprobar dichas transacciones), mientras que la clave pública funciona como una dirección única. Sólo el usuario con la clave privada es capaz de descifrar los mensajes encriptados con la clave pública correspondiente. Esto se llama criptografía asimétrica.

BITCOINS Y CRIPTOMONEDAS en la blockchain

B. Tipos de blockchain

Existen diferentes tipos de blockchains en función de los datos gestionados, de la disponibilidad de dichos datos y de las acciones puede realizar un usuario. 

Así, se puede distinguir entre públicas y privadas, y entre blockchains con y sin permisos.

Es importante indicar que algunos autores utilizan los términos público/sin permiso y privado/sin permiso con sinónimos, lo que puede ser coherente cuando se habla de criptomonedas, pero no es el caso de las aplicaciones de IoT, donde es importante distinguir entre autenticación (quién puede acceder a la blockchain; privada frente a pública) y autorización (qué puede hacer un dispositivo IoT; sin permiso o con permiso). 

No obstante, hay que tener en cuenta que estas distinciones siguen siendo objeto de debate y las definiciones que se dan a continuación pueden diferir de otras en la literatura.

  • En las cadenas de bloques públicas cualquiera puede unirse a la cadena de bloques sin la aprobación de terceros, pudiendo actuar como un simple nodo o como minero/validador. Los mineros/validadores suelen recibir incentivos económicos en blockchains públicas como Bitcoin, Ethereum o Litecoin.
  • En el caso de las blockchains privadas, el propietario restringe el acceso a la redMuchas blockchains privadas también tienen permisos para controlar qué usuarios pueden realizar transacciones, llevar a cabo contratos inteligentes o actuar como mineros en la red, pero hay que tener en cuenta que no todas las cadenas de bloques privadas están necesariamente autorizadas. Para ejemplo, una organización puede desplegar una blockchain privada basada en Ethereum, que no tiene permisos. Ejemplos de cadenas de bloques con permiso son las utilizadas por HyperledgerFabric o Ripple.

C. Determinar la necesidad de utilizar blockchain en el internet de la cosas

Antes de profundizar en los detalles sobre cómo utilizar una de la cadena de bloques blockchain en el internet de la cosas, hay que destacar que la cadena de bloques no siempre es la mejor solución para cada escenario.

Las bases de datos tradicionales o los libros de contabilidad pueden ser más adecuados para ciertas aplicaciones del IoT. En concreto, para determinar si el uso de una cadena de bloques es apropiado, un desarrollador debe decidir si las siguientes características son necesarias para una aplicación de IoT:

  • Descentralización. Las aplicaciones de IoT exigen descentralización cuando no hay un sistema centralizado de confianza. Sin embargo, muchos usuarios siguen confiando ciegamente en determinadas empresas, organismos gubernamentales o bancos, por lo que si existe una confianza mutua, no se necesita una cadena de bloques.
  • Intercambios P2P. En IoT la mayoría de las comunicaciones van de nodos a pasarelas que dirigen los datos a un servidor remoto o la nube. Las comunicaciones entre pares a nivel de nodo
    no son muy comunes, excepto para aplicaciones específicas, como aplicaciones específicas, como en los enjambres inteligentes o en los sistemas de de niebla. También existen otros paradigmas que fomentan las comunicaciones entre nodos al mismo nivel, como ocurre en la computación en la niebla con pasarelas locales.
  • Sistema de pago. Algunas aplicaciones de IoT pueden requerir realizar transacciones económicas con terceros, pero muchas aplicaciones no lo hacen. Además, las transacciones económicas pueden seguir realizándose a través de los sistemas de pago tradicionales, aunque suelen implicar el pago de de transacción y es necesario confiar en bancos o intermediarios.
  • Registro público de transacciones secuenciales. Muchas redes de IoT recogen datos que necesitan ser sellados con fecha y almacenados de forma secuencial. Sin embargo, estas necesidades pueden ser utilizados fácilmente con las bases de datos tradicionales, especialmente en los casos en los que la seguridad está garantizada o en los que los ataques son poco frecuentes.
  • Sistema distribuido robusto. Los sistemas distribuidos también pueden construirse sobre nubes, granjas de servidores o cualquier forma de sistemas informáticos distribuidos tradicionales. La necesidad de esta característica no es suficiente para justificar el uso de un blockchain: también tiene que haber al menos una falta de confianza en la entidad que gestiona el sistema informático distribuido sistema de computación distribuida.
  • Recogida de microtransacciones. Algunas aplicaciones de IoT pueden necesitar mantener un registro de cada transacción para mantener la trazabilidad, con fines de auditoría o porque se aplicarán técnicas de Big Data posteriormente. En estas situaciones, una cadena lateral puede ser útil. Sin embargo, otras aplicaciones no necesitan almacenar todos los valores recogidos.
blockchain para dummies 19

D. Aplicaciones BioT

La tecnología Blockchain puede aplicarse en muchos campos y casos de uso. La evolución de la aplicabilidad de blockchain comenzó con Bitcoin (blockchain 1.0), viniendo luego los contratos inteligentes (blockchain 2.0) y, posteriormente, se dió la justicia, la eficiencia y la coordinación que aportaba el uso de la cadena de bloques (blockchain 3.0).

En cuanto a los contratos inteligentes, se definen como piezas de código autosuficiente y descentralizado que se ejecutan de forma autónoma cuando se cumplen determinadas condiciones.

Los contratos inteligentes pueden aplicarse en muchos casos prácticos, como transferencias internacionales, hipotecas o crowdfunding.

E. Retos actuales de las aplicaciones BIoT

A. PRIVACIDAD

Todos los usuarios de una blockchain se identifican por su clave pública o su hash. Esto significa que el anonimato no está garantizado, y ya que todas las transacciones son compartidas, es posible que terceros analizar dichas transacciones e inferir las identidades reales de los participantes.

La privacidad es aún más compleja en los entornos de blockchain en el internet de la cosas, ya que los dispositivos de la IOT pueden revelar datos privados de los usuarios que podrían almacenarse en una cadena de bloques cuyos requisitos de privacidad privacidad difieren de un país a otro.

B. SEGURIDAD

Tradicionalmente, son tres los requisitos que debe cumplir un
sistema de información para garantizar su seguridad:

  • Confidencialidad. La información más sensible debe protegida de accesos no autorizados.
  • Integridad. Garantiza que los datos no sean alterados o borrados por personas no autorizadas. También se suele añadir que si una parte autorizada daña la información, debe ser posible ser posible deshacer los cambios.
  • Disponibilidad. Se puede acceder a los datos cuando sea necesario.

C. EFICIENCIA ENERGÉTICA

Los nodos finales del IoT suelen utilizar hardware con recursos limitados de recursos que se alimentan de baterías. Por lo tanto, la eficiencia energética es clave para permitir un despliegue de nodos de larga duración. Sin embargo, muchas cadenas de bloques se caracterizan por ser de consumo de energía. En estos casos, la mayor parte del consumo se debe a dos factores:

  • La minería. Las cadenas de bloques como Bitcoin consumen grandes cantidades de cantidades de electricidad debido al proceso de minería, que implica un algoritmo de consenso (PoW) que consiste en una especie de búsqueda por fuerza bruta de un hash.
  • Comunicaciones P2P. Las comunicaciones P2P requieren dispositivos de borde que tienen que estar encendidos continuamente, lo que podría suponer un desperdicio de energía. Algunos investigadores de investigadores propusieron protocolos de eficiencia energética para redes P2P, pero la cuestión aún debe ser estudiada para el caso específico de las redes IoT.

D. RENDIMIENTO Y LATENCIA

Los despliegues de IoT pueden requerir una red de blockchain capaz de gestionar grandes cantidades de transacciones por unidad de tiempo. Este es una limitación en ciertas redes. Por ejemplo, la blockchain de Bitcoin blockchain tiene un máximo teórico de 7 transacciones por segundo, aunque se puede aumentar procesando bloques más grandes o modificando ciertos aspectos del comportamiento del nodo
comportamiento de los nodos a la hora de aceptar transacciones.

En comparación,otras redes son notablemente más rápidas. Por ejemplo, la red VISA (VisaNet) puede manejar hasta 24.000 transacciones por segundo.

F. Conclusiones sobre el uso de la Blockchain en el internet de las cosas

La transición a un mundo impulsado por los datos se está acelerando por el ritmo de los avances tecnológicos de un mundo global habilitado por Internet, el aumento de los retos sociales y una creciente competencia por los escasos recursos. En este ecosistema, blockchain en el internet de la cosas puede ofrecer a IoT una plataforma para distribuir información de confianza que desafíe las estructuras organizativas no colaborativas.

Podemos concluir que, como en cualquier innovación tecnológica no existe una solución única para una aplicación BIoT.

Sin embargo, la adopción del paradigma abre un amplio campo de aplicaciones potenciales a corto y medio plazo que podrían que podrían alterar la industria y, probablemente, la economía, tal y como la conocemos hoy en día.

La realidad global es una compleja mezcla de diferentes partes interesadas en el ecosistema de la IO, por lo que es necesario reevaluar las diferentes actividades y actores implicados en la economía del futuro próximo.

Podemos concluir que el IoT está todavía en su fase inicial, y más allá de los primeros desarrollos y despliegues de BIoT, blockchain en el internet de la cosas, un uso más amplio requerirá avances adicionales en la investigación tecnológica para hacer frente a las demandas específicas, junto con la colaboración de las organizaciones de la sociedad civil y gobiernos.

4.5/5 - (19 votos)

Deja una respuesta