Informes

Qué es IOTA

DecentraLAB.tech

OTA, un proyecto de red y criptomoneda basado en tecnología DAG que apunta a ser el puente que una a todos los dispositivos IoT del mundo bajo una red alta velocidad, escalabilidad y seguridad.

El proyecto IOTA junto a su criptomoneda, es uno de los proyectos que busca llevar la tecnología DLT a un campo totalmente nuevo: el Internet de las Cosas (IoT). Para lograr esto, IOTA ha desarrollado una tecnología única que busca desplegar todo el potencial de las cadenas de bloques para estos dispositivos a medida que comienzan a tener mayor relevancia en nuestra vida diaria.

En este sentido, IOTA como protocolo DLT y criptomoneda aspira desarrollar soluciones altamente escalables que permitan interconectar dispositivos IoT en una red segura y descentralizada. Por supuesto, esta visión no renuncia a otras utilidades propias de las criptomonedas, como las transacciones financieras, pero su enfoque está más centrado en (nunca mejor dicho) otras cosas.

Pero ¿Qué significa que IOTA sea DLT y no una blockchain como el Bitcoin? ¿Por qué es revolucionaria? ¿Cuál es su futuro?

IOTA, el nacimiento de una DLT para el Internet of Thing

El proyecto IOTA comenzó como un esfuerzo de David Sønstebø, Dominik Schiener, Sergey Ivancheglo, y Serguei Popov, quienes buscaban solucionar varios de los problemas que blockchain ha presentado desde sus inicios. El trabajo en conjunto de este equipo permitió que el 3 de abril de 2016 se liberase el primer whitepaper del proyecto. En dicho whitepaper se presentaba a Tangle, la red que formaría a IOTA junto con una serie de potentes novedades.

El desarrollo inicial fue financiado por una ICO, y los participantes pudieron comprar el token de IOTA a través de otras criptomonedas. De esta forma se lograron recaudar aproximadamente 1.300 BTC, equivalente aproximado de 500.000 US$ de aquél momento, y el suministro total de tokens se distribuyó proporcionalmente entre los inversores iniciales.

Desde entonces, IOTA ha empezado un largo camino de desarrollo para intentar ser aquello que prometía: una red altamente escalable, segura y adaptada para el IoT. En todo ello, Tangle ha jugado una posición vital para este desarrollo. Por ello explicaremos que es esta curiosa construcción y la grandiosa tecnología que se esconde detrás de ella.

Una blockchain para el IoT

El objetivo de IOTA como lo hemos comentado es diseñar una DLT de alta velocidad y escalabilidad que permita interconectar los dispositivos IoT en una red P2P con interacción descentralizada. Un hecho que lograría la construcción de una red dinámica de transacciones y microtransacciones entre estos dispositivos y el mundo, casi en tiempo real. De esta manera, los dispositivos IoT podrán transferir fondos, mantener registros y enviar mensajes entre sí, sin necesidad de ningún sistema centralizado.

Este escenario en IOTA es completamente factible. Y todo ello gracias a que la red no necesita de mineros dado que, en su lugar, el consenso es construido por nodos que trabajan de forma asincrónica y la seguridad es garantizada por una red de gran tamaño. Pero ¿Qué tan impactante puede ser esto en realidad?

Pues bien, la tecnología IoT lleva entre nosotros varios años y desde su aparición este no ha dejado de crecer. Quizás no te hayas dado cuenta de ese crecimiento porque está en cosas que tal vez ni imaginas. Por ejemplo, tu tarjeta de débito o smartphone con NFC es considerado un dispositivo IoT. Lo mismo sucede con ese refrigerador, horno, cafetera, televisor, cámara IP o cualquier otro dispositivo “inteligente” con una conexión a Internet. Todos ellos forman parte del cada vez más creciente mercado de dispositivos IoT, el cual se espera alcance los más de 125.000 millones de dispositivos para 2030, y un valor de mercado 1,5 trillones de dólares.

Números que parecen ser un sueño, pero que se harán realidad con la incursión total del IoT en las industrias y negocios (en la llamada Industria 4.0), así como en los hogares, conquistando cada uno de los dispositivos que usamos en nuestra vida diaria.

Con esta perspectiva es comprensible porque IOTA es una red con un amplio futuro por delante. Su apuesta por interconectar el mundo IoT en una enorme red descentralizada, puede terminar generando un sistema descentralizado único que, ciertamente, puede alcanzar un inmenso valor en un futuro no tan lejano. Lo mejor, es que la apuesta de IOTA ya es utilizable y han demostrado no sólo su capacidad, sino las infinitas posibilidades de la misma.

Pero ¿Cómo piensan lograr esto? ¿Qué tecnología tiene el proyecto IOTA para que pueda construir una red tan grande y poderosa con capacidad de atender a tan alta cantidad de dispositivos a nivel global? Pues bien eso lo examinaremos a continuación.

La tecnología que hace funcionar IOTA

Seguramente ahora has quedado sorprendido con el hecho de que IOTA no es una blockchain como acostumbramos a ver en el mundo cripto. Más bien, es algo totalmente distinto, es una DLT (Tecnología de Registro Distribuido) que funciona bajo un DAG. Pero ¿Qué significan todos estos tecnicismos? Para saber la respuesta empecemos a deconstruir IOTA y conozcamos entonces cómo funciona.

¿Qué es Tangle?

Con el nacimiento de IOTA también se dio origen a Tangle, un protocolo que se aleja del concepto de blockchain para abrazar una tecnología nueva y poco conocida, los DAG o Grafos Acíclicos Dirigidos. Esta curiosa construcción permite que IOTA, pueda desarrollarse sobre un nuevo esquema de red radicalmente distinto a la cadena de bloques.

Sino lo sabes, un DAG es un grafo (o gráfico) donde podemos ubicar distintos nodos (que se conocen como vértices) que están relacionados unos con otros por cuerdas. Estas cuerdas son dirigidas, es decir, tienen una sola dirección específica. Pero lo más importante de los DAG es que si empiezas a recorrerlo desde un punto A podrás recorrer todo el grafo hasta llegar al punto B sin repetir el mismo camino y, lo más importante, sin volver de ninguna forma al punto A.

En pocas palabras, un DAG se puede organizar de tal manera que su funcionamiento sea equivalente a la blockchain. Es decir, avanzando en un único sentido y sin la capacidad de volver a atrás para realizar cambios o alteraciones en la data. Sorprendente, ¿no? Podemos ver entonces que una DAG funciona como una blockchain, sólo que en una forma un tanto singular.

Pero, además, las DAG ofrecen varias ventajas y Tangle se aprovecha de las mismas. Por ejemplo, en IOTA gracias a Tangle y su construcción sobre un DAG, no existen los bloques. Así que esa unidad esencial de compactación de información que vemos en la blockchain desaparece por completo en IOTA.

Sin bloques, no hay cadena de bloques y ya esto nos dice lo completamente diferente del funcionamiento de IOTA. Los cambios no terminan allí, al desechar los bloques, los mineros y su papel en la red es innecesario. De esta forma, Tangle crea una estructura en la que no hay bloques ni mineros. Te preguntarás ¿Entonces cómo funciona la red? ¿Cómo puede procesar y validar las transacciones de forma segura?

La respuesta es muy sencilla, Tangle utiliza el DAG para convertirlo en una versión mejorada de blockchain. Esta estructura (el DAG) permite a Tangle construir dos nuevos conceptos:

  • Los sitios que no son más que transacciones representadas en el DAG.
  • Y los nodos, que son los emisores y validadores de esas transacciones.

De esta forma, los sitios son parte del grafo que forma Tangle (parte del DAG), que contiene una o algunas transacciones que se relacionan entre sí. Mientras los nodos, son los usuarios de IOTA elegibles para emitir transacciones, y al mismo tiempo, validar dos transacciones anteriores de la red.

Esto significa que como usuarios de IOTA, tenemos la capacidad de emitir y validar dos transacciones que pueden relacionarse con la nuestra. De manera que, luego, otro nodo pueda validar la nuestra haciendo que la cadena de validación continúe. Este funcionamiento asincrónico permite que la validación de transacciones sea veloz, pero lo mejor de todo es que no requiere de mineros. Así, Tangle y su DAG permiten construir una red segura, rápida y altamente escalable.

Una red escalable y con la mirada a la descentralización total

Muchos proyectos blockchain han buscado largamente soluciones al problema de la escalabilidad. La mayoría de esas soluciones les han llevado a crear estructuras híbridas que fusionan lo mejor de la descentralización y la centralización. Pero esto representa otro problema, las partes centralizadas significan un nivel de control que puede ser riesgoso para la red. Por ejemplo, si una parte de esa estructura centralizada cae, el impacto sobre la red puede ser bastante fuerte como para entorpecer su normal funcionamiento.

Ejemplo de proyectos que han decidido crear sistemas como estos son Dash o Crown, donde los masternodes funcionan como una unidad centralizada capaz de validar transacciones de forma inmediata. Sí, con esto se gana en escalabilidad, pero se renuncia en seguridad y descentralización.

IOTA cuenta, además, con una figura llamada Coordinador, que es una fuerza centralizadora que permite a IOTA tener un alto nivel de escalabilidad cuando se une con un DAG. La responsabilidad del Coordinador es emitir un hito y comprobar si alguno de los participantes de la red intenta realizar un gasto doble.

El Coordicidio, transformar a IOTA en una red completamente descentralizada

Ante la anterior situación, la comunidad de desarrollo de IOTA busca crea otro hito: eliminar el Coordinador y ser una red completamente descentralizada, donde todas sus partes son iguales. De lograrlo, sería la primera red en lograrlo, un hito a ser respetado por toda la criptocomunidad.

Para entender esto, recordemos que IOTA lo que ha hecho en realidad es compartir la responsabilidad de generar y validar transacciones entre las partes de la red. De esa manera, todos los nodos de la red tienen una misma responsabilidad en mantener el funcionamiento de la red, a diferencia de redes como Bitcoin, donde existen nodos completos, nodos semillas, mineros, y los usuarios con sus monederos.

Pero, el hecho de eliminar la figura del Coordinador llevará a IOTA a otro punto de desarrollo importante. Un punto donde toda la red puede servir como motor de impulso para escalar. En IOTA han llamado a esto el Coordicide o Coordicidio, el cual es la eliminación de toda estructura centralizada que pudiera existir en IOTA.

Con esto, los nodos de IOTA tienen la capacidad de velar en todo momento que la red funcione de forma correcta, que nadie realice acciones deshonestas (ni siquiera los Coordinadores), y el que el esfuerzo computacional de todos sume en escalabilidad de la red. Puedes imaginarlo así: un único aerogenerador puede que no aporte suficiente electricidad a la ciudad donde vives, pero un millón de ellos seguro que cubre la demanda y da para mucho más. Lo mejor es que el trabajo de los aerogeneradores puede ser autogestionado y así ajustar la producción eléctrica a las necesidades de la ciudad en cualquier momento.

Esto deja claro una cosa: IOTA busca crear una red con una capacidad de realizar tareas en forma paralela, asincrónica, descentralizada y segura. De lograrlo, IOTA efectivamente podrá ofrecer una escalabilidad sin precedentes. Sin embargo, esto aún está en desarrollo, pero puedes leer el whitepaper de Coordicide en este enlace.

Pero ¿Qué tan escalable es en realidad IOTA? Pues en 2017, hicieron una prueba de stress con 250 nodos, y como resultado IOTA fue capaz de manejar 112 transacciones por segundo. La red IOTA en la actualidad, es mucho más grande que eso, y podría manejar bajo ciertas condiciones ideales hasta 1.000 transacciones por segundo. 

El protocolo de consenso de IOTA, la clave de su funcionamiento

Los protocolos de consenso son parte esencial en el funcionamiento de la tecnología blockchain. Lo mismo se repite en IOTA y su protocolo Tangle. El protocolo de consenso de IOTA es completamente distinto al de otras cadenas de bloques. De hecho, IOTA es el único que sigue el Consenso Nakamoto frente al resto que siguen los principios de Leslie Lamports, en el que si 1/3 de los validadores se desconectan, la red se detiene.

Al no haber distinción entre mineros y usuarios, significa que todos los nodos de la red pueden participar en el consenso. Es decir, un nodo IOTA tiene un papel completamente diferente al de un minero de Bitcoin. Los nodos de IOTA sólo realizan operaciones básicas que no requieren de mucha potencia computacional (por ejemplo, almacenar el libro mayor, validar transacciones). Pero además, los usuarios pueden configurar un nodo con un coste mínimo y participar activamente en el consenso de la red, y de ese modo reforzar su seguridad.

La definición de una capa de consenso, que describe cómo los nodos acuerdan qué transacciones son confiables, es el núcleo de IOTA. En la implementación actual de IOTA, los nodos confían en las transacciones que son referenciadas y aprobadas por hitos, emitidos por el Coordinador. Estas transacciones aprobadas ya forman parte del DAG y una vez allí comienzan su camino a la irreversibilidad.

Este sencillo esquema es lo que genera consenso en la red IOTA. Básicamente, una transacción en IOTA es aprobada al tener dos transacciones que aprueben la veracidad de la misma. Pero mientras más transacciones se agreguen, y estas validen transacciones relacionadas con la primera, más consenso habrá de la que la transacción inicial es válida.

Esta cadena al final lo que representa es una serie de vértices en el DAG que aprueban un determinada vértice. Un ejemplo más claro lo puedes ver en la siguiente imagen:

Los vértices marcados con rojo (el verde y el naranja) corresponden a cadenas de vértices que aprueban el mismo con distinta profundidad. En el caso del vértice verde, vemos que existen 7 vértices que aprueban dicha transacción. Mientras que sólo se observan dos vértices naranja. En pocas palabras, el vértice verde tiene un consenso mucho mayor que el naranja y, por lo tanto, se convierte en el vértice de mayor confianza en este ejemplo.

De esta forma se construye el consenso en IOTA.

Características de IOTA

Ahora bien, el proyecto cuenta también con una serie de características únicas, entre las que podemos mencionar:

  • En IOTA no existen las comisiones por transacción, eso significa que cada transacción es gratis. Pero ¿Cómo evitan el spam? Pues simplemente lo dejan libre, el spam en IOTA al contrario que en Bitcoin, ayuda a fortalecer la red porque ayuda a aprobar de forma rápida las transacciones válidas de la red.
  • La red tiene ausencia de intermediarios. No hay ninguna entidad que gestione los pagos ni ningún minero que confirme las transacciones.
  • Cuenta con una gran escalabilidad. Desde un punto de vista teórico y técnico la escalabilidad de un DAG es mucho mejor que la de una blockchain. Esto es así porque en una blockchain los bloques actúan como un cuello de botella provocando que, cuando los bloques se llenan, se forme una cola de transacciones que tendrán que pagar una comisión cada vez mayor a los mineros para que incluyan sus transacciones en el siguiente bloque. En IOTA, al no existir bloques, todas las transacciones son incorporadas a la red consiguiendo de esta manera una menor latencia y una mejor escalabilidad.
  • Tolerancia al particionado. A diferencia de los sistemas basados en la cadena de bloques, donde una fragmentación de la red provoca la aparición de otra cadena incompatible con la original (hard fork), en IOTA la fragmentación de la red sí que es posible, permitiendo que una parte de la red se separe de la principal para más tarde volver a incorporarse ella.
  • Ofrece un buen nivel de descentralización aunque, por el momento, exista la figura del Coordinador.
  • Sistema EdDSA. IOTA utiliza el algoritmo de firma EdDSA (acrónimo de Edwards-curve Digital Signature Algorithm) que le permite mayor rendimiento en todas las plataformas, claves públicas y firmas pequeñas, así como resistencia a los canales laterales y a las colisiones, entre otras ventajas.

Fundación IOTA, la organización que protege al proyecto

La organización que agrupa a todas las personas e instituciones interesadas en el desarrollo de esta red es la Fundación IOTA. Esta es una organización sin ánimo de lucro situada en Alemania coordina y financia el desarrollo de la tecnología y del ecosistema de IOTA. La Fundación IOTA ha sido la primera asociación sin ánimo de lucro alemana que ha sido financiada exclusivamente con criptomonedas. A través de donaciones la Fundación recibió alrededor del 5% de los tokens, y el resto fueron vendidos por Davids IOTA AS a los participantes de la venta colectiva. Así, en noviembre de 2017, la fundación alcanzó un fondo de 100 millones de dólares para llevar a cabo esta tarea.

La Fundación colabora con organizaciones (gobiernos, empresas y ONGs) para acelerar el desarrollo y adopción de IOTA como un proyecto de código abierto. Además es, junto a la comunidad de desarrolladores, la principal encargada de la investigación y desarrollo del protocolo.

Los órganos más importantes de la Fundación son:

  • Junta de Directores, la cual se encarga de la dirección de la Fundación y de establecer las prioridades en el desarrollo de IOTA. Está formada por Dominik Schiener, Navin Ramachandran y Serguei Popov.
  • Junta de Supervisión, que está formada por expertos de la industria que aportan la vigilancia externa de la Fundación y consejo a la Junta Directores. Está formada por Clint Walker y Richard Soley (CEO de OMG y director ejecutivo del Consejo de Estándares de la Nube y del Consorcio del Internet Industrial).

Problemas de seguridad en IOTA y otras críticas

Pese al enorme avance y la tecnología que IOTA ha logrado, el proyecto se ha visto envuelto en varios problemas graves de seguridad. Esto le ha supuesto una gran cantidad de críticas sobre la capacidad del proyecto de brindar seguridad real a sus usuarios.

Rotura de su función hash

Uno de los primeros errores descubiertos fue anunciado el 8 de septiembre de 2017 por los investigadores Ethan Heilman de la Universidad de Boston y Neha Nerula de Digital Currency Initiative (DCI) del MIT. El problema en este caso se hallaba en la función hash Curl-P-27 de IOTA, más específicamente los investigadores lograron romper la resistencia a la colisión de la función. De esta manera, se podrían generar falsificaciones de firmas en IOTA. Como respuesta, IOTA abandono Curl-P-27 en favor de Kerl, una adaptación trinaria de SHA-3 el 7 de agosto de 2017.

Sin embargo, los desarrolladores de IOTA y la Fundación IOTA recibieron un alud de crítica debido a la forma despectiva y grosera con la que los desarrolladores trataron a los reporteros e investigadores que cubrían el hecho en distintos medios. De hecho, el Centro de Tecnologías Blockchain en el University College of London (UCL) rompió lazos con la Fundación IOTA a fines de abril de 2018, debido a amenazas legales contra los investigadores de seguridad involucrados en el informe.

Por otro lado, el ex director del laboratorio de medios del MIT, Joi Ito, levantó banderas sobre el equipo de administración de IOTA diciendo que Sergey Ivancheglo de IOTA dio “dos explicaciones contradictorias” para el error de seguridad. Mientras el cofundador de Multicoin Capital, Kyle Samani, escribió que IOTA tenía “uno de los peores equipos de gestión en criptografía”.

13 o M ataca y recupera

Luego de cambiar al algoritmo Kerl, se descubrió otra vulnerabilidad llamada ataque 13 o M, un error que puso en riesgo los tokens IOTA de ciertos usuarios al revelar parcialmente una parte de la clave privada generada para direcciones específicas. Esto habría facilitado a los atacantes malintencionados la posibilidad de piratear el resto de las claves privadas de esas direcciones y, por lo tanto, robar los tokens.

La Fundación IOTA parcheó esta vulnerabilidad al exigir que si un hash de mensaje a firmar incluye un 13, el usuario debe alterar el mensaje hasta que no haya 13 en el resumen. Como un paso de remediación adicional, los desarrolladores de IOTA transfirieron fondos potencialmente comprometidos a direcciones bajo su control, proporcionando un proceso para que los usuarios luego soliciten a la Fundación IOTA para reclamar sus fondos.

Estafa de generador de semillas

Un tercer error salió a la luz en enero de 2018, cuando se robaron más de 10.000.000 US$ en tokens IOTA a los usuarios que utilizaron un creador de semillas en línea. La estafa generadora de semillas fue el mayor fraude en la historia de IOTA hasta la fecha, con varios cientos de personas afectadas.

Un año después, en enero de 2019, las agencias policiales del Reino Unido y Alemania arrestaron a un hombre de 36 años de Oxford, Inglaterra. Matthias Krekeler, de la Policía Criminal del Estado en Hesse, dijo que el arresto sólo fue posible gracias a la “colaboración sofisticada de las autoridades internacionales”, y que la investigación había sido ayudada por “miembros de la comunidad IOTA”.

Incidente de ataque de billetera Trinity

El 26 de noviembre de 2019, un pirata informático descubrió una vulnerabilidad en Trinity, una billetera móvil y de escritorio administrada por la fundación IOTA. El atacante comprometió más de 50 semillas de IOTA, lo que resultó en el robo de aproximadamente 2 millones de dólares en tokens de IOTA.

El vector de ataque se abrió mediante la integración de un servicio de pago de terceros, llamado MoonPay. El atacante logró interceptar las consultas de DNS con una clave API de Cloudflare comprometida y logró implementar su propia versión maliciosa en lugar del código de terceros. El 10 de febrero de 2020, MoonPay notó el hack, resolvió la vulnerabilidad en su API, pero no reveló el hack a la comunidad.

Con la ruta de ataque desaparecida, el pirata informático comenzó a limpiar los fondos de las 50 semillas comprometidas el 11 de febrero de 2020. Después de recibir informes de que los piratas informáticos estaban robando fondos de las billeteras de los usuarios, la Fundación IOTA cerró el coordinador, un nodo en la red IOTA que coloca el sello final de aprobación en cualquier transacción monetaria de IOTA, el 12 de febrero de 2020.

El movimiento nunca antes visto estaba destinado a evitar que los piratas informáticos ejecuten nuevos robos, pero también tuvo el efecto secundario de cerrar de manera efectiva toda la criptomoneda IOTA. En efecto IOTA dejo de funcionar por 11 días seguidos, siendo el único ataque cripto que ha dejado a una criptomoneda fuera de línea. La actividad de la red se reinicio el 10 de marzo de 2020.

Shimmer Network, la red canaria de IOTA

El proyecto IOTA el 28 de septiembre de 2022, anunció el lanzamiento de Shimmer Network. Esta es una canaria dedicada a acelerar el desarrollo de IOTA centrandosé en usar las posibilidades de Tangle para construir ecosistemas de DApps altamente escalables y de bajo coste.

Para ello, Shimmer Network agrega a la ya conocida pila tecnológica de IOTA, novedades como smart contacts del tipo Turing Completo, compatibilidad con la EVM y WASM (EMV usando Solidity y WASM usando Rust) y con ello la capacidad de generar utility tokens, NFTs, DApps avanzadas y mucho más.

En la actualidad Shimmer Networ es un desarrollo en crecimiento que busca apuntalar a IOTA como un centro de innovación blockchain relevante dentro del enorme ecosistema cripto que ha nacido alrededor de las aplicaciones descentralizadas.

¿Qué opinan sobre IOTA? ¡Comparta sus ideas y comentarios en nuestro chat de Telegram!