Qu'est-ce que le DAG dans le minage ?

Vous avez sans doute déjà entendu parler du DAG dans le minage.

Le DAG (Directed Acyclic Graphs en anglais) est une construction mathématique et informatique qui permet la création de systèmes et de réseaux distribués présentant de nombreuses similitudes fonctionnelles avec ceux proposés par les blockchains.

Le DAG est un graphique acyclique dirigé. Il est notamment utilisé par la cryptomonnaie Ethereum Classic et d’autres cryptomonnaies fonctionnant dans un système Proof of Work.

Semblable aux blockchains, le DAG s’installe peu à peu comme une technologie intéressante dans le cadre du minage, notamment lorsque les mineurs utilisent des cartes graphiques dans leur activité.

Dans cet article, nous allons découvrir ce qu’est le DAG et son fonctionnement, ainsi que la taille et le fichier DAG dans le minage des cryptomonnaies. 

Définition du DAG dans le minage

La création de technologie blockchain par Satoshi Nakamoto était une révolution technologique. Depuis, de nombreux développements ont tenté de se positionner comme la prochaine grande étape. D’où la création du DAG.

Le DAG est une construction connue dans le monde mathématique et informatique depuis de nombreuses années. L’étude de ce type de structures a commencé en 1878, lorsque James Joseph Sylvester, mathématicien anglais, a commencé ses études de graphes. C’est à ce moment que l’on se rend compte que le DAG est une technologie plus ancienne que la blockchain !

Avec le minage des cryptomonnaies, le DAG a retenu l’attention de part sa possibilité technique de construire des systèmes distribués identiques à ceux créés à l’aide de la blockchain. Cette technologie est considérée comme un outil capable d’offrir la fonctionnalité de la blockchain, promettant également d’importantes améliorations.

Le DAG est connu depuis le développement des théories des graphes en mathématiques et qui ont ensuite été utilisées en informatique. Lorsque nous parlons de DAG, nous parlons d’un graphe avec deux propriétés. D’une part, le DAG est dirigé, d’autre part, le DAG est acyclique.

Un graphe est dirigé lorsque tous les sommets (on parle de blocs dans une blokchain) qui font partie du graphe sont reliés par des arêtes (comme le hachage) qui indiquent une direction bien définie.

Un graphique est acyclique quand un graphe ne dispose pas de cycles de déplacement. En d’autres termes, il est impossible d’aller d’un sommet du graphe, de passer par le reste de ses sommets et de se terminer au sommet où le graphe a commencé. 

Définition: Un DAG est donc un graphe orienté fini, sans cycles dirigés. Cela veut dire que ses sommets sont reliés par des arêtes avec une direction spécifique et le tracé du graphe entier nous emmène du point A au point B, sans avoir la possibilité de revenir en aucun cas au point A.

Mais quel est le rapport entre les graphes et le minage des cryptomonnaies (d’ailleurs, n’hésitez pas à venir miner chez Cruxpool 😉) ?

Une blockchain repose sur des informations regroupées en ensembles. Ces informations sont liées de manière ordonnée et cryptographique à un ensemble précédent. Cette relation ne peut être rompue à aucun moment dans la blockchain sans remplacer immédiatement les blocs suivants.  

How a blockchain works?

La structure de jonction de blocs associée à une blockchain permet de créer une forte immuabilité. Si la blockchain est modifiée, un fork est généré.

Nous pouvons faire la même chose avec un DAG !

Exemple of a DAG in mining

À travers ce schéma (inspiré de celui de Bit2Me), nous pouvons constater qu’il existe une relation entre les sommets (les blocs) et que cette relation est donnée par les arêtes (le hachage). Si une arête est modifiée dans le DAG, sa relation est réécrite, générant un nouveau DAG, et donc une histoire différente (comme un fork dans la blockchain).

À savoir qu’il est aussi possible de recréer la même relation donnée dans la blockchain en utilisant ce type de graphe. 

Propriétés du DAG dans le minage

Les DAG ont certaines propriétés vitales pour leur fonctionnement.

Tout d’abord, ils ont un point de départ et un point d’arrivée. En étant dirigé, cela garantit que notre itinéraire va toujours d’un point d’origine à un point final, et nous ne pouvons pas revenir sur cet itinéraire. Si la construction de cette structure est appliquée consécutivement, nous créerons un historique incrémentiel au sein du DAG. Tout comme dans une blockchain.

Ensuite, la modification d’une relation entre les sommets réécrit l’ensemble du DAG, car sa structure et son poids ont changé. Cela équivaut à une modification d’un bloc dans la blockchain.

Les DAG sont aussi parallélisables. En effet, un DAG peut avoir une génération parallèle et des chemins de valeur différente entre différents sommets. Cela optimise sa génération et la capacité de vérifier la relation entre les sommets et les informations qu’ils contiennent.

De plus, une propriété unique des DAG est que leur structure peut être réduite à un point optimal où leur chemin rencontre toutes les relations qui y sont spécifiées sans aucune perte. Cela signifie essentiellement qu’il est possible de réduire les relations des sommets à un point minimum où une telle réduction n’affecte pas la capacité de vérifier les informations d’un sommet à tout moment. 

DAG VS blockchain : Quelles différences ?

Quel est donc le meilleur choix entre un DAG et une blockchain ?

La réponse à cette question est complexe et y répondre dépend de la mise en perspective de plusieurs choses.

Par rapport à la blockchain, les DAG sont une technologie qui reste expérimentale dans le contexte du minage des cryptomonnaies.

La création d’un système de minage et le consensus est beaucoup plus complexe dans un DAG. La manière dont les blocs peuvent être générés, créer des relations entre eux, réduire lesdites relations sans pertes, entre autres fonctions, ajoute un niveau supérieur de complexité algorithmique.

Il n’y a pas de mineurs à proprement parler dans un DAG comme dans une blockchain, donc il n’y a pas paiement d’honoraires ou de commissions de grande valeur. Grâce à la facilité de validation cryptographique, les gains des nodes pour les transactions confirmées sont récupérés par le volume total de transactions suivies, et ce parmi les autres services que le nœud peut fournir.

Il est aussi intéressant de savoir que les transactions dans un DAG créent un schéma appelé « transactions à double engagement ». Cela signifie qu’une transaction avec seulement deux confirmations peut être considérée comme irréversible, ce qui peut prendre quelques secondes grâce au travail parallèle du réseau. 

Taille du DAG and fichier DAG dans le minage

Il est crucial de connaître la taille actuelle et à venir d’un fichier DAG. En effet, un fichier DAG a un impact majeur sur la vitesse de minage des cryptomonnaies.

Le fichier DAG se trouve directement dans la mémoire VRAM d’une carte graphique. Mais, si le fichier DAG à une taille plus grande que celle de la mémoire de la carte graphique, alors cette dernière deviendra inutile.

En savoir plus sur comment optimiser son minage avec le hashrate des cartes graphiques.

Pour savoir quelle sera la taille future du DAG, on peut utiliser une calculatrice ou bien consulter le tableau sur des sites spécialisés pour connaître la fin de l’exploitation avec une certaine carte graphique.

Le fichier DAG change de taille à chaque nouveau palier. Un nouveau palier est créé après un total de 30 000 blocs minés (équivalence d’1 epoch pour Ethash). La vitesse croissante de l’évolution de la taille du fichier DAG dépend directement du temps que dure la recherche d’un bloc.

Cependant, le temps d’extraction d’un bloc n’est pas stable, il peut varier entre 10 et 60 secondes en fonction de la cryptomonnaie minée. Ainsi, le temps que prend chaque palier n’est pas défini en termes de durée, mais en termes de blocs.

En moyenne, le fichier DAG augmentait d’un facteur de 0,72 par an pour Ethereum. Pour d’autres cryptomonnaies dont les blocs sont plus longs à être générés, cette durée de recherche des fichiers DAG augmente plus doucement et la carte graphique peut donc fonctionner plus longtemps. 

Le DAG est une technologie performante, tout comme la blockchain. Il est d’ailleurs un élément primordial si vous souhaitez faire du dual mining. En tout cas, nous espérons que cet article vous aidera à y voir plus clair sur le DAG dans le minage.

N’hésitez pas à nous rejoindre sur le Discord de Cruxpool si vous avez des questions ou tout simplement envie de rejoindre notre communauté de mineurs !