Ethereum se paie une grosse frayeur – Catastrophe sur le testnet d’ETH 2.0, un correctif déployé en urgence

Catastrophe sur Ethereum 2.0Suite à un bug, le testnet Medalla est tombé hors-ligne pour quelques heures. Les développeurs se sont empressés de déployer un correctif, et le réseau est depuis reparti. Analysons l’affaire !

Notre avis sur Ethereum (ETH) »

Retour sur le testnet Medalla

Le dernier testnet d’Ethereum 2.0 a été déployé le 4 août dernier. Intitulé Medalla, celui-ci est le premier destiné aux utilisateurs. Ces derniers sont ainsi en mesure d’essayer et d’éprouver l’ensemble des fonctionnalités d’Ethereum 2.0 dans des conditions (quasi) réelles.

Ethereum

Medalla est un jalon important avant la publication d’Ethereum 2.0. En effet, si celui-ci tourne sans accroc pendant 3 mois, l’implémentation d’Ethereum 2.0 sera alors validée et le réseau sera prêt pour un déploiement sur le mainnet.

Malheureusement, tout ne se passe pas comme prévu.

La faute à Cloudflare

Ainsi, le 14 août un bug a entraîné la mise hors-ligne du réseau Medalla. En pratique, une majorité de nœuds se sont désynchronisés suite à l’arrêt d’un service tiers.

Vendredi, le service Cloudflare (un outil de mesure de temps développé par Google) s’est retrouvé hors-ligne pour quelques heures. Malheureusement, le client Prysm s’appuie sur Cloudflare pour synchroniser les horloges des utilisateurs lorsque celles-ci sont faussées.

De ce fait, une partie du réseau s’est retrouvé désynchronisé. Certains des nœuds ont connu un décalage allant jusqu’à 4 h. Les validateurs de blocs ont commencé à proposer des blocs futurs invalides et se sont retrouvés incapables de traiter correctement ceux en cours.

Suite à ce bug, seulement 5 % des validateurs étaient en mesure de valider correctement les blocs, contre 75 % auparavant.

Comme l’a souligné notre collègue Jonathan sur Twitter, cet événement aurait pu être catastrophique : s’il arrivait la même chose sur le mainnet, cela entraînerait la perte du collatéral pour une grande partie des nœuds.

En réalité, si un nœud n’est pas en mesure de valider correctement les blocs à plusieurs reprises, le protocole va déclencher le mécanisme de slashing. Ce dernier consiste à se servir dans le collatéral mis en gage par l’opérateur du nœud, en guise de sanction face à un comportement qui pourrait être interprété comme une tentative de triche.

Le retour à la normale

Évidemment, les développeurs de Prysmatic Labs se sont empressés de publier une série de correctifs, puis une mise à jour pour corriger le bug.

Pour ce faire, ils ont déployé Alpha.22, un correctif qui permet « des améliorations initiales de la synchronisation qui pourraient aider à résoudre les problèmes de synchronisation en cours dans le réseau de test Medalla », comme expliqué sur le GitHub.

Vitalik Buterin Ethereum

Ce bug fait intimement écho aux déclarations du co-fondateur d’Ethereum, Vitalik Buterin, qui a récemment affirmé qu’il avait potentiellement sous-estimé les difficultés techniques que présente Ethereum 2.0 :

« J’admets sans hésiter qu’Ethereum 2.0 est beaucoup plus difficile à mettre en œuvre que ce à quoi nous nous attendions d’un point de vue technique. », Déclaration de Vitalik Buterin durant le podcast de Peter McCormack

Suite à ce bug, le réseau Medalla prouve une fois de plus sa nécessité. En effet, il est primordial de découvrir et de corriger les potentiels bugs avant le déploiement final sur le mainnet. Cependant, cette découverte pourrait bien une fois de plus décaler la sortie d’Ethereum 2.0.

Renaud H.

Ingénieur en software et en systèmes distribués de formation, passionné de cryptos depuis 2013. Touche à tout, entre mining et développement, je cherche toujours à en apprendre plus sur l’univers des cryptomonnaies et à partager le fruit de mes recherches à travers mes articles.