¿Qué es IOTA?
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 desarrollar todo el potencial DLT para estos dispositivos que poco a poco comienzan a tener una mayor relevancia en nuestra vida diaria.
Así tenemos que IOTA, es un protocolo DLT que junto a una criptomoneda, busca 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 otras cosas.
Pero ¿Qué significa que IOTA sea DLT y no un blockchain como el Bitcoin? ¿Qué es lo revolucionario en IOTA? ¿Cuál es su futuro?
IOTA, el nacimiento de una DLT para el Internet of Thing
El proyecto IOTA inicia como un esfuerzo de David Sønstebø, Dominik Schiener, Sergey Ivancheglo, y Serguei Popov, que buscaba solucionar varios de los problemas que la 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 compraron el token de IOTA con otras criptomonedas. De esta forma se lograron recaudar aproximadamente 1300 BTC, lo que corresponde a aproximadamente 500.000 $ USD en ese 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 tiene una posición vital para este desarrollo, y 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 que permita su interacción descentralizada. Un hecho que permitirí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 enviarse 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, pues en su lugar, el consenso es construido por todos los dispositivos trabajando 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 ya 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 encajan en ese espacio. 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 billones 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), y en los hogares, tomando espacios en cada uno de los dispositivos que usamos en nuestra vida diaria.
Con esta perspectiva es entendible, porque IOTA es una red con un amplio futuro por delante. Su apuesta por interconectar el mundo IoT en una enorme red descentralizada, terminará generando un sistema descentralizado único que ciertamente tendrá un inmenso valor en un futuro no tan lejano. Lo mejor, es que la apuesta de IOTA ya es utilizable, y han demostrado no solo su capacidad, sino las infinitas posibilidades de la misma.
Pero ¿Cómo piensan lograr esto? ¿Qué tecnología tiene el proyecto IOTA que permitiría construir una red tan grande y poderosa como para atender a tan alta cantidad de dispositivos a nivel global? Pues bien eso lo iremos examinando a continuación.
¿Cómo lo hace? 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 Libro 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?
El nacimiento de IOTA da 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 construirse sobre un nuevo esquema de red que es radicalmente distinto a la blockchain.
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 solo 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, solo que en una forma un tanto singular.
Pero adicional a esto, 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 distinto que funciona IOTA. Los cambios no terminan allí, al desechar los bloques, los mineros y su papel en la red es innecesario. Así tenemos que Tangle crea una estructura en la que no hay bloques ni mineros. Te preguntarás ¿Entonces cómo funciona la red? ¿Cómo le hacen para procesar y validar las transacciones y que esto sea seguro?
La respuesta es muy sencilla, Tangle usa el DAG, para convertirlo en una versión mejorada de la 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 que son 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 podemos relacionar 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 se necesitan 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. Si, con esto se gana en escalabilidad, pero se renuncia en seguridad y descentralización.
En IOTA, la historia de momento no es muy distinta. La red cuenta 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; vigilar que las transacciones de la red se realicen de forma correcta y que los nodos no hagan trampa. En pocas palabras, es un vigilante y como tal, sus actuaciones son limitadas. Por ejemplo, un Coordinador no puede alterar el DAG o una transacción, sino que en su lugar, indica al resto de la red que una determinada transacción o acción no es válida, y de esa forma, el resto de la red evita la misma.
Esto a nivel de seguridad es un riesgo enorme. Por ejemplo, un Coordinador pudiera ser hackeado para que las transacciones ilegales pasen desapercibidas, y eso es un grave problema. Lo otro es que, el Coordinador impone también un límite en la escalabilidad, ya que una unidad centralizada siempre tendrá un potencial computacional limitado.
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 en IOTA lo que han hecho en realidad es compartir la responsabilidad de generar y validar transacciones entre todas 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. Esto a diferencia de redes como Bitcoin, donde hay 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 pueda existir en IOTA.
Con esto buscan que todos los nodos de IOTA tengan la capacidad de velar en todo momento porque la red funcione de forma correcta, que nadie realice acciones deshonestas, y el que el esfuerzo computacional de todos sume en escalabilidad de la red. Puedes imaginarlo así: un solo aerogenerador puede que no le de 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 es 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, todo esto aún apenas está en construcción, 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 7500 transacciones por segundo. Si desea saber más, hay una excelente explicación de este caso en este enlace.
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, y lo mismo se repite en IOTA y su protocolo Tangle. El protocolo de consenso de IOTA es completamente distinto a lo visto en Bitcoin o blockchain similares.
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 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 la seguridad de la red.
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 en rojo (el verde y el naranja), tienen 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 en vértice naranja, solo tenemos dos. En pocas palabras, el vértice verde tiene un consenso mucho mayor, que el naranja, y por lo tanto es vértice con mayor confianza en este ejemplo.
Este sencillo sistema funcionando de forma continua es lo que 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 cadena de bloques 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 de momento es empañado por la existencia del Coordinador.
- Resistencia a ataques cuánticos. La criptografía utilizada por IOTA incluyes firmas Winternitz que hacen a la red inmune a ataques realizados por ordenadores cuánticos.
- Sistema ternario. La lógica utilizada por IOTA está basada en el sistema ternario balanceado {-1, 0, 1}, en vez de en el sistema binario {0, 1}. Una elección que se justifica en que los sistemas ternarios pueden ser mucho más eficientes energéticamente, siendo esta una consideración fundamental para dispositivos IoT.
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 es la Fundación IOTA. Esta es una organización sin ánimo de lucro situada en Alemania que 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. En noviembre de 2017, la fundación tenía a su disposición 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 Ralf Rottmann, David Sønstebø, Dominik Schiener, Serguei Popov y Sergey Ivancehglo.
- Junta de Supervisión, que está formada por expertos de la industria que proporcionan una supervisión externa de la Fundación y consejo a la Junta Directores. Está formada por Johann Jungwirth (Chief Digital Officer (CDO) del grupo Volkswagen), Richard Soley (CEO de OMG y director ejecutivo del Consejo de Estándares de la Nube y del Consorcio del Internet Industrial) y Rolf Werner (Director de Fujitsu en Europa Central).