Ethereum vient de vivre un de ces moments où la grande histoire est ce qui ne s’est pas mal passé.
Un bug dans le logiciel client Nethermind d’Ethereum – utilisé par les validateurs de la blockchain pour interagir avec le réseau – a assommé dimanche une partie des principaux opérateurs de la chaîne.
C’était un incident gérable, mais l’épisode a relancé un débat de longue date dans l’écosystème Ethereum autour de la nécessité d’une « diversité des clients ». Certains experts ont profité de l’occasion pour souligner à quel point les choses auraient pu être si un autre logiciel client, Geth, le client d’exécution le plus populaire de la chaîne, avait disparu ; la question est de savoir si Ethereum aurait pu continuer puisque Geth se présente comme un possible point de défaillance unique pour le réseau.
Nethermind est un logiciel qui alimente environ 8 % des validateurs qui exploitent Ethereum, et le bug de ce week-end était suffisamment critique pour mettre ces validateurs hors ligne.
Ethereum est resté opérationnel malgré le problème, et les développeurs de Nethermind ont publié un correctif corrigeant le problème en quelques heures. La principale conséquence du bug a été que de modestes sanctions financières ont été infligées à certains validateurs basés sur Nethermind.
Mais l’incident de Nethermind fait suite à une panne similaire début janvier qui a affecté Besu, le logiciel client derrière environ 5 % des validateurs d’Ethereum, et les pannes consécutives ont relancé une discussion animée sur X, la plate-forme anciennement connue sous le nom de Twitter, autour du problème persistant d’Ethereum avec la diversité des clients. L’idée est que le réseau devient plus résilient s’il ne dépend d’aucun logiciel client unique.
Autour 85 % des validateurs d’Ethereum sont actuellement alimentés par Geth, le logiciel client d’exécution le plus populaire d’Ethereum. Les récentes pannes suscitent de nouvelles inquiétudes quant au fait que la position dominante de Geth sur le marché pourrait avoir de graves conséquences si jamais des problèmes survenaient avec sa programmation.
Geth, qui signifie « Go Ethereum », est principalement développé et maintenu par la Fondation Ethereum, la principale organisation à but non lucratif qui soutient le développement d’Ethereum. Geth n’a pas été totalement à l’abri des bugs (aucun logiciel ne l’est), mais il n’a jamais souffert d’une panne critique comme celles qui ont frappé Nethermind et Besu. Si tel était le cas, les conséquences seraient bien plus graves pour Ethereum.
Selon la nature du bug, un problème de Geth pourrait arrêter l’ensemble du réseau, empêchant les validateurs d’ajouter de nouveaux blocs à la blockchain. Ethereum est également programmé pour pénaliser les validateurs qui se déconnectent ou enfreignent les règles du réseau, ce qui signifie que des milliers de validateurs basés sur Geth pourraient être tenus financièrement responsables en cas de bug, et les sanctions pourraient être encore plus lourdes si le bug s’avère difficile à corriger.
Notamment, certains des principaux services qui mettent en jeu Ethereum au nom des utilisateurs – transformant efficacement les gens en validateurs avec moins de maux de tête – s’appuient sur Geth pour alimenter leurs opérations.
Cygaar, un éducateur en crypto, a noté dans un article X que “Ethereum a une terrible diversité de clients”, ajoutant que “Un problème critique dans Geth peut potentiellement conduire à la destruction de millions d’ETH par les validateurs exécutant Geth.”
Cygaar a cité des données du site Web exécution-diversity.info, notant que les échanges cryptographiques populaires comme Coinbase, Binance et Kraken sont tous comptez sur Geth pour gérer ses services de jalonnement. “Les utilisateurs impliqués dans les protocoles qui exécutent Geth perdraient leur ETH” en cas de problème critique”, a écrit Cygaar.
DCinvestor, un investisseur cryptographique pseudonyme très suivi sur les réseaux sociaux, a affirmé dans un article X qu’ils retiraient leurs fonds mis en jeu de Coinbase jusqu’à ce que la société change ses opérations de validation vers un système qui dépend moins du client Geth. “Je ne peux pas ignorer les risques de ce qui semble être une configuration de staking pour un seul client (dépendant de Geth) à l’heure actuelle”, a écrit DCinvestor, ajoutant que “je pourrais perdre un pourcentage important de mon dépôt” si les choses tournent mal. .
Pour Daniel Hwang, expert en validation qui dirige l’incubateur Kintsugi Tech, l’attention portée à la diversité des clients d’Ethereum vient en partie du fait que le réseau est soumis à des normes plus élevées que celles des chaînes concurrentes.
“Presque toutes les autres chaînes n’ont pas le type de diversité de clients qu’Ethereum a”, a déclaré Hwang à CoinDesk dans une interview. “La plupart ne fonctionnent que sur un seul client.”
“Je pense que la barre est peut-être simplement placée plus haut pour Ethereum parce qu’il s’agit de la chaîne de contrats intelligents dominante”, a-t-il déclaré.
Bien que Geth ait un solide historique de fiabilité, Hwang affirme que de nombreux validateurs d’Ethereum l’utilisent par défaut (plutôt que des alternatives comme Nethermind) par paresse. D’après son expérience, les validateurs « ne font pas leurs propres recherches » sur les forces et les faiblesses des logiciels clients concurrents.
La Fondation Ethereum exhorte les validateurs à aider améliorer la diversité des clients, comme le font certains ses chercheurs. Développement de Nethermind a également été financé, en partie, par une subvention de la Fondation Ethereum en 2018.
Hwang a comparé la domination continue de Geth à un vieil adage commercial : « Personne n’est licencié pour avoir acheté IBM ». En d’autres termes, si tout le monde utilise Geth, il serait alors difficile de blâmer un validateur débutant de l’utiliser également – même si les choses finissent par mal tourner.
Contre-intuitivement, Hwang voit une lueur d’espoir dans les récents bugs de Nethermind et Besu.
“Je ne veux pas dire que c’est formidable qu’un client ait subi un bug, mais je pense que c’est formidable si cela commence à amener les gens à réfléchir aux responsabilités”, a-t-il déclaré. “Les validateurs auraient dû vérifier ces choses par eux-mêmes au lieu de simplement les choisir dans les rayons d’un supermarché, puis de lever la main lorsque les choses tournent mal.”