Browse By

Coordinador. Parte 2: Iota es una DAG, no es Blockchain

En este segundo post de la serie, ofrecemos más información sobre la naturaleza exacta del IOTA Ledger como un Gráfico Acíclico Dirigido (DAG). Este ejercicio es particularmente útil porque estas diferencias ayudan a explicar la visión de futuro general de IOTA, así como el camino hacia el coordicide.

A nivel conceptual, las blockchain y los DAG tienen algunas similitudes. Ambas son tecnologías de ledger distribuido, que permiten a los usuarios obtener un consenso final sobre el estado de un ledger, de manera descentralizada. Sin embargo, difieren un poco en sus mecanismos subyacentes y, lo que es más importante, tienen algunas diferencias clave en sus propiedades de escala y sus posibles casos de uso.


Pero ¿qué hay de malo con las blockchains?

Dado que ya existen blockchains, y que parecen mantener de manera confiable el libro mayor(ledger), esta es una pregunta válida. ¿Por qué reinventar la rueda? La principal motivación es la escalabilidad.

Tomemos Bitcoin como nuestro caso de estudio de blockchain. Se limita a alrededor de 7 transacciones por segundo (TPS) globalmente, independientemente de cuánta demanda o potencia computacional esté involucrada en el sistema. Además, el tiempo que tarda una transacción en alcanzar la finalidad, incluso sin congestión, es de alrededor de una hora, lo que limita muchos posibles casos de uso. La descripción completa del problema de la escala de blockchain está fuera del alcance de esta publicación de blog, y recomendamos este artículo de Preethi Kasireddy como un buen punto de partida para el problema de escalado de Bitcoin.

Uno de los cuellos de botella de blockchain es la necesidad de que cada nodo alcance un consenso antes de lanzar un nuevo bloque. Si esta sincronicidad no se mantiene, obtenemos muchos bloques huerfanos. Estos bloques no contribuyen al rendimiento general y, por lo tanto, desperdician tanto el ancho de banda como los recursos de prueba de trabajo. Los bloques huérfanos también se conocen como horquillas temporales.

En una DAG, aceptamos que estos huérfanos y tenedores son una consecuencia inevitable de una alta tasa de TPS. Sin embargo, a diferencia de los sistemas blockchain, estos huérfanos se vuelven a fusionar en el sistema y, por lo tanto, no son un desperdicio de recursos. Teóricamente, esta es la principal ventaja de los DAG.


Cómo se alcanza el consenso

Los términos blockchain y DAG se refieren a las estructuras de datos utilizadas para almacenar el estado del libro mayor (ledger), en lugar de los mecanismos de consenso. Las cadenas de bloques pueden usar, por ejemplo, proof of work (PoW), proof of stake (PoS) o quórum para llegar a un consenso. Del mismo modo, diferentes DAG pueden tener diferentes mecanismos de consenso. En esta sección nos centraremos en comparar una cadena de bloques de PoW, como Bitcoin e IOTA.

En un DLT basado en PoW, hay dos preguntas fundamentales que deben responderse:

  1. ¿Dónde debe conectarse un nuevo bloque?
  2. ¿Cómo determinamos cuándo una transacción se considera confirmada?

Bitcoin e IOTA proporcionan respuestas diferentes, pero análogas a estas dos preguntas. Estos se pueden resumir de la siguiente manera.

Respuestas en Bitcoin:

  1. Regla de la cadena más larga: algo así como un nombre inapropiado, pero esta regla establece que un nuevo bloque debe aprobar la cadena con el mayor PoW acumulado.
  2. Regla de seis bloques: si un bloque tiene al menos seis bloques de profundidad y parte de la cadena más larga, se puede considerar confirmado.

(Si estos conceptos no están claros, recomendamos la excelente introducción de 3Blue1Brown al video de Bitcoin, o una lección equivalente de la cadena de bloques de nivel de introducción.)

Las respuestas de IOTA, tal como se propone en el Whitepaper de Tangle:

  1. MCMC tip selection: una nueva transacción elige 2 transacciones anteriores para aprobar, usando un MCMC weighted random walk.
  2. Confirmation confidence: una transacción se confirma si su confianza es alta, lo que significa que casi todos los consejos legítimos lo aprueban.

Si bien IOTA no usa bloques, podemos imaginar transacciones como bloques de tamaño uno, y la analogía se mantiene. Esta descripción es una simplificación excesiva de ambos sistemas, pero espero que transmita la idea principal de cómo el consenso de blockchain se relaciona con el Tangle.


¿Cómo podemos hacer cumplir el MCMC?

IOTA es un sistema distribuido. No hay forma de que la Fundación IOTA, ni nadie, imponga la aprobación de una transacción en particular. Tampoco podemos imponer el uso del algoritmo MCMC que recomendamos. Lo mejor que podemos hacer es demostrar que es en el mejor interés del usuario seguir nuestra sugerencia, o es menos probable que sus transacciones sean aprobadas por otros.

Esta es la misma historia en Bitcoin. Si los mineros piensan que se puede obtener más beneficio al forzar la cadena principal en lugar de extenderla, seguramente lo harán. Ver por ejemplo este artículo reciente, que afirma que el sistema de incentivos de Bitcoin puede ser insuficiente para estabilizarlo en ausencia de recompensas en bloque. Un ejemplo más concreto proviene de Ethereum, en su tenedor duro que procede del DAO hack: Si hay un incentivo económico para ignorar la regla de la cadena más larga, se ignorará.

Ante estas incómodas verdades, el mejor y más sensato enfoque es dar a los usuarios la libertad de elegir a quién aprobar y qué transacciones consideran confirmadas. Sólo hay una regla básica en IOTA: cada transacción debe aprobar exactamente dos transacciones anteriores. Si los usuarios creen que les conviene seguir el algoritmo recomendado de selección de tips, lo harán y nos corresponde a nosotros demostrar que, de hecho, esta es la mejor estrategia a seguir.

 

Fuente:https://blog.iota.org/coordinator-part-2-iota-is-a-dag-not-a-blockchain-2df8ec85200f

Comentarios

comentarios