Ethereum : Casper pour décentraliser le minage ?

Sans aller jusqu’à imaginer une attaque des 51%, ça ne peut pas faire de mal. Courant juin, je vous avais présenté un article de recherche rédigé par Matthias De Aliaga, data scientist chez Token Analyst. Cet article s’intéressait tout particulièrement à la répartition des richesses sur le réseau Ethereum, en fonction des types d’utilisateurs du réseau. Et, le moins que l’on puisse dire, c’est que ces richesses étaient principalement captées par une petite élite.

Matthias De Aliaga a remis le couvert peu de temps après, cette fois pour traiter d’un autre aspect d’Ethereum : l’état actuel globalement centralisé de ses pools de minage. Comme nous allons le voir ensemble, lors de son analyse (datant elle aussi de juin), le tableau n’était pas folichon. Pour autant, d’après lui, ça n’est pas une fatalité.

Notez bien que le présent article est donc tiré du travail de M. De Aliaga, disponible en anglais ici. Les illustrations utilisées sont également tirées dudit article.

Également, l’ensemble des données considérées par l’auteur datent de début juin et pourraient se trouver modifiées par certains changements se préparant pour Ethereum. Notamment l’on peut penser au prochain hardfork Constantinople, la modification du block reward (récompense), le report de la bombe de difficulté, et sur un horizon plus large le passage en Proof Of Stake, il est de rigueur de garder un œil critique sur les conclusions de cette étude.

Mineur d’ETH à l’oeil critique (Allégorie)

Les pools de minage et la centralisation inhérente

Commençons par rappeler rapidement le principe d’une pool de minage : dans le but de percevoir un revenu plus stable dans le temps, les mineurs contribuant à la création cryptomonétaire et à la validation des transactions du réseau se groupent en différentes pools de minage. Le but : mettre en commun de la puissance de calcul (hashrate) puis se partager les récompenses tirées de chaque nouveau bloc miné. En contrepartie, des frais sont récupérés par chaque pool centralisatrice (de 0 à 2%, grosso modo).

Proportion de blocs minés pour les principales pools de minage, entre le 4 juin et le 11 juin

Si d’aucuns s’interrogent plus ou moins régulièrement sur la notion de centralisation inhérente aux pools de minage, il convient de signaler que cette “centralisation” n’est pas aussi abrupte qu’il n’y paraît. Certes, sur le principe, l’opérateur centralisateur est le maître à bord et il peut décider de quelles transactions sont traitées ou non. Pour autant, dans les faits, un mineur ne fait que mettre à disposition sa force de travail pour la pool… tant qu’il l’accepte et ne la redirige pas ailleurs. Le pouvoir de nuisance est donc théoriquement limité.

L’auteur illustre ensuite l’état actuel de cette centralisation relative, en parallèle avec un modèle de mineurs individuels globalement répartis qui serait purement idéale.

Centralisation actuelle (à droite) comparativement à une transition vers un modèle plus décentralisé (à gauche), en fonction du hashpower global ; Source : Etherscan.io

Il est à noter qu’à l’heure actuelle, la dynamique tendrait quand même vers une poursuite de centralisation que vers une recherche de l’idéal, d’après l’auteur. Dans un monde idéal totalement décentralisé, il serait préférable d’avoir une vaste majorité de validateurs indépendants que des opérateurs centralisant des mineurs décentralisés.

Comme nous le verrons un peu plus tard, c’est supposément l’idée poursuivie avec le développement (puis le déploiement futur) de Casper, et le passage d’un fonctionnement en Proof-Of-Work à un fonctionnement en Proof-Of-Stake.

L’éternelle menace fantôme

Dans l’absolu, le risque d’une centralisation excessive du hashpower entre les mains d’une même entité (ou d’une collusion de mineurs malveillants) pourrait être une attaque des 51%. Pour rappel, il s’agit d’une attaque où une majorité des mineurs se met d’accord pour prendre de court le reste de leurs congénères et valider de leur côté leurs propres transactions. Dans cette situation, des attaquants pourraient à la fois réaliser des double-dépenses, modifier les transactions considérées comme valides dans les derniers blocs, et aussi jeter le discrédit sur la blockchain Ethereum.

Comme évoqué précédemment, cette situation reste hautement improbable dans l’immédiat, principalement pour une raison économique : il peut paraître illogique de voir une pool de minage faire volontairement couler le bateau Ethereum façon Titanic, simplement pour le plaisir de la destruction, alors que leurs revenus proviennent justement de cette blockchain.

Chacun veut sa (grosse) part du gâteau

Néanmoins, il n’empêche qu’aujourd’hui, les pools de minage peuvent être considérées comme centralisatrices, et peut-être excessivement par rapport au rêve des dApps et d’Ethereum fonctionnant comme un “super-ordinateur mondial décentralisé”.

Répartition des block rewards entre les différentes pools de minage, entre le 4 et le 11 juin

Sur cette période d’une semaine début juin, seulement 14 adresses différentes ont contribué à la validation effective des blocs de la blockchain Ethereum (39975 blocs, tout de même). De manière plus préoccupante, trois pools de minage seulement ont principalement contribué à la validation de ces blocs : Ethermine et Sparkpool ont totalisé 49,6% du hashrate global, un total qui monte à 64,1% si l’on intègre aussi f2pool. Encore une fois, ces chiffres ne sont qu’indicatifs et ne doivent pas être pris au pied de la lettre : ils ne font que montrer une fragilité potentielle, avec l’identification d’un point d’échec hypothétique.

La seule question soulevée en l’espèce est la suivante : une telle configuration, où le réseau Ethereum est principalement dépendant de 3 entités de mineurs, est-elle satisfaisante ?

Casper : une transition des pools, du minage au staking

Pour résumer très sommairement, le projet concernant le futur d’Ethereum est donc de changer la donne en passant du modèle actuel de Proof-of-Work à un modèle de Proof-of-Stake. Dans un modèle de Proof-of-Work, les mineurs sont rémunérés en fonction de la force de travail qu’ils peuvent fournir, et participent ainsi à la validation des transactions.
Dans un modèle de Proof-of-Stake, un validateur participera à la validation des blocs et sera rémunéré en fonction du montant en ETH qu’il verrouillera dans le réseau. Un montant minimum de 32 ETH est évoqué pour pouvoir participer.

Comme nous allons le voir, l’auteur considère qu’à terme, ce passage en PoS sera potentiellement bénéfique pour la décentralisation du réseau. Rappelons que d’autres variables entrent néanmoins en jeu, notamment le rôle des nœuds validateurs. Ces nœuds semblent être un autre point faible potentiel du réseau Ethereum, et un facteur de centralisation plus effective et immédiate en l’état. Pour rappel, j’avais déjà discuté cette question il y a quelques mois ici.

Répartition des richesses en ETH entre les différents groupes de possédants sur la Blockchain Ethereum

Mais le passage en PoS pourrait avoir des intérêts non négligeables, comme le relève l’auteur: du fait de la répartition très inégalitaire des ETH à l’heure actuelle, un système en PoS pourrait d’abord entraîner une centralisation accrue (entre les mains de ceux qui ont déjà tout), mais à terme provoquer la création de pools de staking. Sur le même modèle que les pools de minage actuels, des utilisateurs aux faibles balances en ETH pourrait se coaliser pour atteindre les minimas nécessaires au staking et participer eux-aussi. Dans une telle situation, à terme, les gros possédants ne seraient plus forcément autant favorisés, d’après Matthias De Aliaga : des pools de staking permettraient peut-être à plus de “petits” utilisateurs de participer au processus de validation, alors qu’aujourd’hui cela leur est tout bonnement impossible.

Comment rester honnête dans un système de staking ?

L’incitation économique principale qui différencie pools de minage et pools de staking est fondamentale :

  • Dans une pool de minage, le mineur ne fait que déléguer sa force de travail à la pool gestionnaire. Il ne risque que l’ETH qu’il n’a pas encore retiré de la pool en question. En cas de désaccord, il peut décider de diriger sa force de travail vers une autre pool.
  • Dans une pool de staking, le validateur joue littéralement sa peau. Le protocole prévoit un système de pénalités en cas de comportement délictueux, pénalités qui augmentent d’autant plus que la pool de staking est grande.

Théoriquement, cette pénalité représenterait 3 fois le pourcentage de participation de validation de la pool au réseau global.

Pénalité de staking non méritée (Allégorie)

Ainsi, si une pool comme Ethermine devenait une pool de staking et adoptait un comportement inadapté, du fait d’un hack par exemple, la pénalité pourrait représenter 75% de son volume de stake. A contrario, un “petit” validateur qui participerait seulement à valider pour 1% du réseau ne pourrait se voir pénaliser “que” de 3% de son volume de stake.ETH-centralisation

L’idée sous-jacente est donc d’inciter économiquement le staking à se décentraliser, avec un but idéal d’atteindre une décentralisation effective : non plus des grosses pools de minage comptant chacune pour 25% du réseau, mais une tendance des validateurs à se limiter à former de “petites” pools de staking. Encore une fois, et pour rappel, si les mineurs jouent à l’heure actuelle un rôle prépondérant dans le réseau du fait de sa forme de PoW, il faut bien envisager le rôle de contre-pouvoir des full nodes validateurs. En l’état, principalement gérés par la société Infura, ils sont loin d’être décentralisés.

L’avenir nous dira certainement de quel côté penchera la balance, et si les efforts déployés en théorie porteront bien leurs fruits en pratique.

[es_tradingview symbol= »ethusd » interval= »D » height= »350″ colors= »Light »]

Sources : Medium : lien1 ; lien2 ; Tokenanalyst || Images from Shutterstock & Giphy

Grégory Mohet-Guittard

Je fais des trucs au JDC depuis 2018. En ce moment, souvent en podcast et la tête dans le nuage.