Rejoignez-Nous sur

Qu’est-ce qu’un DAG (Directed Acyclic Graph) ?

Topological Ordering.svg

News

Qu’est-ce qu’un DAG (Directed Acyclic Graph) ?

Cryptoast a pour objectif de démocratiser le bitcoin, les cryptomonnaies et les technologies blockchain

Lorsque nous nous intéressons au fonctionnement des blockchains et plus particulièrement aux innovations réalisées par des projets ou de nouvelles formes de consensus, nous pouvons être confrontés au terme de DAG. Ç’a été le cas par exemple dans notre présentation de la famille de consensus Avalanche. Aujourd’hui nous vous présentons plus en détail ce que sont ces DAG, leur fonctionnement et leur usage dans le cadre de la technologie blockchain.

Qu’est-ce qu’un DAG ?

DAG

Un DAG (acronyme de Directed Acylic Graph, « graphe orienté acyclique ») est une structure mathématique ancienne dont l’utilisation s’est démocratisée dans le domaine de l’informatique. Les graphes sont des modèles de réseaux reliant les nœuds qui les composent. On retrouve dans la famille des graphes par exemple les arbres ainsi que les chaînes de noeuds, ou de blocs dans le cadre du Bitcoin. Un DAG est donc une structure qui n’a que des liens directs entre ses nœuds et aucun cycle, c’est-à-dire que vous ne pouvez pas retomber sur le même nœud au fil de la navigation dans le graphe. Cela permet donc une navigation directe de nœud à nœud par le biais des liaisons de ces derniers.

Les DAG ne sont absolument pas liés aux registres distribués et comme beaucoup d’autres technologies utilisées dans l’écosystème existant et étaient utilisés bien avant la venue des projets cryptos. Ils sont utilisés dans le cadre de l’organisation de nombreuses données comme Git par exemple.

Comment fonctionnent les DAG ?

Les DAG sont donc des structures composées de deux types d’éléments différents, les nœuds et les liaisons entre ces derniers. Cela peut être utilisé dans le cadre de la conservation d’un historique de données comme par exemple les versions d’un logiciel ou les interactions entre des utilisateurs. Cela permet notamment d’éviter les conflits liés à l’utilisation d’un historique linéaire dans lesquels l’ajout d’un nouvel élément doit être directement lié à l’élément le plus ancien et uniquement ce dernier. Dans le cadre des versions d’un logiciel, la version 5 ne peut être liée qu’à la version 4 dans un cadre linéaire. En utilisant un DAG, cette version peut être liée à la version 3 alors que la version 6 reliera les versions 4 et 5.

Il suffit de spécifier le ou les nœuds parents pour ajouter de nouvelles données à un DAG ainsi que de définir les liaisons entre ces derniers. Pour ce qui concerne le parcours d’un DAG, il existe différents algorithmes qui possèdent chacun leurs propres spécificités. L’utilisation de DAG facilite l’utilisation de certains algorithmes par rapport à d’autres graphes plus généralistes, c’est le cas notamment de la recherche des chemins les plus courts ou plus longs entre deux noeuds spécifiques.

Les DAG dans le cadre des blockchains

blockchain-DAG

Si nous sommes sur Cryptoast, c’est que cette histoire de DAG possède un lien avec les cryptomonnaies ou la technologie blockchain. En effet si assez peu de blockchains utilisent un DAG dans leur architecture, leur utilisation pourrait résoudre des problématiques liées à la scalabilité de ces dernières. Mais il est important de bien comprendre ce qui peut être remplacé par un DAG et les opérations qui ne sont pas pertinentes.

En effet contrairement à la croyance générale, l’utilisation d’un DAG n’est pas liée à la vérification en amont des transactions, réalisées par des protocoles de preuve de travail, d’enjeux ou d’autres types comme il en existe désormais. Dans le cadre de la scalabilité des registres distribués, il existe de nombreux goulots d’étranglement, des limites imposées soit par les moyens techniques comme la puissance des machines, soit par le fonctionnement des protocoles. La propagation des transactions sur le réseau en est un. En effet à quoi sert l’augmentation de la taille des blocs ou du flux des transactions si elles ne peuvent être propagées correctement sur le réseau ? Cela peut avoir des effets de bords et, au fur et à mesure du temps, rendre le réseau plus centralisé.

Utiliser un DAG ne remplace pas le réseau de mineurs, puisque comme le précise Andreas Antonopoulos, la preuve de travail apporte des fonctionnalités directement liées à son fonctionnement précis, notamment l’immuabilité. On ne peut pas dire que IOTA par exemple tire ses frais de transactions nulles grâce à l’utilisation de DAG. En effet la structure du Tangle possède de nombreuses caractéristiques uniques.

Avantages et inconvénients de l’utilisation d’un DAG

Alors que certains réseaux de cryptomonnaies utilisent des systèmes de chaînes comme Bitcoin, il est également possible d’organiser les transactions dans un DAG : c’est ce que font par exemple les projets IOTA ou Nano. Mais ce ne sont pas les seuls changements opérés par rapport à l’architecture des blockchains : certains protocoles utilisent notamment des consensus de preuve d’enjeu ou de preuve d’autorité afin de valider les transactions avant de les ajouter au DAG. En effet si le réseau ne dépend pas de la preuve de travail pour valider les transactions, il n’a pas besoin de blocs et donc de chaîne. Utiliser des DAG est donc intéressant puisque cela apporte de nombreux avantages quant à la gestion de ces derniers comme nous allons le voir ensemble.

L’utilisation d’un DAG apporte des avantages de rapidité de déploiement de transactions, qui ne sont pas architecturés par blocs. Mais comme expliqué plus haut les DAG ne sont pas les principales caractéristiques qui les utilisent et ce sont d’autres paramètres qui apportent leur confort d’utilisation comme des frais proches de zéro. Cela peut expliquer la confusion de la communauté quant à l’essence des DAG, qui ne représentent pas les « blockchains 3.0 » et qui ne reposent pas forcément sur une validation des transactions par le biais de la preuve de travail.

Les blockDAG

Bitcoin a apporté une architecture permettant le développement d’un réseau complètement ouvert sur lequel l’échange de valeur est possible par la mise en place de divers mécanismes qui rendent l’historique des transactions immuable. Mais cette architecture perd ses caractéristiques en terme de sécurité quand la taille des blocs est augmentée ou que le flux de ces derniers s’intensifie, dans une certaine mesure. C’est pour cela que de nombreux projets cherchent à améliorer Bitcoin, en modifiant son architecture ou en travaillant sur des surcouches comme le Lightning Network. C’est le cas des blockDAG que je vais vous présenter, représentés par des projets comme SPECTRE.

L’idée n’est plus de regrouper les blocs de transactions dans des chaînes, la plus longue étant sélectionnée par le consensus, mais dans des DAG. Chaque bloc serait organisé de manière historique, c’est-à-dire que chaque bloc fait toujours référence à leurs prédécesseurs dans les hashs de leurs headers. La difficulté principale serait que les mineurs n’aient pas forcément la même version du DAG en simultané puisque de nouveaux blocs sont ajoutés de manière beaucoup plus récurrente. Cela peut apporter notamment des transactions conflictuelles puisqu’elles sont validées en parallèle sans que les mineurs ne soient au courant.

Ce changement structurel quant au design du système peut rendre ce dernier plus rapide, la confirmation des transactions peut être atteinte en une question de secondes. Aussi, le flux de ces transactions n’est pas limité à un nombre de blocs précis par minutes, et est seulement limité à la bande passante du réseau, ce qui a pour effet de réduire les frais de transactions.

Voilà pour cette présentation de ce qu’est un DAG et de son utilisation dans le cadre des registres distribués. Si vous avez des remarques ou des questions à propos de cet article, n’hésitez pas à nous en faire part dans les commentaires ou sur les réseaux sociaux.


L’article Qu’est-ce qu’un DAG (Directed Acyclic Graph) ? est apparu en premier sur Cryptoast.

[ad_2]

Retrouver l’article original de Guillaume Chanut ici: Lien Source

BlockBlog

Le Meilleur de l'Actualité Blockchain Francophone & Internationale | News, Guides, Avis & Tutoriels pour s'informer et démarrer facilement avec Bitcoin, les Crypto-Monnaies et le Blockchain. En Savoir Plus sur L'Équipe BlockBlog

Commenter cet Article

Commenter cet Article

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Plus dans News

Les Plus Populaires

Acheter des Bitcoin

Acheter des Alt-Coins

Sécuriser vos Cryptos

Vêtements et Produits Dérivés

Top