Un graphe acyclique dirigé, ou DAG (« directed acyclic graph »), est un outil de modélisation et d'organisation des données couramment utilisé dans les cryptomonnaies.
Contrairement à une blockchain, qui est constituée de blocs, un graphe acyclique dirigé se compose de sommets et d'arêtes. Les transactions crypto y sont donc enregistrées sous forme de sommets, empilés les uns sur les autres. Comme sur une blockchain, cependant, les transactions sont elles aussi soumises au DAG par des nœuds. Pour envoyer une transaction, un nœud doit effectuer des tâches de preuve de travail (PoW).
En clair, là où un système blockchain ressemble à une chaîne, celui d'un DAG ressemble davantage à un graphe. Le modèle DAG est aujourd'hui envisagé dans le secteur comme un possible remplaçant de la blockchain, grâce à son efficacité en matière de stockage des données et de traitement des transactions en ligne.
Le modèle DAG est également vu comme une réponse possible au problème actuel de décentralisation dans la crypto. Avec ce modèle, les mineurs n'ont plus à se disputer les nouveaux blocs à ajouter à la chaîne.
Comme les nœuds se développent en parallèle, les transactions peuvent aussi être traitées plus vite. Les développeurs voient dans le DAG une solution meilleure et plus sûre, capable d'améliorer l'utilité d'un réseau à mesure qu'il gagnera en scalabilité.
Comment fonctionne un DAG ?
Comme évoqué, un graphe acyclique dirigé est plus efficace pour stocker des données. Sa conception est arborescente, avec des nœuds interconnectés en guise de « branches ».
Puisque chaque nœud peut avoir plusieurs racines parentes, le modèle permet de valider davantage de transactions simultanément. En effet, les utilisateurs n'ont pas besoin d'attendre qu'une transaction soit terminée avant d'en traiter une autre.
Dans un graphe acyclique dirigé, chaque nouvelle transaction doit donc référencer des transactions antérieures avant d'être acceptée par le réseau. C'est exactement ce que font les blocs d'une blockchain lorsqu'ils référencent les blocs précédents. L'idée sous-jacente : une transaction n'est réellement confirmée que lorsqu'une autre transaction la référence, et ainsi de suite.
Dans un DAG, chaque sommet correspond à une transaction. Il n'y a pas de blocs, donc pas besoin de minage non plus. Les transactions se construisent les unes sur les autres au lieu d'être regroupées en blocs. Ensuite, comme nous venons de le mentionner, des tâches de preuve de travail sont effectuées chaque fois qu'un nœud soumet une transaction, afin de valider les transactions antérieures et d'éviter le spam.
Par défaut, dans une cryptomonnaie fondée sur un DAG, les nouvelles transactions se construisent sur des transactions plus anciennes. La principale différence avec la blockchain, c'est que dans un DAG plusieurs transactions peuvent être référencées, et pas seulement une à la fois.
Certains systèmes disposent d'un algorithme qui choisit les « tips » (extrémités) ou les transactions sur lesquelles s'appuyer en fonction du poids cumulé, c'est-à-dire du nombre de confirmations menant à cette extrémité.
La protection contre la double dépense repose, dans les DAG, sur des nœuds qui confirment les transactions plus anciennes en remontant un chemin jusqu'à la toute première transaction du DAG. Cela permet de vérifier si l'émetteur dispose d'un solde suffisant. Si un utilisateur construit sur un chemin invalide, sa transaction risque d'être ignorée.
Les conflits résultant de chemins différents sont résolus par un algorithme de sélection qui privilégie les extrémités au poids cumulé le plus élevé.
À quoi servent les DAG ?
Le modèle DAG cherche à corriger deux faiblesses attribuées à la technologie blockchain : la décentralisation et la scalabilité. Il vise aussi à améliorer la sécurité et la facilité d'utilisation.
De quelle manière ?
- Sur la blockchain Bitcoin ou sur la plateforme Ethereum, les mineurs ne peuvent créer qu'un bloc à la fois. Les nouvelles transactions ne sont donc validées qu'une fois la précédente terminée. Le modèle DAG supprime ces blocs et ajoute les transactions directement au registre.
En supprimant les blocs, le modèle DAG n'a pas besoin de minage. Cela signifie qu'il faut moins d'électricité pour faire tourner le réseau. Les DAG présentent par ailleurs plusieurs avantages, notamment :
- Des vitesses de transaction élevées, non bridées par la création de blocs
- Pas de mineurs, donc pas de frais de transaction non plus
- Une consommation d'énergie moindre et des bénéfices environnementaux par rapport au minage
Pour l'instant, cependant, l'usage des DAG dans la crypto n'en est qu'à ses débuts. Contrairement aux blockchains, ils ne sont pas encore totalement décentralisés. Ils servent donc principalement à lancer des réseaux, et pas encore de système permettant de bâtir un réseau stable.
Quelles cryptos utilisent un DAG ?
Il était autrefois impossible de penser les cryptomonnaies sans penser à la blockchain. Avec le modèle DAG, plusieurs cryptomonnaies ont pourtant déjà été construites avec succès sur cette technologie.
Citons par exemple Obyte, IOTA et Nano. Bien qu'encore relativement récente, la structure DAG montre un potentiel considérable. Comme nous l'avons dit, plusieurs projets l'ont déjà exploitée avec succès. Les plus connus sont les suivants :
Obyte
Obyte, autrefois ByteBall, est une cryptomonnaie totalement indépendante de la blockchain, puisqu'elle a mis en œuvre la structure DAG. Les transactions Obyte comportent toutefois des frais.
Cela s'explique par le fait que le réseau Obyte utilise un système de validateurs permettant une double vérification des transactions. Il s'appuie sur un algorithme de consensus fondé sur des témoins (« witnesses ») : des utilisateurs de confiance, à la réputation établie, qui font office de validateurs.
Obyte prend également en charge les transactions intraçables ainsi que les contrats intelligents.
IOTA
IOTA, pensée pour les applications de l'Internet des objets, a lancé son réseau de « blockchain sans blocs » en 2016. L'idée derrière IOTA est que tous les utilisateurs deviennent de fait des mineurs. Pour faire valider une transaction, par exemple, un utilisateur doit en vérifier deux.
IOTA utilise un réseau composé de nœuds et de tangles, c'est-à-dire de groupes de nœuds, qui rendent le processus de validation plus rapide et plus efficace.
Tous les utilisateurs apportent une petite quantité de puissance à l'entretien du réseau, et chacun participe aussi au consensus. Le réseau peut ainsi être à la fois très décentralisé et scalable.
Les transactions n'entraînent quasiment aucun frais ; IOTA est donc considérée comme une cryptomonnaie alternative économique pour les micropaiements.
Nano
Nano est elle aussi une cryptomonnaie fonctionnant sur un système DAG. Nano repose sur des blockchains autonomes reliées par des nœuds, ce qu'on appelle la technologie block-lattice. À vrai dire, c'est un mélange de DAG et de blockchain.
Chaque utilisateur possède son propre portefeuille et sa propre blockchain. Lui seul peut y apporter des modifications. Une transaction est finalisée lorsque l'émetteur et le destinataire ont chacun effectué l'opération sur leur blockchain respective.
Nano offre à ses utilisateurs des frais de transaction nuls, ainsi que des vitesses de transaction élevées.
Quel est le rôle du DAG dans la blockchain ?
Le DAG peut être considéré comme une alternative crédible à la blockchain, même s'il demande encore des réglages. Le modèle DAG cherche à résoudre des problèmes classiques de la technologie blockchain : le coût, la vitesse et l'adaptabilité.
De fait, les deux technologies inscrivent les transactions dans un registre numérique et poursuivent le même objectif. Ce qui les distingue, c'est surtout la structure que chaque modèle utilise pour stocker les données.
DAG contre blockchain
Blockchains et DAG enregistrent tous deux les transactions dans un registre distribué, mais par des moyens différents.
Voici une comparaison rapide des avantages et des inconvénients de chacun :
Avantages du DAG
- Adapté aux microtransactions et aux volumes de transactions élevés
- Supprime le besoin de matériel de minage
- Les frais peuvent être fortement réduits
- Consommation d'énergie plus faible
Inconvénients du DAG
- Vulnérable aux attaques en raison du faible volume de transactions
- Encore à ses débuts ; n'a pas atteint de niveaux significatifs de décentralisation
Avantages de la blockchain
- Solidement établie et largement utilisée par des cryptomonnaies comme Bitcoin et Ethereum
- Transparente et inaltérable, très sécurisée
- Économique pour les transactions de forte valeur
Inconvénients de la blockchain
- Besoins importants en stockage et en bande passante réseau
- Énorme consommation d'énergie
- Frais de transaction élevés
Au bout du compte, le choix du modèle dépendra de vos objectifs métier. Comme nous l'avons vu, chaque modèle a ses forces et ses faiblesses, et l'un peut convenir mieux que l'autre selon vos besoins.
