Qu'est-ce qu'un graphe orienté acyclique (DAG) dans le domaine des cryptomonnaies ?
Accueil
Articles
Qu'est-ce qu'un graphe orienté acyclique (DAG) dans le domaine des cryptomonnaies ?

Qu'est-ce qu'un graphe orienté acyclique (DAG) dans le domaine des cryptomonnaies ?

Intermédiaire
Publié le Jul 19, 2020Mis à jour le Dec 27, 2022
8m

Table des matiĂšres


Introduction

Lorsque vous pensez aux cryptomonnaies, les termes «  blockchain » ou « registre distribué » vous viennent probablement à l'esprit. Depuis le lancement de Bitcoin, des centaines d'autres cryptomonnaies ont été créées. La plupart d'entre eux reposent sur une architecture réseau similaire. Leurs structures de données permettent aux utilisateurs de transférer de la valeur ou d'interagir avec des applications décentralisées.
Dans une blockchain, un nouveau bloc est périodiquement ajouté à une chaßne de blocs en expansion. Chaque bloc est relié au précédent par une sorte de lien cryptographique (plus précisément, un hachage). Dans chacun de ces blocs se trouvent des transactions récentes qui ont été diffusées par les utilisateurs.
Mais il y a souvent une pĂ©riode d'attente entre la diffusion d'une transaction et son inclusion dans un bloc. Pensez-y comme si vous attendiez un train dans une gare. En fonction de la taille des wagons (taille des blocs) et du nombre d'autres personnes qui attendent (transactions en attente), il se peut que vous ne puissiez mĂȘme pas prendre le train suivant. Ou mĂȘme celui d'aprĂšs. Vous pouvez attendre de quelques secondes Ă  quelques heures que la transaction soit confirmĂ©e.
Pour beaucoup, il s'agit d'un compromis judicieux. AprĂšs tout, il offre un trĂšs haut niveau de sĂ©curitĂ© sans faire appel Ă  un coordinateur centralisĂ©. Pour d'autres, la technologie blockchain a une date d'expiration. Les dĂ©tracteurs pensent qu'Ă  long terme, les problĂšmes de scalabilitĂ© rencontrĂ©s par la technologie blockchain empĂȘcheront l'adoption de masse.

Certains pensent que l'avenir des réseaux de paiement en cryptomonnaies réside dans une architecture totalement différente : les graphes orientés acycliques (ou DAG).


Qu'est-ce qu'un DAG ?

Un DAG est un type de structure de données différent, comme une base de données qui relie différentes informations. « Graphe orienté acyclique » est un terme complexe, alors commençons par le décomposer.


Graphe orienté acyclique.


Conceptuellement, les DAG ressemblent Ă  ce qui est dĂ©crit ci-dessus. Ils sont composĂ©s de sommets (les sphĂšres) et d'arĂȘtes (les lignes qui les relient). Ils sont dirigĂ©s parce qu'ils vont dans une seule direction (vous pouvez voir les flĂšches). Ils sont acycliques (c'est-Ă -dire non cyclique) parce que les sommets ne forment pas de boucle sur eux-mĂȘmes. Si vous commencez Ă  un point et suivez le graphe, vous ne pouvez pas revenir Ă  ce mĂȘme point. Tout cela sera bientĂŽt plus clair.

Ces structures de données sont généralement utilisées pour modéliser les données. Vous pouvez vous appuyer sur un DAG dans des domaines scientifiques ou médicaux pour observer la relation entre les variables et déterminer leur impact mutuel. Par exemple, vous pourriez prendre des éléments tels que la nutrition, les cycles de sommeil et les symptÎmes physiques, afin de pouvoir établir des liens entre eux pour déterminer comment ils affectent un patient.

En ce qui nous concerne, nous nous intéressons davantage à la maniÚre dont ils peuvent contribuer à l'obtention du consensus dans un réseau distribué de cryptomonnaie.


Comment fonctionne un DAG ?

Dans une cryptomonnaie basĂ©e sur un DAG, chaque sommet de la structure reprĂ©sente une transaction. Il n'y a pas de notion de bloc ici, et il n'est pas non plus nĂ©cessaire de miner pour Ă©tendre la base de donnĂ©es. Ainsi, au lieu de rassembler les transactions en blocs, chaque transaction est construite sur une autre. Cependant, une petite opĂ©ration de preuve de travail est effectuĂ©e lorsqu'un nƓud soumet une transaction. Cela permet de s'assurer que le rĂ©seau n'est pas polluĂ© et de valider les transactions prĂ©cĂ©dentes.

Pour qu'une nouvelle transaction soit ajoutée, elle doit s'appuyer sur des transactions plus anciennes. Supposons qu'Alice crée une nouvelle transaction. Pour qu'elle soit prise en compte, cette transaction doit faire référence aux transactions précédentes. Un peu comme la façon dont un bloc Bitcoin fait référence à celui qui le précÚde, mais avec plusieurs transactions référencées.

Dans certains systĂšmes, un algorithme sĂ©lectionne les transactions (ou « pourboires ») sur lesquelles une nouvelle transaction doit ĂȘtre effectuĂ©e. Les pourboires plus susceptibles d'ĂȘtre sĂ©lectionnĂ©s sont ceux qui ont plus de poids accumulé : une mesure du nombre de confirmations du chemin vers le pourboire.

Les transactions qu'Alice ajoutera sont non confirmées. Mais une fois qu'Alice les aura référencées, elles deviendront confirmées. La transaction d'Alice est maintenant non confirmée. Quelqu'un d'autre doit ajouter une nouvelle transaction pour qu'elle soit acceptée.

Les utilisateurs sont plus enclins Ă  confirmer les transactions avec un poids « plus lourd » afin que le systĂšme continue de croĂźtre. Dans le cas contraire, il n'y aurait rien qui empĂȘcherait un utilisateur de continuellement ajouter des nouvelles transactions Ă  des transactions plus anciennes.

Avec les blockchains, il est assez facile de se protĂ©ger contre les double dĂ©penses. Les mĂȘmes fonds ne peuvent pas ĂȘtre dĂ©pensĂ©s deux fois dans un bloc : les nƓuds peuvent facilement dĂ©tecter toute tentative et rejeter tout bloc contenant des transactions en conflit. Puisque la production de blocs est si coĂ»teuse pour les mineurs, ils sont incitĂ©s Ă  ĂȘtre honnĂȘtes.

Les DAG disposent Ă©galement d'un mĂ©canisme pour Ă©viter les doubles dĂ©penses. C'est un peu pareil, mais sans les mineurs. Lorsqu'un nƓud confirme des transactions plus anciennes, il Ă©value la totalitĂ© d'un chemin vers la toute premiĂšre transaction du DAG pour s'assurer que l'expĂ©diteur dispose d'un solde suffisant. Il peut y avoir plusieurs chemins, mais un seul doit ĂȘtre vĂ©rifiĂ©.



Si les utilisateurs utilisent un chemin non valide, ils courent le risque que leur propre transaction soit ignorĂ©e. La leur pourrait ĂȘtre lĂ©gitime, mais comme la prĂ©cĂ©dente ne l'Ă©tait pas, personne ne voudra prolonger ce chemin.

Ce n'est pas intuitif aux premiers abords : ne pourriez-vous pas vous retrouver dans une situation oĂč plusieurs branches qui ne sont pas conscientes les unes des autres existent ? Ne serait-ce donc pas possible de dĂ©penser les mĂȘmes fonds dans ces diffĂ©rentes branches ?



C'est effectivement une possibilité, mais elle est résolue par un algorithme de sélection qui favorise les transactions ayant un poids cumulé plus important. Cela signifie qu'au fil du temps, vous vous retrouverez avec une branche beaucoup plus forte que les autres. Les plus faibles seront abandonnées et le réseau continuera à se développer sur la plus lourde.

Comme pour les blockchains, il n'y a pas de finalitĂ© absolue : vous ne pouvez jamais ĂȘtre sĂ»r Ă  100 % qu'une transaction ne sera pas annulĂ©e. C'est incroyablement improbable, mais vous pouvez thĂ©oriquement annuler un bloc Bitcoin ou Ethereum, ce qui annule toutes les transactions Ă  l'intĂ©rieur de celui-ci. Plus vous ajoutez de blocs aprĂšs la transaction, plus vous pouvez avoir confiance en votre transaction. C'est pourquoi il est recommandĂ© d'attendre six confirmations avant de dĂ©penser des fonds.
Dans un DAG tel que le Tangle de IOTA, il existe un concept de confiance de confirmation. L'algorithme de sĂ©lection est exĂ©cutĂ© 100 fois, et vous comptez combien de fois votre transaction a Ă©tĂ© approuvĂ©e directement ou indirectement dans les conseils sĂ©lectionnĂ©s. Plus le pourcentage est Ă©levĂ©, plus vous pouvez ĂȘtre sĂ»r que votre transaction restera rĂ©glĂ©e.

Cela peut sembler entraßner une mauvaise expérience utilisateur. Mais ce n'est pas le cas. Si Alice envoie à Bob 10 MagicDAGTokens, elle n'a pas à se soucier de sélectionner les bonnes transactions du graphe. En arriÚre-plan, son portefeuille peut réaliser les opérations suivantes :

  • SĂ©lectionner les transactions les plus lourdes (rappelez-vous, ce sont celles qui ont le plus de confirmations accumulĂ©es).
  • Suivez la procĂ©dure de retour des transactions prĂ©cĂ©dentes pour vous assurer que les transactions disposent d'un solde suffisant pour les dĂ©penses.
  • Une fois que c'est fait, elle ajoute sa transaction au DAG en confirmant les transactions sur lesquelles elle a Ă©tĂ© effectuĂ©e.
Pour Alice, cela ressemblera simplement à la procédure habituelle pour une cryptomonnaie. Elle saisit l'adresse de Bob et le montant qu'elle souhaite dépenser, puis appuie sur Envoyer. La liste ci-dessus est la preuve de travail que chaque participant exécute lorsqu'il crée une transaction.



Avantages et inconvénients des graphes orientés acycliques

Les avantages des DAG

Vitesse

Sans ĂȘtre limitĂ© par des temps de bloc, tout le monde peut diffuser et faire traiter ses transactions Ă  tout moment. Il n'y a pas de limite au nombre de transactions que les utilisateurs peuvent soumettre, Ă  condition qu'ils en confirment d'anciennes lorsqu'ils le font.


Pas de minage

Les DAG n'utilisent pas les algorithmes de consensus PoW comme c'est le cas habituellement. Leur empreinte carbone est donc une fraction de celle des cryptomonnaies qui s'appuient sur le minage pour sécuriser leur réseau de blockchain.


Pas de frais de transaction

Comme il n'y a pas de mineurs, les utilisateurs n'ont pas besoin de payer de frais pour diffuser leurs transactions. Cela dit, certains exigent qu'une petite redevance soit versĂ©e Ă  des types particuliers de nƓuds. Des frais faibles (ou mieux, des frais nuls) sont intĂ©ressants pour les micropaiements, car ils ne sont pas envisageables sur des rĂ©seaux avec des frais importants.


Aucun problÚme de scalabilité

Sans contrainte de temps de bloc, les DAG peuvent traiter beaucoup plus de transactions par seconde que les rĂ©seaux blockchain traditionnels. Beaucoup de promoteurs pensent que cela les rendra prĂ©cieux dans les cas d'utilisation de l'Internet des objets (IoT), oĂč tous les types d'objet et machines interagiront entre eux.


Les inconvénients des DAG

Pas entiÚrement décentralisé

Les protocoles qui reposent sur des DAG ont différents éléments de centralisation. Pour certains, il s'agit probablement d'une solution à court terme pour initialiser le réseau, mais il reste à savoir si les DAG peuvent prospérer sans l'intervention de tiers. Si ce n'est pas le cas, ils s'ouvrent à des vecteurs d'attaque qui pourraient finalement paralyser leurs réseaux.


Non testé à grande échelle

Bien que les cryptomonnaies basées sur les DAG existent depuis quelques années, elles ont encore un long chemin à parcourir avant de voir leur utilisation se généraliser. Par conséquent, il est difficile de prédire les incitations que les utilisateurs pourraient recevoir pour maintenir le systÚme à l'avenir.


Pour conclure

Les graphes orientés acycliques sont certainement une technologie intéressante pour construire des réseaux de cryptomonnaies. Jusqu'à présent, il y a relativement peu de projets qui utilisent cette structure de données, et ils n'ont pas encore évolué complÚtement.
Cela dit, s'ils peuvent exploiter leur potentiel, ils pourraient alimenter des Ă©cosystĂšmes extrĂȘmement Ă©volutifs. La technologie DAG prĂ©sente une myriade de cas d'utilisation dans des domaines qui exigent un dĂ©bit Ă©levĂ© et l'absence de frais, comme dans l'Internet des objets (IoT) et les micropaiements.
Partager des publications
S’inscrire pour un compte.
Mettez vos connaissances en pratique en ouvrant un compte Binance dùs aujourd’hui.