Ethereum, une mise à jour qui tourne mal : ce bug paralyse 12 % du réseau

Collectionnez les articles du JDC en NFT

Collecter cet article

Il existe plusieurs logiciels clients pour Ethereum. Ces derniers permettent aux différents nœuds de se synchroniser avec le réseau. Depuis la mise à jour d’OpenEthereum (le successeur de Parity), un bug rend inutilisables les nœuds correspondants.

Un bug rendant la synchronisation avec Ethereum impossible

La société Parity Technologies avait arrêté de maintenir son célèbre logiciel client éponyme en décembre 2019. Cette décision fut la conséquence de coûts opérationnels trop élevés. C’est alors qu’OpenEthereum a vu le jour. Il s’agit d’une DAO (organisation autonome décentralisée) de développeurs, fondée par Gnosis.

OpenEthereum développe ainsi le logiciel client ayant succédé à Parity. La version 2.7.2 est sortie le 6 février 2020, et quelques mois après sortit la version 3, basée sur le même code. Malheureusement, si tout s’était bien passé lors du déploiement, un bug est révélé depuis juin.

La communauté des utilisateurs du logiciel a ainsi commencé à observer des blocages intempestifs du logiciel. Ces freezes nécessitent le redémarrage manuel du nœud. Le logiciel client n’en notifie pas l’opérateur, et la synchronisation suivante peut prendre beaucoup de temps. Ce souci gênant apparaît de façon aléatoire, plusieurs fois par mois. Cela affecte la moitié des nœuds Parity et la totalité des nœuds OpenEthereum, soit 12 % du réseau Ethereum.

Ethereum nodes répartition

L’explication : il s’agit d’un problème au niveau du système de priorisation des tâches. Dans certains cas où plusieurs tâches s’exécutent en parallèle, le logiciel crée une boucle infinie. Deux tâches vont attendre indéfiniment que l’autre soit exécutée, paralysant l’ensemble des processus.

Quelle(s) solution(s) pour pallier ce problème ?

Les développeurs d’OpenEthereum ont annoncé le retour à la dernière version réellement stable du logiciel (2.5).

Ainsi, la nouvelle version devrait être dévoilée à la mi-septembre, à l’occasion du prochain hard fork (berlin).

En attendant, les opérateurs des nœuds Ethereum concernés par ce bug doivent les rétrograder eux-mêmes. Et cela ne va pas être chose facile : il faudra à nouveau synchroniser entièrement sa blockchain. Une tâche qui peut prendre des mois pour certains nœuds :

L’équipe d’OpenEthereum travaille cependant sur un processus de conversion plus aisé :

Certains accusent OpenEthereum de négligence… Mais il faut bien avoir à l’esprit qu’Ethereum est un réseau expérimental et qu’il est impossible d’éviter tous les bugs.

En revanche, nombreux sont ceux qui plébiscitent l’approche multi-clients d’Ethereum. Avoir un grand nombre de logiciels clients, basés sur des approches de développement différentes, est une bonne chose. Lorsqu’une partie des nœuds éprouvent des problèmes, le reste prend le relais. Actuellement, 80 % des nœuds Ethereum utilisent Geth. Avoir une plus grande variété de logiciels clients amènerait plus de résilience au réseau.

Morgan Phuc

Cofounder @ 8Decimals & Partner @ Node Guardians - Making crypto great again - Journal du Coin / BitConseil

Commentaires

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


Recevez un condensé d'information chaque jour