Los DAG o bien Grafos Dirigidos Acíclicos son una construcción matemática y computacional que dejaría la creación de sistemas y redes distribuidas con muchos similares funcionales por los ofrecidos con la tecnología blockchain. 

La creación de la tecnología blockchain por Satoshi Nakamoto supuso una revolución tecnológica sin parangón, y desde ese momento, muchos desarrollos procuran posicionarse como el próximo gran paso, siendo uno de esos intentos los DAG.

Las iniciales DAG significa Directed Acyclic Graph o bien Grafo Acíclico Dirigido, es una construcción famosa en el planeta matemático y también informático a lo largo de muchos años. En verdad, son más viejos que la tecnología blockchain por mucho. Mas últimamente han capturado la atención debido a la posibilidad técnica de edificar sistemas distribuidos idénticos que los creados hoy día utilizando la tecnología blockchain.

Interesante ¿No crees? Esta “desconocida” y emocionante tecnología es entendida por ciertas personas como una herramienta capaz de ofrecernos la funcionalidad de la blockchain prometiendo, además de esto, esenciales mejoras. Mas ¿Qué hay de determinado en todo esto? ¿Qué son verdaderamente los DAG? ¿Cuáles son sus orígenes? ¿Son verdaderamente los DAG la evolución de la tecnología blockchain? ¿Por qué razón Satoshi Nakamoto en su genialidad no los empleo primeramente? Estas y otra preguntas las responderemos ahora.

¿Qué es DAG y cuál es su origen?

En primer sitio, has de saber que los DAG no son un término nuevo. En verdad, los DAG se conocen desde el desarrollo de las Teorías de Grafos en matemáticas y que entonces fueron utilizadas en computación debido a su gran utilidad en este campo.  Como comentamos, cuando charlamos de DAG charlamos de un grafo con 2 propiedades muy interesantes: son dirigidos y acíclicos. Mas ¿Qué es lo que significa esto?

Primero, un grafo es dirigido, cuando todos y cada uno de los nodos (o bien vértices) que son parte del grafo están conectados por aristas que señalan una dirección bien definida.

Segundo, hablamos de grafo acíclico, cuando estamos frente a un grafo donde no existen ciclos de recorrido para exactamente el mismo. Esto es, es imposible ir desde un vértice del grafo, recorrer el resto de sus vértices y finalizar en el vértice donde se empezó el recorrido.

Gracias a estos conceptos básicos, podemos decir entonces que:

Un grafo acíclico dirigido, o bien DAG por sus iniciales en inglés, es un grafo dirigido finito sin ciclos dirigidos. Esto quiere decir que sus vértices están conectados por aristas con una dirección concreta y el recorrido de todo el grafo nos lleva de un punta A al B, sin tener la posibilidad de volver al punto en A de ningún modo.

El estudio de esta clase de estructuras empezó en mil ochocientos setenta y ocho, cuando James Joseph Sylvester, un reconocido matemática inglés, empezó sus estudios de los grafos. Desde ese momento, la Teoría de Grafos se ha dedicado a estudiar y clasificar esta clase de estructuras en especial útiles en matemática, física, informática, lingüística y otras áreas de las ciencias.

Matemáticas y grafos ¿Qué debe ver esto con las criptomonedas?

Ahora que sabes el origen y el término de un DAG, probablemente te preguntas ¿Qué relación guarda todo esto con las criptomonedas y la blockchain? ¿De qué manera podemos utilizar un DAG para hacer lo mismo que con blockchain?

Pues bien, las dos preguntas son muy válidas, y las contestaciones son del mismo modo válidas y te van a dar una nueva perspectivas de de qué manera la blockchain puede o bien pudiese evolucionar. Para esto imaginemos lo siguiente:

Una blockchain o bien cadena de bloques es lo que su nombre dice: información que agrupada en conjuntos se relacionan de forma ordenada y criptográfica con el conjunto precedente. Y dicha relación no puede romperse en ningún punto precedente de la cadena sin cancelar los próximos bloques inmediatamente.

Algo como lo que se muestra en el próximo gráfico donde vemos una cadena sin modificación en su historial y otra con modificación en tal historial.

Ejemplo de una blockchain en frente de un DAG

Pues bien esta estructura de unir bloques de una manera concreta para crear con ellos un historial inmodificable, y de que en el caso de que se modifique, se produzca una bifurcación (como lo muestra el gráfico arriba), asimismo lo podemos hacer con un DAG.

Para eso mira el próximo ejemplo:

Ejemplo de un DAG

Si observas bien vas a ver que hay una relación entre los vértices (que en blockchain son bloques)  y dicha relación está dada por las aristas (el hash y el Merkle Root de los bloques en blockchain). Si en el DAG alteramos una arista, cualquier que sea, la relación del mismo se reescribe, produciendo un nuevo DAG, y por tanto un historial diferente (una bifurcación en blockchain).

Ejemplo de un DAG con relación cambiada

Este otro DAG cambiado, es una bifurcación o bien reescritura del DAG del ejercicio original, y nos prueba que es posible recrear exactamente la misma relación dada en la blockchain, utilizando esta clase de grafos.

Propiedades de los DAG

Ahora bien los DAG tienen unas determinadas propiedades que son esenciales a fin de que funcionen como lo son:

  1. Tienen un punto de inicio (origen) y un punto de llegada o bien final (sumidero). Siendo dirigidos, esto garantiza que nuestro recorrido siempre y en toda circunstancia vaya de un punto de origen a un punto y final, y no podamos retornar sobre tal recorrido. De aplicarse la construcción de esta estructura de forma sucesiva, vamos a estar creando un historial incremental en el DAG, tal y como pasa en una blockchain.
  2. La modificación de una relación entre vértices, reescribe la totalidad del DAG, debido a que su estructura y peso ha variado.  Esto es equivalente a que si alteramos un bloque en la blockchain, el resultado es una blockchain diferente desde ese punto de ahora en adelante.
  3. Son paralelizables. Un DAG puede tener generación paralela y recorridos de diferente valor entre diferentes vértices. Esto optima su generación y la capacidad de contrastar la relación entre los vértices y la información que puedan contener.
  4. Son reductibles. Una propiedad única de los DAG es que su estructura puede ser reducida a un punto inmejorable en que su recorrido cumpla con todas y cada una de las relaciones concretadas en exactamente el mismo sin pérdida. Esencialmente quiere decir que es posible reducir las relaciones de los vértices (o bien bloques) hasta determinado punto mínimo en que dicha reducción no afecta la capacidad de contrastar la información de ningún vértice en ningún instante.  Esto es singularmente útil por servirnos de un ejemplo en light wallets o bien SPV.

DAG vs Blockchain ¿Cuál es mejor?

Ahora bien, puesto que sabemos que son los DAG, sus propiedades y que pueden hacer exactamente el mismo trabajo que una blockchain o bien cadena de bloques, podemos hacernos el interrogante ¿Cuál es mejor?

Pues bien la contestación a esto es compleja y responderla depende de tomar en perspectiva múltiples cosas. Primeramente. si bien la estructura blockchain puede considerarse, todavía hoy día con más de diez años tras su creación, una tecnología experimental, los DAG son una tecnología que ahora es enormemente experimental en el contexto de las criptomonedas.

Por otro lado, la creación de un sistema de minería y de acuerdo es considerablemente más complejo en una DAG. La manera en de qué forma se pueden producir bloques, crear relaciones entre ellos, reducir dichas relaciones sin pérdidas, entre otras muchas funciones añaden un nivel de dificultad algorítmica superior.

Esta mayor dificultad lleva asimismo a que puedan cometerse fallos de programación o bien fallos en la estructuración del funcionamiento del sistema. Y si hay algo peor que un fallo grave de software, es un fallo en la estructura de un sistema que implique trastocar totalmente el funcionamiento de exactamente la misma para repararlo, y si eso se puede.

Es posible que Satoshi Nakamoto hubiera visto y abordado este inconveniente y en su sitio decidió diseñar una solución considerablemente más simple así como eficaz, creando con esto la blockchain. Indudablemente, esto es una cosa que jamás vamos a saber, puesto que no se tiene perseverancia pública de ello.

Pros y Contras

Pros

  1. En una DAG un nodo puede producir y validar por sí solo una transacción. Para conseguir esto, la transacción y su validación ha de estar ligada y añadir verificación a, por lo menos, 2 transacciones precedentes en el DAG.
  2. Son enormemente escalables debido a la manera descentralizada y paralela de su funcionamiento. Esto es posible pues las transacciones en una DAG son independientes. Del mismo modo de independientes son los procesos de validación para exactamente la misma.
  3. Las transacciones en una DAG crean un esquema conocido como “Transacciones doblemente confirmadas”. Esto quiere decir que bajo cualquier esquema, se puede dar como irreversible una transacción con solo 2 confirmaciones, un hecho, que puede llevar unos pocos segundos merced al trabajo paralelo de la red.
  4. En las DAG no hay mineros, con lo que no hay pago de fee o bien comisiones de gran valor. Merced a la sencillez criptográfica de validar y su alto desempeño, las ganancias de los nodos por las transacciones confirmadas se ven recuperadas por el volumen total de transacciones atendidas entre otros muchos servicios que pueda prestar el nodo.

Contras

  1. Resulta complejo desarrollar DAG, singularmente debido a su complejo algoritmo de acuerdo y las protecciones precisas para eludir que su debilidad de paralelismo pueda ser explotada.
  2. Las DAG precisan de sistemas de coordinación. Estos sistemas de coordinación se vuelven un punto de fallo que puede afectar de forma negativa el funcionamiento de la red.
  3. Muchos proyectos DAG no utilizan herramientas criptográficas seguras y esto abre las puertas a ataques. Esto se presentó en la conocida criptomoneda IOTA, donde las protecciones criptográficas de la red fueron excedidas por un generador de semillas on line. Los atacantes utilizaban este generador para ganar acceso a los fondos de los usuarios de IOTA y hurtarles su dinero. En suma se perdieron más de diez millones de dólares estadounidenses por este ataque.
  4. El empleo de técnicas criptográficas enclenques hace que la generación de direcciones sea prácticamente inexistente, siendo esto un serio problema a la privacidad.

¿Cuánto sabes, criptonauta?

¿Son las DAG considerablemente más veloces que las blockchains?

Casos de empleo de los DAG

En la actualidad existen múltiples proyectos que usan la tecnología DAG para presentar opciones reales y funcionales en forma de criptomonedas. Ciertos de estos proyectos son:

Ethereum

El algoritmo de minería de Ethereum, el conocido Ethash (o bien Ethash Dagger-Hashimoto, como asimismo se le conoce), emplea los DAG para crear una compleja estructura de datos que en nuestros días puede llegar a los cuatro-cinco GB de datos. Esta estructura es creada por el algoritmo Dagger, desarrollado por Vitalik Buterin, y su objetivo es brindar una base de minería para el algoritmo Hashimoto.

IOTA

IOTA es proyecto de criptomoneda dirigido al planeta del IoT (Internet of Things), que promete merced a su DAG, transacciones veloces, realmente económicas y una escalabilidad sin parangón. El proyecto fue lanzado en dos mil dieciseis, pensando en ofrecer a los miles y miles de millones de aparatos conectados al internet de las cosas una infraestructura sólida y escalable para trasmitir valor.

Desde entonces ha señalado por su interesante propuesta. No obstante, se ha visto perjudicado de forma negativa por serios problemas de seguridad que han perjudicado a sus usuarios y han supuesto la pérdida de unos cincuenta millones de dólares estadounidenses, una suma esencial y que representa ambiente al diez por ciento de su actual capitalización de mercado.

Obyte

Obyte es un proyecto asimismo enfocado en producir una criptomonedas y demás servicios integrados en una DAG. El proyecto data de dos mil dieciseis y fue presentado en Bitcointalk. Es un proyecto pequeño, con una capitalización de mercado que ronda los doce millones de euros. No obstante, a pesar de esto, el valor de su token es de diecisiete dólares americanos USD y su suministro está limitado a 1 millón de monedas. Esto hace de Obyte un token con un extraño alto valor de mercado. Es utilizado, sobre todo, en Rusia (país de donde es su autor, Anton Churyumov).