[THREAD] Tentative de vulgarisation des DAG

Aujourd’hui, j’aborde un sujet un petit peu complexe, car il s’agit des Directed Acyclic Graphs (DAG). Vous m'avez surement entendu en parler fréquemment, je suis assez fan de cette technologie.
Les Directed Acyclic Graph (Graphe orienté acyclic) ne sont pas un nouveau type de blockchain, malgré l'abus de langage "blockchain de 3ème génération" (ou de 4ème génération si Cardano représente la 3ème 🤣).
Contrairement aux blockchains, les DAG sont des graphes qui n'ont pas de circuits définis. Mais alors, qu'est-ce que cela veut-il dire ?
Comme on peut le voir sur ces deux schémas, les flux reliants chaque nœuds sur un DAG (à droite) ne suivent pas un schéma précis, contrairement à la belle chaîne formée par différents blocs sur la blockchain (à gauche).
Une autre particularité propre aux DAG est que chaque « nœud » (l’équivalent des blocs pour la blockchain) peut être numéroté, et l’on peut établir une relation d’ordre partielle.
Pour le DAG ci-dessous, les sommets (7,5,3) forment le niveau1, (11,8) formant le niveau2, (2,9,10) le niveau3.
Cela implique qu’il y a 1 chemin plus court, et d’autres plus longs.
Ex : pour aller de 7 à 9, on peut passer par 7, 8 et 9 (chemin le plus court), ou par 7, 11 et 9.
Exemple de DAG d'ordonnancement avec 5 tâches différentes et des temps de traitement différents, et un autre avec 9 tâches.
Ces graphes sont très utilisés pour la gestion de projet, notamment au niveau de l’ordonnancement des tâches, dans les organigrammes, dans les modèles par couches (pyramide de Maslow par exemple).
Ce terme vous paraissait totalement inconnu, et il est pourtant largement utilisé dans la vie courante.

Mais alors, quelle est donc leur utilisation dans les crypto-monnaies ?
Les blockchains actuelles présentent de nombreuses limites, notamment au niveau de la scalabilité. C’est pourquoi de plus en plus de crypto embarquent des DAG dans leurs structures. On peut notamment citer $NANO, $QNT, $DAG, $HTR, et $COTI pour les principales.
L’utilisation qu’elles en font varie, mais globalement, elles utilisent les DAG pour augmenter de façon exponentielle leur scalabilité.
Mais la blockchain ne peut pas être entièrement remplacée par un DAG : en effet, le DAG ne vérifie pas les transactions, il véhicule ces transactions pour qu’elles soient validées par le protocole blockchain (PoW, PoS, …).
Il est donc nécessaire d’avoir une blockchain validant les transactions pour faire fonctionner le DAG. Le but de ce montage est de faire circuler beaucoup plus rapidement les transactions, augmentant considérablement la scalabilité de la blockchain sous-jacente.
Par exemple, $NANO fonctionne avec un « block-lattice » couplé à un DAG, $HTR fonctionne avec un protocol PoW à l’intérieur d’un DAG, …
Illustration du block-lattice, où chaque utilisateurs (A, B et C) disposent de ses propres blocs, et les blocs communiquent entre eux grâce à un DAG :
On va éviter d’aller beaucoup plus dans le détail afin que ce thread reste compréhensible au plus grand nombre. Si vous souhaitez creuser un peu plus, il a de formidables articles en anglais sur le sujet.
Les DAG trouvent une utilisation car les blockchains saturent rapidement, et il est nécessaire trouver des solutions pour pallier à cela en vue d’une adoption globale. En effet, pour le bitcoin, augmenter la taille des blocs,
qui détermine le nombre d’informations que l’on va pouvoir insérer dans un seul et même bloc (plus la taille est grande, plus il est possible de recueillir un grand nombre de transactions, plus il est possible de réaliser un nombre important de transactions par seconde)
est une fausse solution : cette augmentation diminue grandement la sécurité de la chaîne, pour une hausse de la scalabilité moindre (encore une fois je ne vais pas plus rentrer dans les détails). La sécurité de la chaîne n’étant pas une option,
le DAG apparaît donc comme la solution miracle.
Cependant, il faut bien noter que le DAG n’est pas responsable des très faibles frais de transaction rencontrés sur ces écosystèmes, mais que cela provient du faible taux d’utilisation des écosystèmes et des bonnes performances des blockchains sous-jacentes.
Merci pour votre lecture, j’espère avoir été assez clair et ne pas vous avoir perdu dans cet univers magique qu’est le Directed Acyclic Graph !
You can follow @NeronCrypto.
Tip: mention @twtextapp on a Twitter thread with the keyword “unroll” to get a link to it.

Latest Threads Unrolled: