Tangle: de la cadena de bloques a la maraña.

Al igual que en la industria se abandonó la cadena en favor del cable por su mayor seguridad, comportamiento y resistencia.

E igual que antes del cable, la cadena era el elemento más resistente, El Blockchain lo es hoy en día, puesto que el Tangle (la maraña) no es todavía una realidad fuera de los laboratorios.

A continuación vamos a intentar describir como funciona, para que se creó y que iniciativas lo tienen en el punto de mira. Intentaremos demostrar que es una tecnología a la cual merece la pena seguirle la pista.

tangle

Tangle con baja carga (arriba) y con alta carga (abajo) de transacciones por unidad de tiempo

 

Como funciona (sumariamente):

En un blockchain, las transacciones se agrupan en bloques que son consensuados por la red y encadenados criptográficamente con el anterior bloque. Se produce así una cadena lineal de bloques de transacciones validadas y aceptadas por toda la red de nodos participantes en el blockchain.

El tangle, o maraña, consiste en introducir las transacciones encadenadas no a una, sino a dos (mínimo) transacciones ya validadas, y cercanas al tope de la maraña o tip.

Enredadera sería un termino mucho más gráfico, porque las enredaderas crecen en una dirección (buscando la luz).

Una transacción queda validada al tener enganchada ella otras muchas transacciones posteriores, correspondientes a otros nodos que saben que tienen que enganchar sus transacciones a transacciones válidas, si quieren que sus propias transacciones sean consideradas validas.

Pero no es un algoritmo de consenso puro; cada transacción/validación se enlza mediante una prueba de trabajo, al igual que Bitcoin. Las transacciones fraudulentas no conseguirán crecer al mismo ritmo que el resto de la maraña y quedarán atrás.

 

Para que se crea la maraña:

Se crea con la intención de superar el blockchain tradicional, especialmente las limitaciones de Bitcoin en particular:

Limitar el coste de las transacciones.

Bitcoin introduce unos gastos relativamente bajos para realizar transacciones económicas, pero aún así son demasiado altos para micro-pagos y nano-pagos, como los que necesita IoT.

El problema es que para incentivar el minado, se recompensa con dinero a quien descubre un bloque. Si queremos que nuestra transacción figure en un bloque, de un modo u otro tenemos que pagar nuestra parte del coste del bloque, sin considerar la cantidad transferida ni el tipo de transacción.

En la maraña se paga con trabajo; Para que nuestra transacción figure en el Tangle tenemos que quedarnos un rato validando transacciones de terceros, hasta que la nuestra quede suficientemente validada.

Es interesante que el trabajo puede ser aportado por cualquier interesado en validar la transacción, no necesariamente el emisor. Así, un receptor de micropagos estaría suficientemente motivado para participar en la maraña.

Eliminar las restricciones del tamaño de bloque

Los bloques no son minados periódicamente con un tamaño fijo, como ocurre en Bitcoin. Son producidos bajo demanda cuando son necesarios (buscando la eficiencia al estilo Just in time). El tamaño también será el que se necesite, normalmente una sola transacción.

No deja de ser curioso que para atacar los problemas del poco tamaño del bloque, se acabe reduciendo al mínimo dicho tamaño.

Incrementar el rendimiento y escalabilidad

Incrementar el throughput, sin perder ni seguridad ni concurrencia. Haciendo que las transacciones no se almacenen en una sola dimensión. En vez de una cadena lineal, se produce una maraña que se ensancha en los periodos de mucha carga y se estrecha en los de poca carga.

  • Cuando la maraña está ensanchada todos los nodos pueden encontrar su hueco en la enredadera sin problemas de contienda.
  • Cuando la carga disminuye también lo hace la potencia de computación. Al estrecharse esta maraña se puede focalizar dicha potencia de computación en las transacciones que siguen entrando.

En la anterior figura se ve la forma de la maraña en ambos casos. Se puede ver que en poca carga es prácticamente como un blockchain doblemente enlazado.

Limitar el riesgo de un ataque con computación cuántica.

El mecanismo es complejo, pero la idea es fácil: Limitar la capacidad de cálculo que puede aportar un nodo/nodos a la cadena. De modo que un computador cuántico no pueda adelantar al resto de la cadena aunque tenga potencia para ello.

Esto tambien se puede hacer en un blockchain, pero no en Bitcoin concretamente.

 

Iniciativas

Este es sin lugar a dudas el punto flojo: existen muy pocas iniciativas y no están muy extendidas.

La mayor impulsora de la maraña es Iotatoken creadora de un tangle para micropagos y volcado de registros para IoT. Su producto ya ha visto la luz, pero en el momento de escribir esta entrada esta todavía en fase beta, e incluso en su white-paper se indica que tiene sub-algoritmos por probar/decidir.

A parte de eso la mayoría del movimiento es mas bien académico. Por ejemplo la formulación de Dag-Coin, de la cual desconozco ninguna implementación práctica.

Así que en conclusión, aunque la tecnología se formula como muy prometedora, y sin olvidar que en este mundo siguen sin existir las balas de plata, tendremos que ver que expectativas cumple la tecnología cuando sea una realidad y:

  1. Ver en que casos realmente es mejor que blockchain. Ya que no es cierto que (volviendo al simil del inicio del articulo) el cable haya substituido a la cadena en todos los casos. La cadena soporta mejor la corrosión y se lleva muy bien con las ruedas dentads. El tangle tambien demostrará sus pegas, quizás su falta de un único estado global.
  2. El blockchain sigue siendo hoy en dia mejor opción que el tangle, aunque solo sea por que ya existe y el tangle… la verdad es que no.
Anuncios

#tangle