Le coefficient de Nakamoto

Le coefficient de Nakamoto est un outil utile pour évaluer la robustesse et la résilience d’une blockchain ou d’un autre système décentralisé en mesurant son degré de décentralisation. Il représente le nombre de participants qu’il faudrait compromettre ou dont la collusion serait nécessaire pour réaliser une attaque sur le réseau.

Cette métrique a été initialement décrite en 2017 par Balaji Srinivasan, l’ancien directeur technique de Coinbase qui choisit de nommer cette mesure en l’honneur de Satoshi Nakamoto, le créateur présumé de Bitcoin. Pour créer cet indicateur, Srinivasan a combiné le coefficient de Gini et la courbe de Lorenz, habituellement utilisés pour analyser l’inégalité économique, afin de pouvoir quantifier la décentralisation des réseaux blockchain.

Un seuil critique qui diffère selon le consensus

Le coefficient de Nakamoto revêt une importance cruciale, car il permet aux utilisateurs et développeurs d’une blockchain de s’assurer de la fiabilité d’un réseau distribué. En effet, si un groupe de nœuds (validateurs) venait à être compromis ou à agir de manière malveillante et coordonnée, il pourrait tenter de modifier ou d’empêcher le réseau d’atteindre un consensus sur de nouveaux blocs.

Le niveau de risque varie en fonction du modèle de consensus sous-jacent, qu’il s’agisse de la preuve de travail ou de la preuve d’enjeu.

Dans le cas des blockchains fonctionnant sur le principe de la preuve de travail, telle que Bitcoin, toute personne ou groupe disposant de 51% de la puissance de calcul (hashrate) du réseau peut prendre le contrôle à sa guise. Cette entité pourrait alors effectuer des doubles dépenses et manipuler la chaîne de blocs.

Pour les réseaux basés sur la preuve d’enjeu, le seuil critique est fixé à 33,4% de l’offre verrouillée (enjeux) détenue par un seul nœud. Au-delà de ce niveau, ce nœud pourrait à lui seul corrompre la chaîne. Il est donc essentiel d’empêcher qu’un seul nœud ne dépasse ce seuil de 33,4% des droits de vote, afin de garantir le bon fonctionnement et la résistance à la censure du réseau. 

Les validateurs au sein d’un réseau blockchain n’auraient en réalité aucun intérêt à se regrouper pour détenir ensemble plus de 33,3% de la ressource en jeu (tokens, hashrate, etc.). En effet, une telle concentration du pouvoir de validation entre les mains d’une poignée d’acteurs pourrait engendrer une perte totale de confiance des investisseurs envers le réseau et la crypto monnaie sous-jacente. Cela risquerait de provoquer des vagues massives de vente, faisant alors drastiquement chuter la valeur de l’actif.

Ainsi, même si ces validateurs malveillants conservaient leur part majoritaire de 33,3% du réseau, la valeur économique de leurs avoirs deviendrait automatiquement nulle. Ils n’auraient donc aucun intérêt à s’organiser de la sorte, au risque de complètement détruire la crédibilité et la valeur du projet..

Comment est calculé le coefficient de Nakamoto ?

Revenons au coefficient de Nakamoto. Son calcul implique l’analyse de différents sous-systèmes de la blockchain, tels que les mineurs, les développeurs, les utilisateurs, les échanges, etc. Pour chaque sous-système, on évalue la répartition des ressources ou du contrôle. 

Le coefficient de Nakamoto est en effet calculé en utilisant des concepts statistiques tels que le coefficient de Gini et la courbe de Lorenz. Ces outils sont empruntés à l’économie pour évaluer l’inégalité dans la répartition des richesses, mais ils ont été adaptés au contexte de la blockchain pour évaluer la décentralisation. 

La courbe de Lorenz est utilisée pour représenter graphiquement la répartition des ressources ou du contrôle dans un système donné. Elle trace la proportion cumulée de la ressource en fonction de la proportion cumulée des nœuds du réseau. Cette courbe permet de visualiser clairement l’égalité ou l’inégalité dans la répartition du contrôle. Le coefficient de Gini, quant à lui, est un nombre compris entre 0 et 1 qui mesure l’inégalité dans la répartition des ressources. Plus le coefficient de Gini est proche de 0, plus la répartition est équitable, tandis qu’un coefficient proche de 1 indique une forte inégalité. 

En combinant ces deux concepts, le coefficient de Nakamoto évalue la décentralisation en mesurant à la fois la répartition des ressources et le contrôle dans différents sous-systèmes de la blockchain : 

  • Mining (Minage) : il s’agit de la quantité de récompenses que les utilisateurs reçoivent pour le minage dans un laps de temps donné. Cela inclut la répartition du pouvoir de hachage entre les mineurs.
  • Clients : le nombre d’utilisateurs pour chaque client ou logiciel utilisé pour interagir avec la blockchain. Cela peut refléter la diversité des utilisateurs et des interfaces.
  • Developers (Développeurs) : le nombre de commits (contributions de code) effectués par les développeurs au projet. Cela évalue la diversité des contributeurs au développement et à la maintenance du réseau.
  • Exchanges (Échanges) : le volume des échanges effectués sur la blockchain dans un laps de temps donné. Cela peut indiquer la concentration des transactions sur certaines plateformes d’échange.
  • Nodes (Nœuds) : la distribution des nœuds à travers les pays ou les régions géographiques. Cela évalue la répartition géographique du contrôle et de la participation au réseau.
  • Owners (Propriétaires) : la répartition des adresses de portefeuille individuelles qui détiennent des fonds sur la blockchain. Cela mesure la répartition de la richesse et du pouvoir économique sur le réseau.

D’autres mesures

Les objectifs d’une attaque peuvent varier : ralentir la production de blocs, influencer le consensus, tenter une double-dépense, censurer des transactions, diviser le réseau, ou simplement démontrer que le réseau peut être attaqué et nuire à sa réputation. La stratégie d’attaque dépend des dommages spécifiques que l’attaquant souhaite causer. Il est possible d’attaquer au niveau du réseau, par exemple en empêchant certains nœuds de participer au consensus. 

L’attaquant n’a pas besoin d’attaquer tous les nœuds du réseau pour rompre le consensus. Contrairement aux nœuds d’utilisateurs, ce sont les nœuds de production de blocs qui sont les plus importants à cibler. 

Il existe d’ailleurs d’autres mesures telles que le Vecteur d’Attaque Minimum (MAV) qui se concentre spécifiquement sur le minage. Il cherche à identifier le nombre minimum de mineurs nécessaires pour compromettre le réseau. Ou encore l’Indice de Décentralisation d’Édimbourg (EDI) est un autre indice développé par l’Université d’Édimbourg pour mesurer le niveau de décentralisation des cryptomonnaies, en complément du coefficient de Nakamoto.

Ma blockchain préférée est-elle centralisée?

Le site spécialisé Nakaflow.io offre un bon aperçu de la décentralisation des blockchains PoS.

Ici, plus le score est élevé, plus le réseau est décentralisé. Sans surprise, le faible nombre de validateurs de la BSC lui confère le petit score de 7 tandis que Solana améliore le sien jusqu’à atteindre 21, signe que le réseau tend à se décentraliser.

A l’inverse, Ethereum est ici le mauvais élève de la classe avec un score de 1, soit le plus bas mesuré, mettant en lumière un niveau inquiétant de concentration de pouvoir au sein de l’écosystème Ethereum. Cela s’explique par Lido et Coinbase qui détiennent à eux seuls environ 45% de réseau comme l’indique ce classement sur la répartition des pools de staking sur le réseau Ethereum :

D’ailleurs, selon les données de Ethernods, environ 70,5% des nœuds Ethereum sont exécutés sur des services hébergés dont 33% sur AWS. Cela signifie que presque un quart du réseau est hébergé sur AWS…