Tangle, ¿Qué es y cómo funciona?
Introducción
Si has llegado hasta aquí, sabrás que la tecnología Blockchain ha supuesto una revolución para la economía, la seguridad de la información y la forma de comerciar de forma online, pero seguramente hayas leído menos sobre Tangle, ¿Qué es y cómo funciona?
Si bien es cierto que aporta grandes ventajas a estos sectores, aún tiene puntos a mejorar y que no ha conseguido resolver. Por ejemplo, la tecnología de libro de contabilidad distribuido (DLT) se vuelve más lenta con cada nueva transacción, a medida que la Blockchain crece o no puede existir sin mineros y, por lo tanto, sin las comisiones de los mismos.
Tangle se crea para resolver este tipo de problemas, donde podrás utilizar una criptodivisa sin coste de transacción alguno y donde no hay necesidad de mineros ni de nadie para mantener la red.
Qué es Tangle
La tecnología de Tangle está basada en un método de consenso conocido como Directed acyclic graph (DAG) o Gráfico Acíclico Dirigido. Se puede entender como una tecnología similar a la Blockchain, ya que sirve para lo mismo, para contruir una red de transacciones independientes y autogestionadas de manera descentralizada.
Tangle puede ser el futuro para organizar, registrar. almacenar y verificar la información en redes. Cuenta con un sistema de registros de transacciones que no se reúnen en bloques ni se organizan de manera lineal, como sí pasa en la Blockchain. Consiste en una especie de árbol o gráfico que tiene muchas cadenas entrelazadas entre sí y valida una transacción verificando dos transacciones anteriores.
Por eso se habla de un gráfico y no una red lineal. La parte de acíclico corresponde a que las transacciones pasadas no pueden verificar las futuras y presentes.
Como podrás imaginar, ya existe una criptomoneda que implementa esta tecnología y no es otra que IOTA (MIOTA). Los conceptos de Industria 4.0, conectividad entre dispositivos, Internet of Things (IoT) y el Machine-to-Machine (M2M) son varias de las opciones existentes para poder comunicar transacciones entre dispositivos o máquinas.
Cada vez más, vivimos en un mundo interconectado y con mayor número de dispositivos, como vehículos, teléfonos móviles, electrónica doméstica, etc.
Al no tener una red de minería que alimentar, Tangle puede ofrecer micropagos entre dispositivos sin coste asociado. La escalabilidad es otro de los temas que resuelve, acelerando la velocidad de transacciones a medida que más dispositivos se unen a la red y, por lo tanto, aumentando su potencia de cálculo con cada nuevo dispositivo conectado al sistema. El potencial de esta tecnología es indudable y puede ser el inicio de una economía autodirigida, donde las máquinas pueden cooperar entre sí y trabajar de forma independiente.
Cómo funciona Tangle
Es importante saber como funciona Tangle. Cada vez que un participante quiere añadir una nueva transacción a Tangle debe aprobar las dos transacciones previamente adjuntadas. Cuando una nueva transacción hace referencia a dos transacciones anteriores, certifica estas transacciones, que no han sido probadas antes, así como todas sus predecesoras. El consenso está relacionado con el número de transacciones que aprobaron una determinada transacción. La transacción que recibe más aprobaciones tiene un mayor nivel de confianza.
Dado que son los propios usuarios de la red los que validan las transacciones, todos los participantes de la red juegan el mismo papel, todos los participantes emiten y validan las transacciones y son igualmente responsables del consenso. Por lo tanto, el coste de una transacción implica únicamente el coste computacional de validar otras dos transacciones.
La red del gráfico de Tangle está compuesta por nodos que son entidades que emiten y validan transacciones en Tangle. Cada nodo representa también una transacción.
Crear una transacción
El proceso de crear una transacción en Tangle es el siguiente:
Un nodo elige otras dos transacciones para aprobar, según un algoritmo de selección Markov Chain Monte Carlo (MCMC).
El nodo comprueba si las dos transacciones están, o no, en conflicto y desaprueba las transacciones conflictivas (solventa el doble gasto).
Para que el nodo emita una transacción válida, debe resolver una especie de prueba de trabajo (PoW), esto se logra encontrando un nonce, tal que su hash se concatena con algunos datos de la transacción aprobada (mucho más ligera que en Blockchain).
El usuario envía su transacción a la red, y se convierte en un consejo (transacción no aprobada).
El consejo espera la confirmación a través de la aprobación directa o indirecta hasta que su peso acumulado alcance el umbral predefinido.
Las transacciones en Tangle se producen de forma asíncrona, y los nodos no suelen ver el conjunto de todas las transacciones. El algoritmo de selección MCMC es útil para elegir las transacciones para la validación y tiene protagonismo en la resolución de conflictos, de ahí que sea necesario priorizar una rama de Tangle utilizando una métrica, en este caso, el peso de las transacciones.
El consenso en Tangle está relacionado con el peso acumulado. El peso es proporcional a la cantidad de trabajo invertido en la validación de la transacción.
La idea central es que una transacción con más peso es más importante. El peso acumulado se define como peso de la transacción más la suma del peso de todas las transacciones que la aprueban directa o indirectamente. Esto significa que la cadena con más peso acumulado tiende a crecer, mientras que otras ramas tienden a quedarse aisladas, con baja probabilidad de certeza. Otra consecuencia es que los extremos tienden a ser elegidos para la validación.
Consenso
El consenso está relacionado con la probabilidad de que la rama de una transacción no pueda ser abandonada. Por ello, en función del nivel de importancia de una transacción, puede entenderse que será aceptada como válida cuando su rama sea elegida un determinado porcentaje x de veces, por el algoritmo de selección MCMC. Una forma de estudiar con precisión la adopción de una transacción por parte de la red es utilizar el análisis del peso acumulado. En un momento determinado, el peso acumulado de una transacción debería crecer proporcionalmente al número de nuevos consejos, porque estarían vinculados a una determinada transacción, directa o indirectamente, aumentando su peso.
El nivel de confianza depende de la situación. Las microtransacciones pueden exigir un nivel de confianza del 50%, mientras que el intercambio de un gran número de tokens puede requerir más del 99%. Es decir, cuando casi todas los extremos participan en esa parte de la cadena.
Tangle vs Blockchain
Tangle y Blockchain tienen más diferencias que similitudes. Como se ha comentado previamente, Blockchain sigue un esquema lineal en la que cada registro siguiente verifica el anterior y comprende la información sobre todas las transacciones realizadas anteriormente, se distribuye entre usuarios especiales que mantienen todo el sistema. Además, cada nodo o cada usuario de la blockchain, necesita tener la versión válida y actualizada del libro de contabilidad público.
En la Blockchain, el tamaño de los bloques es limitado, y el número de bloques creados cada hora también lo es. El libro mayor se hace más grande, y la tarea de minar se hace más difícil, lo que lleva a mayores recompensas por bloque. Así, el sistema se vuelve más lento y más caro. Esto es algo conocido y los problemas de escalabilidad se han convertido en algo propio de otras criptomonedas.
Las nuevas ideas de criptografía están siguiendo los pasos de la cadena de bloques, e incluso afirman que son el futuro de la criptografía. El enfoque DAG significa que el libro de contabilidad se distribuye entre todos los usuarios, no sólo entre los mineros.
En realidad, al no haber mineros, en Tangle el sistema se vuelve más potente con cada nuevo usuario. Y, con más transacciones realizadas a través de Tangle, éstas no se vuelven más pesadas y lentas, ya que cada nuevo registro en el libro mayor contiene el mismo volumen de información que el anterior. Sólo hay que verificar dos transacciones, sin necesidad de mantener toda la red.
Ventajas y desventajas de Tangle
Por supuesto, no todo son ventajas para Tangle, y es que aún hay puntos en los que la Blockchain sigue estando por encima.
Ventajas
Escalabilidad: Por definición, Tangle es más fluido y escalable, y se vuelve más rápido y potente con el tiempo, mientras que blockchain se vuelve más lento y menos productivo.
Costes: Tangle es gratuito, no tiene recompensas por bloque y los nodos no necesitan cuotas para verificar las transacciones. En blockchain las tarifas son demasiado altas, o bien faltan mineros. Ambas situaciones son malas porque hay que esperar demasiado tiempo para transferir el dinero o hay que pagar un precio excesivo.
Sin mineros: Significa que no hay que dar comisiones o recompensas a los mineros. Los mineros también tienden a bloquear algunas transacciones, lo que tampoco es posible aquí.
Desventajas
Como la tecnología está todavía en fase de desarrollo y prueba, es menos fiable. Lo que no significa que no vaya a funcionar, pero tiene menos recorrido que Blockchain.
Descentralización: A pesar de que el diseño de IOTA, dibuja a esta criptomoneda como un activo descentralizado, lo cierto es que aún no es así. Hasta que no se realice el Coordicide, que consiste en la eliminación del Coordinador a través de la implementación de varios componentes de la red.
En relación a la seguridad, aún tiene que demostrar que es sólida y fiable frente a ataques externos.
Usos potenciales de la tecnología Tangle
El enfoque de Tangle e IOTA va dirigido a una serie de campos de aplicación muy claros. A continuación se enumeran una serie de sectores tecnológicos muy importantes y con gran potencial de desarrollo en los próximos años:
IoT (Internet of Things)
En un mundo interconectado, cada vez existen mayor número de dispositivos que interactúan entre sí. Los dispositivos actuales de IoT son vulnerables y tienen muchos problemas de seguridad y privacidad. En muchos casos, los datos de IoT se almacenan en diferentes servidores en la nube y se procesan y acceden de forma distribuida. Sin embargo, los servicios en la nube pueden abrir brechas de inseguridad a Internet y son susceptibles de sufrir ciberataques.
Las DLTs tienen, en su origen, la propuesta de ser distribuidas, incorruptibles e inviolables. A pesar del potencial de las DLT, existen desafíos críticos para permitir que los dispositivos generen, intercambien y consuman datos con una mínima intervención humana. Hay retos inherentes a las características de los dispositivos IoT y los relacionados con la tecnología.
La arquitectura DAG ofrece un gran potencial para el IoT, especialmente a la luz del aumento exponencial del volumen de datos. La estructura sin bloques, compuesta por transacciones, aporta velocidad a las mismas, ya que las transacciones tendrán al menos confirmaciones parciales de los pares rápidamente. Sin embargo, no hay problemas clásicos como los límites de tamaño de los bloques, que causan los típicos retrasos de la Blockchain tradicional. Al permitir que las transacciones se produzcan en paralelo, IOTA se convierte en escalable a medida que aumenta el número de transacciones en la red.
Las tecnologías que utilizan DAG pueden necesitar un punto central de control para coordinar y garantizar la seguridad de la red, lo que es parte de la razón por la que IOTA implementa la figura del Coordinador. Otro requisito importante para muchos sistemas IoT que comparten datos privados de los usuarios es la confidencialidad de los datos.
Comunicaciones M2M (Machine-to-Machine)
La comunicación Machine-to-Machine (M2M) ha relacionado la posibilidad de intercambios entre máquinas sin intervención humana y puede incluso post-procesar datos localmente o remotamente para la toma de decisiones. También puede interconectar y compartir para obtener datos, energía o recursos autónomos. En una economía de este tipo, los dispositivos pueden ofrecerse servicios entre sí a través de Internet, las máquinas pueden compartir datos de forma autónoma. Esto ofrece nuevos modelos de negocio basados en productos de información generados a partir del intercambio de datos a gran escala. El ahorro generado por M2M puede permitir un acceso más rápido y barato a los recursos y datos de producción. Así, se permite a los dispositivos especializados realizar microtransacciones con otras instalaciones especializadas cuando lo necesiten.
No será fácil garantizar la seguridad de la monitorización, el almacenamiento y la gestión de miles de millones de dispositivos conectados de bajo coste, dados los problemas relacionados con la vulnerabilidad de dichos dispositivos a los ciberataques. Las tecnologías IoT y los dispositivos de comunicación inteligentes, combinados con las tecnologías DLT, pueden ser los impulsores de la implementación de una economía Machine-to-Machine (M2M).
El envío de transacciones en la red de IOTA no requiere el envío de tokens. Los tokens sólo deben utilizarse cuando haya una razón para usarlos. Algunos de los casos de uso para IOTA son:
Sensores que compran o venden datos en tiempo real a estaciones de computación.
Dispositivos que compran espacio de almacenamiento y/o ancho de banda bajo demanda sin suscripciones.
Integridad de los datos garantizada para muchos dispositivos.
Registro de eventos a prueba de manipulaciones que se garantiza para cada tipo de infraestructura.
Voto electrónico y gobernanza electrónica.
Cibersalud (eHealth)
Los dispositivos electrónicos como los smartphones, los smartwatches y las gafas inteligentes tienen el potencial de mejorar el acceso, la eficiencia y la calidad de la atención sanitaria. Los datos de actividad generados fuera de la supervisión de los profesionales sanitarios pueden proporcionar una narración completa para ayudar a la atención de los pacientes desde ubicaciones remotas. Los marcapasos, los sensores de movimiento, los glucómetros inteligentes y los rastreadores de actividad, unidos a los servicios de monitorización remota y telemedicina, permitirán a los pacientes recibir atención y mantener su salud al día.
Aunque compartir los datos sanitarios puede ofrecer muchos beneficios a la sociedad, la mayoría de los datos generados por los dispositivos IoT están actualmente controlados por diferentes proveedores, fabricantes de dispositivos o incluso diferentes sistemas sanitarios, lo que hace impracticable o muy difícil compartir los datos fuera de sus entornos. Compartir datos sanitarios puede proporcionar modelos predictivos basados en datos sanitarios a nivel de población, con el consentimiento adecuado. Compartir los datos de los pacientes necesita garantizar la seguridad y la privacidad de esta información.
La disponibilidad de los datos de los pacientes, y el apoyo a diversas técnicas como el aprendizaje profundo, big data en conjunto con el conocimiento teórico y la experiencia técnica pueden contribuir al estudio y evaluación de diversos casos clínicos. Se han propuesto modelos de control de acceso a los datos para compartirlos y preservar el anonimato. De este modo se le da a los usuarios el control sobre sus propios datos utilizando un libro de contabilidad distribuido.
La tecnología de IOTA es prometedora para el futuro de las finanzas electrónicas, pero tiene cabida en todas las industrias que generan datos. Ya que es capaz de compartir datos anónimos de pacientes sin que haya que pagar una tasa de transacción adicional, y es un protocolo de contabilidad distribuida que aborda los problemas de escalabilidad de otras DLT, ayudando a consolidar la investigación y a permitir un acceso granular y controlable a los datos sanitarios.
Movilidad autónoma y automoción
El presente y el futuro del transporte y la movilidad es eléctrico y cada vez más autónomo. Esto significa que los vehículos incluirán capacidades de detección que puedan cooperar y compartir sus recursos de detección y perspectiva con otros vehículos. Todavía existen retos críticos en el campo de la comunicación fiable y en tiempo real entre los vehículos y la infraestructura de transporte.
Preocupa el anonimato y la privacidad de los usuarios. IOTA puede proporcionar una capa de seguridad y privacidad para los protocolos de comunicación. Los tiempos de conexión a Tangle, utilizando un nodo público y un nodo privado, sufre menos retrasos en las transacciones que las Blockchains públicas existentes. Las fases de selección de los extremos e integración en Tangle son los factores que más contribuyen al tiempo total de conexión a la red. El envío de la transacción produce retrasos mínimos de hasta 650 ms. Por lo tanto, la latencia de las transacciones mediante IOTA es insignificante en comparación con las aplicaciones actuales.
Smart Cities
La idea es incentivar los comportamientos humanos y de las máquinas para que realicen acciones que ayuden a la sociedad mediante el intercambio de tokens. Consiste en depositar un token y canjearlo en caso de una buena acción para lograr un objetivo común. Las técnicas para hacer cumplir los contratos sociales son importantes en cualquier sistema de economía compartida.
El proyecto consiste en construir ciudades transparentes a través de IOTA. Ésta da visibilidad a los residentes sobre cómo la ciudad está trabajando para mejorar su calidad de vida. También se pretende tener un diseño centrado en el ser humano, con infraestructuras en las ciudades que puedan proporcionar infinidad de datos y conocimientos. Las soluciones que aprovechan esos datos deben beneficiar a los habitantes de la ciudad.
Los sensores recogerán datos para informar a las autoridades y a los residentes, reduciendo los residuos y haciendo más eficiente el consumo de recursos. El Internet de las Cosas cambia la forma en que los ciudadanos, las comunidades, las ciudades y las naciones se conectan, interactúan e intercambian datos. Desde la privacidad y la propiedad de los datos hasta la energía P2P y el transporte integrado. Desde el mantenimiento predictivo y la fabricación aditiva hasta la sanidad y la gobernanza electrónicas.
Qué es IOTA
IOTA es el token diseñado y desarrollado para el Internet of Things (IoT). El motivo principal de este tipo de tecnología es cumplir con la cuarta revolución industrial y la economía de las máquinas. Ahí, las máquinas intercambian recursos y servicios entre sí y donde se elimina la intervención humana o de terceros.
Basado en la tecnología de Tangle, IOTA es mantenida por la IOTA Foundation y es una de las criptodivisas más relevantes del panorama crypto actualmente. Tangle es la razón principal para hacer a IOTA popular porque se construye en la estructura de datos subyacente. Promete alta escalabilidad, transferencias casi instantáneas a coste cero, enfocada a soluciones de Internet de las cosas.
El Internet de las cosas (IoT) es un gran sistema de información global compuesto por dispositivos masivos heterogéneos y descentralizados. Éstos pueden ser identificados, detectados y procesados en base a protocolos de comunicación estandarizados e interoperables. Es poco probable que los sistemas centralizados actuales puedan escalar lo suficiente como para soportar millones de microtransacciones por segundo de forma eficiente y permitir una mayor automatización en los procesos dinámicos de las fábricas, la toma de decisiones automatizada y la negociación exitosa, y son vulnerables a muchos problemas de seguridad y privacidad; estos problemas han estado limitando la adopción de la IoT.
Las Blockchains fueron propuestas por primera vez en 2008 con la irrupción de Bitcoin (BTC). Se puede definir Blockchain como un tipo de tecnología DLT de Libro Mayor Distribuido donde los cambios en el libro mayor se reflejan en todos los dispositivos de la red. A través de un mecanismo de consenso la información se replica y no puede ser modificada por un usuario o un grupo de usuarios. Actualmente las Blockchains se enfrentan a los retos de ser “descentralizadas”, “seguras” y “escalables” al mismo tiempo. Para mitigar estos problemas, IOTA creó su propia DLT, que se llama Tangle.
Implementación de Tangle
La implementación de Tangle se enfrenta a una serie de nuevos retos, entre ellos el nivel de madurez de la red, el número de confirmaciones indirectas que debe realizar una transacción, el tamaño de los nodos full y la privacidad de los datos transaccionados.
Coordinador y Coordicide
Para permitir que la red crezca hasta un estado más maduro, IOTA se apoya en un Coordinador para proporcionar seguridad contra el riesgo de actores deshonestos que puedan atacar la red. La actual definición de consenso de IOTA exige que una transacción confirmada sea referenciada (directa o indirectamente) por una transacción firmada por el Coordinador, conocida como Milestone. Éste se emite cada dos minutos y todas las transacciones aprobadas por él se consideran 100% de confianza, de forma inmediata. El Coordinador también acaba facilitando las comprobaciones de los gastos dobles.
Snapshotting
Dado que se intercambia una gran cantidad de datos, la red puede crecer demasiado, especialmente para permitir transacciones de valor cero o de sólo datos. Al hacer un Snapshot (son tomadas de forma independiente por los nodos full, de forma manual o totalmente automática) sólo permanecen los saldos (direcciones con un saldo de cuenta > 0), todo lo demás se elimina. La captura instantánea es como la eliminación de Blockchain, excepto que la captura instantánea tiene la importante ventaja de agrupar varias transacciones en la misma dirección en un registro, lo que requiere menos almacenamiento. En el pasado, la Fundación IOTA realizaba snapshots globales en intervalos irregulares.
Permanodes
Algunas aplicaciones necesitan mantener almacenado todo el historial de transacciones, por ejemplo, una auditoría transparente. Esta es la función de los Permanodes. Consiste en almacenar todos los datos y el historial de Tangle de forma segura y permanente. Otra alternativa sería mantener un nodo completo sin instantáneas bajo el control de la persona u organización que necesite esos datos. Esta característica está en desarrollo.
Masked Authenticated Messaging (MAM)
Una aplicación frecuente de IoT es la transmisión de datos de sensores. IOTA permite realizar transacciones sin intercambio de tokens, por lo que se puede utilizar una dirección para almacenar los datos medidos. Sin embargo, dado que las transacciones son públicas, ¿Cómo impedir que un invasor falsifique los datos de las mediciones o interfiera con los spams? ¿Sería posible controlar el acceso a los datos de otros usuarios? La mensajería autenticada enmascarada o MAM se desarrolló para resolver este tipo de problemas.
Actúa como un protocolo de comunicación de datos, criptografiando y autentificando los flujos de datos y es un módulo basado en el protocolo IOTA que proporciona funciones para enviar y leer flujos de mensajes utilizando Tangle. La criptografía y la autentificación del sistema tienen como objetivo garantizar que los mensajes no serán alterados y que provienen de un remitente específico.
Con MAM, se crean flujos de mensajes enlazados a partir de mensajes, enviando cada mensaje a una nueva dirección en forma de transacciones Tangle. Utiliza el esquema de firma Merkle (MSS). Este esquema se basa en el árbol de hash Merkle (MHT) combinado con las One-Time Signatures (OTS). El esquema de firma Merkle (MSS) se utiliza porque se supone que resiste los ataques de los ordenadores cuánticos y por sus cortos tiempos de generación y verificación de firmas, así como por sus fuertes garantías de seguridad.
Semillas, clave pública y clave privada
Una semilla actúa como una contraseña que da acceso a la cuenta de usuario. La semilla debe ser generada aleatoriamente y consta de 81 dígitos. Además, en IOTA existen los conceptos de clave privada y pública. Las claves privadas se calculan mediante el hash de la semilla concatenada con el índice de la dirección, donde el índice puede ser cualquier número entero positivo.
Las claves públicas son direcciones, y se calculan mediante el hash de sus claves privadas asociadas. Una dirección contiene tokens y puede utilizarse como entrada a una transacción (el token se gasta) o como salida a una transacción (la dirección recibe un token). Los fondos de todas las direcciones (claves públicas) se suman para calcular el saldo de la cuenta de un usuario.
El protocolo IOTA utiliza Winternitz One-Time Signature (WOTS), una firma criptográfica basada en Hash es bastante prometedora resistente a los ordenadores cuánticos y es más rápida que la criptografía de curva elíptica. Dado que el protocolo Iota utiliza WOTS, la seguridad de una dirección concreta disminuye a medida que aumenta el número de veces que se utiliza para enviar fondos.
Si el usuario reutiliza a menudo una dirección (la misma clave pública), es fácil para otros analizar el gasto de una persona. Por lo tanto, un análisis de los datos de una transacción puede identificar el historial de transacciones y el saldo, como ocurre con Bitcoin y otras criptodivisas. Es preferible utilizar una nueva dirección (clave pública) para recibir pagos.