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

Collectionnez les articles du JDC en NFT

Collecter cet article

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.

Commentaires

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


Maurice
« Vendredi, le service Cloudflare (un outil de mesure de temps développé par Google) s’est retrouvé hors-ligne pour quelques heures. » Cette phrase n'a malheureusement aucun sens. Cloudflare n'est pas "un outil de mesure de temps développé par Google"... Cloudflare n'a rien à voir avec Google. C'est une entreprise indépendante qui propose différents services : protection anti DDOS en particulier, mais aussi DNS, CDN, etc. Et donc Cloudflare, comme d'autres, propose entre autre le service Cloudflare Roughtime, parfois appelé Cloudflare Time Services : https://www.cloudflare.com/time/ Roughtime est le protocole éponyme de synchronisation d'horloges (permettant de mettre n machines d'accord sur l'heure qu'il est en gros, alternative au protocole standard NTP). Roughtime a été proposé par Google et est en attende de spécifications définitives pour en faire un standard : https://datatracker.ietf.org/doc/draft-ietf-ntp-roughtime/ Une phrase correcte aurait donc pu être : « Vendredi, le service Roughtime (reposant sur le protocole éponyme de synchronisation d'horloges entre ordinateurs proposé par Google) de Cloudflare (entreprise américaine proposant divers services de cloud et de réseau) s'est retrouvé hors ligne pour quelques heures. »
Répondre · Il y a 4 ans

Miky
Effectivement ! Assez fou qu'une blockchain s'appuie sur un service tiers qui plus est centralisé pour quelque chose d'aussi critique que la synchro entre les nœuds...
Répondre · Il y a 4 ans

Votre email ne sera pas publié. En publiant un commentaire, vous acceptez notre politique de confidentialité.


Recevez un condensé d'information chaque jour