Qu’est-ce que GhostDAG de Kaspa et comment fonctionne-t-il ?

Qu’est-ce que GhostDAG ?
GhostDAG (Greedy Heaviest Observed SubTree Directed Acyclic Graph) est un mécanisme de consensus utilisé par Kaspa. GhostDAG a été développé comme une extension du modèle de consensus Proof-of-Work classique de Bitcoin, développé par Satoshi Nakamoto. La principale différence : GhostDAG est appliqué à un Directed Acyclic Graph (DAG) plutôt qu’à une blockchain linéaire. Un Directed Acyclic Graph (DAG) est une structure de données dans laquelle les blocs ne sont pas placés dans une seule chaîne droite, mais sous forme d’un réseau de nœuds avec plusieurs connexions, où chaque nouveau bloc peut référencer plusieurs blocs précédents sans qu’il y ait de connexions cycliques (récurrentes). Si cela se produisait, un bloc finirait indirectement par se référencer lui-même. Cela rendrait alors l’ordre des transactions ambigu, et le réseau ne pourrait plus maintenir un historique fiable.
Dans les blockchains traditionnelles, un seul bloc par unité de temps est accepté (aussi appelée block time), tandis que les blocs concurrents sont rejetés comme des « orphans ». GhostDAG rompt ce modèle en autorisant des blocs parallèles et en les intégrant dans une structure de données partagée (blockDAG). Kaspa peut ainsi atteindre des vitesses de transaction plus élevées avec moins de puissance de calcul, et donc moins d’énergie. En plus, la décentralisation est préservée et même renforcée, car les miners ne sont plus en concurrence pour valider un seul bloc : presque tous les blocs produits contribuent au réseau, ce qui abaisse la barrière à l’entrée et concentre moins le pouvoir entre les grandes mining pools.
GhostDAG constitue ainsi une interprétation clairement différente de la manière dont le consensus Proof-of-Work peut être appliqué.
À retenir
- GhostDAG est le protocole de consensus actuel du réseau Kaspa et constitue la base de son fonctionnement.
- Il utilise un paramètre k fixe pour atteindre le consensus au sein du réseau.
- Le protocole permet de traiter plusieurs blocs en parallèle au sein d’une structure BlockDAG.
- Le réseau peut ainsi traiter les transactions plus rapidement et plus efficacement que les blockchains traditionnelles.
- GhostDAG conserve un modèle de sécurité robuste : le réseau reste sûr tant qu’un attaquant contrôle moins de 50% de la hashpower.
- Il est utilisé quotidiennement en pratique et a fait ses preuves en tant que solution stable et scalable.
Comment fonctionne GhostDAG ?
GhostDAG fonctionne sur la base d’une structure blockDAG, dans laquelle les blocs peuvent avoir plusieurs « parents » (blocs précédents) et être ajoutés simultanément au réseau. Au lieu d’une chaîne droite de blocs, il se forme un réseau de blocs connectés entre eux. Cela permet de gérer beaucoup plus efficacement les blocs trouvés simultanément.
Le fait que les blocs puissent avoir plusieurs blocs précédents est immédiatement la grande différence par rapport aux blockchains traditionnelles comme Bitcoin, Ethereum et Solana. Ici, il n’existe toujours qu’un seul ordre et un seul bloc peut être ajouté à la blockchain à la fois.
Exemple : lorsque deux miners trouvent un bloc en même temps, un conflit se produit et, au final, l’un des deux blocs est rejeté (un orphan block).
Avec GhostDAG, plusieurs blocs peuvent coexister en même temps, les nouveaux blocs peuvent référencer plusieurs blocs antérieurs et les blocs ne sont pas rejetés. Cela crée un système efficace qui exploite au mieux la puissance de calcul mobilisée par les miners.
En bref : un blockDAG et une blockchain sont tous deux des types de distributed ledger, mais ils diffèrent par leur structure et leur traitement : une blockchain fonctionne comme une chaîne linéaire de blocs ajoutés un à un, tandis qu’un blockDAG utilise une structure en réseau dans laquelle plusieurs blocs peuvent être ajoutés simultanément et en parallèle.
Algorithme Greedy Heaviest Subtree
La question logique est donc : comment le réseau détermine-t-il quel bloc arrive « avant » lorsque plusieurs blocs sont créés en même temps ?
C’est géré par l’algorithme Greedy Heaviest Subtree (GhostDAG). Cet algorithme, intégré dans le code de Kaspa, aide les nodes à mettre de l’ordre dans tous les blocs entrants.
En pratique, cela fonctionne comme suit : les nodes collectent tous les blocs qu’ils reçoivent, puis examinent quel groupe de blocs a demandé au total le plus de puissance de calcul (hashpower) pour être créé. Chaque bloc contient en effet une certaine quantité de travail (proof-of-work), et en les additionnant, on obtient un total. Plus ce total est élevé, plus il est difficile de recréer cette structure ou de l’attaquer, et plus elle est considérée comme fiable.
Sur cette base, chaque node détermine pour lui-même le meilleur ordre des blocs. Comme tous les nodes suivent les mêmes règles, ils aboutissent finalement à pratiquement le même ordre. Cela crée le consensus dans le réseau.
Blue set vs red set
Un autre élément important de GhostDAG est que les blocs sont classés en deux catégories : les blue blocks et les red blocks :
- Blue blocks : ce sont les blocs qui s’intègrent bien dans la structure principale du réseau et sont suffisamment connectés aux autres blocs.
- Red blocks : ce sont les blocs qui s’alignent moins bien, par exemple parce qu’ils s’écartent trop ou qu’ils ont trop peu de connexions.
Contrairement aux blockchains traditionnelles, les red blocks ne sont pas rejetés comme des orphans, mais restent partie intégrante du réseau et jouent un rôle moindre dans l’ordre final des transactions.
Cette classification aide le réseau à déterminer rapidement quels blocs sont « suffisamment fiables » pour être prioritaires, sans perte d’informations précieuses.
Le whitepaper de GhostDAG
Le whitepaper de GhostDAG constitue la base théorique du mécanisme de consensus utilisé dans Kaspa et vise à résoudre le trilemme de la blockchain : le défi consistant à atteindre simultanément la scalabilité, la sécurité et la décentralisation.
Il s’appuie sur le protocole PHANTOM, une proposition académique qui a été la première à tenter d’ordonner de manière sûre un blockDAG. Bien que PHANTOM fût solide sur le plan théorique, il s’est avéré difficile à implémenter efficacement dans la pratique. GhostDAG a été développé comme une variante pratique et efficiente, qui conserve les mêmes principes mais est plus scalable dans un réseau réel.
Atteindre le consensus
L’une des contributions majeures du whitepaper est l’extension du modèle de consensus Nakamoto classique, en atteignant le consensus à l’aide d’une structure DAG plutôt qu’une seule chaîne de blocs linéaire. Cela signifie que plusieurs blocs peuvent être produits en même temps, sans gaspillage de puissance de calcul, notamment grâce à l’utilisation des blue et red blocks. Les blockchains traditionnelles ne peuvent traiter qu’un bloc à la fois, ce qui conduit à rejeter les autres blocs trouvés comme des orphan blocks.
Préserver la fiabilité des blocs
Un élément central dans GhostDAG est le paramètre k. Ce paramètre détermine combien de blocs simultanés sont encore considérés comme « sûrs » et fiables dans le réseau. Autrement dit : il indique combien de divergence (due à la latence du réseau ou à une production de blocs simultanée) reste acceptable sans mettre en danger la sécurité. Le choix de k dépend de facteurs tels que la latence du réseau et la vitesse de production des blocs, et joue un rôle important dans l’équilibre entre vitesse et sécurité.
Sécurité
Comme pour Bitcoin, le modèle de sécurité de GhostDAG repose sur l’hypothèse qu’un attaquant contrôle moins de 50% de la puissance de calcul totale (hashpower). Tant que cette condition est respectée, il est extrêmement difficile pour un attaquant de manipuler l’ordre des transactions ou de réécrire le réseau.
Amélioration de la throughput
Un objectif important de GhostDAG est d’augmenter la throughput (le nombre de blocs et de transactions pouvant être traités par seconde). Comme les blocs ne sont plus en concurrence mais combinés, le réseau peut produire des blocs beaucoup plus rapidement.
Contrairement aux blockchains traditionnelles, une fréquence de blocs plus élevée n’entraîne pas automatiquement davantage de forks ou de blocs gaspillés. Ainsi, GhostDAG peut atteindre une scalabilité nettement plus élevée sans concessions sur la sécurité.
Différence entre GhostDAG et DAGKnight
DAGKnight peut être considéré comme la prochaine évolution de GhostDAG. Là où GhostDAG utilise un paramètre k fixe (basé sur des hypothèses telles que la latence du réseau), DAGKnight est conçu sans paramètre fixe et s’adapte dynamiquement aux conditions actuelles du réseau.
DAGKnight est ainsi plus flexible et plus résistant aux fluctuations du réseau, comme les retards ou les pics d’activité. Les deux protocoles conservent le même modèle de sécurité, dans lequel le réseau reste sûr tant qu’un attaquant contrôle moins de 50% de la hashpower totale.
À l’heure actuelle, GhostDAG constitue la base active du réseau Kaspa et est utilisé quotidiennement pour traiter les transactions et atteindre le consensus. DAGKnight est encore en développement et est considéré comme une future mise à niveau du protocole.
En bref : GhostDAG est le moteur actuel de Kaspa, tandis que DAGKnight est développé comme un successeur plus flexible et plus scalable qui s’adapte dynamiquement aux conditions du réseau.
Quel rôle GhostDAG joue-t-il au sein de Kaspa ?
1. Infrastructure core :
GhostDAG constitue la base du réseau Kaspa et détermine comment tout fonctionne. Il garantit que les transactions sont placées dans le bon ordre, valide les nouveaux blocs et fait en sorte que tous les nodes du réseau se mettent d’accord entre eux (consensus).
2. Grande vitesse et scalabilité :
Grâce à GhostDAG, plusieurs blocs peuvent être traités simultanément, ce qui permet à Kaspa de produire plusieurs blocs par seconde. Cela conduit à une vitesse de traitement élevée (throughput) sans que le réseau ne se centralise.
3. Pas de mining gaspillé :
Contrairement aux blockchains traditionnelles, les blocs ne sont pas jetés s’ils sont trouvés en même temps. Presque tous les blocs sont utilisés au sein du blockDAG, ce qui permet d’exploiter plus efficacement la puissance de calcul (hashpower) utilisée.
4. Préservation des principes Proof-of-Work :
GhostDAG permet à Kaspa de conserver les principales propriétés du Proof-of-Work, telles que la décentralisation, la sécurité fondée sur la hashpower et un réseau ouvert (permissionless). En même temps, il ajoute la scalabilité d’une structure DAG.
En résumé
GhostDAG constitue le cœur du réseau Kaspa et montre comment une structure BlockDAG peut fonctionner efficacement et en toute sécurité dans la pratique. En utilisant un paramètre k fixe, le protocole parvient à trouver un bon équilibre entre vitesse, sécurité et consensus, même dans un réseau avec de nombreux blocs simultanés.
Bien que de nouveaux développements comme DAGKnight soient en train d’émerger, GhostDAG prouve déjà aujourd’hui qu’il s’agit d’une solution robuste et scalable pour traiter les transactions. Il constitue ainsi une étape importante dans l’évolution des réseaux distribués et pose les bases de futures innovations au sein de l’écosystème Kaspa.