Catallaxy démystifie un bogue sur Ethereum

Catallaxy démystifie un bogue sur Ethereum
Catallaxy démystifie un bogue sur Ethereum

Dans le cadre de ses activités de revue diligente et de vérification, Catallaxy analyse en profondeur les entrailles des chaînes de blocs, incluant la précision des données enregistrées, ainsi que tous les facteurs de risques associés à l’implémentation d’une chaîne de blocs. Suivant ses procédures d’analyses techniques, Catallaxy a récemment permis de déterrer un bogue dans la chaîne de blocs de la cryptomonnaie Ethereum.

En décembre 2018, lors d’une revue diligente de la chaîne de blocs Ethereum, l’équipe de Catallaxy a découvert un problème avec l’exactitude de certaines informations. En comparant ses résultats avec d’autres sources, Catallaxy a découvert que les résultats n’étaient pas tous les mêmes – un fournisseur d’informations, la compagnie russe Blockchair, avait des données différentes à propos de la valeur en « gas » (les frais payés en Ethereum) sur certaines transactions dans la chaîne de blocs au cours des dernières années.

Le Dr William Robinson, directeur principal de Catallaxy et expert en chaînes de blocs, explique comment ils ont commencé à soupçonner un problème avec l’Ethereum : « Nous payons des sources pour qu’ils nous fournissent leur point de vue sur les données contenues dans la chaîne de blocs. C’est en testant les données de nos différentes sources, dont celles de Blockchair, que nous avons remarqué des résultats incohérents ». Ethereum étant l’une des cryptomonnaies les plus utilisées, il était très important de démystifier cette différence d’information rapportée par les différents fournisseurs à propos de la quantité de « gas » dépensés sur certaines transactions dans les années antérieures.

La devise de Catallaxy : Ne pas faire confiance. Vérifier.

Catallaxy a alors émis l’hypothèse que certains fournisseurs d’informations étaient dans l’erreur. « Mais comme nous sommes attachés au fait de trouver des sources de qualité et que nous vérifions nos informations avec rigueur, nous voulions évidemment vérifier notre hypothèse », explique le Dr Robinson. Dans ses démarches de vérification, Catallaxy a constaté que « les données de certains fournisseurs étaient elles-mêmes contradictoires et qu’ils ne savaient pas vraiment d’où ça venait. ». Cette situation a donc poussé Catallaxy à aller plus loin dans ses recherches et à partager le problème lors de la Stanford Blockchain Conference, peu de temps après la découverte du bogue.

Un changement de protocole à l’origine du problème

Dans les premières années d’opération de Ethereum, lorsqu’on demandait au réseau de faire quelque chose d’impossible, le réseau imposait des frais pour éviter la perte de temps avec ces mauvaises transactions. Au fil du temps, Ethereum a abandonné ce système de pénalités qui alourdissait les échanges. C’est à partir de ce moment que le protocole de validation des transactions a changé. « Lorsque le lecteur API lisait le contenu des anciens blocs, parce qu’on n’avait pas corrigé le logiciel au moment du changement de protocole, celui-ci appliquait le mauvais protocole en lisant les anciennes données. » Ainsi, toutes les sources qui validaient les transactions utilisaient un nouveau logiciel lisant les anciennes données avec le nouveau protocole, ce qui rendait les données incohérentes. « Ce que nous avons découvert est que le code émis par la communauté Ethereum elle-même était erroné, de même que le lecteur Ether, le plus important lecteur d’Ethereum, était aussi dans l’erreur, en grande partie parce qu’il utilisait le code d’Ethereum. », raconte le Dr Robinson.

Ne rien tenir pour acquis

Même si la chaîne de blocs est transparente, il est primordial de toujours vérifier les données pour empêcher des erreurs et comme dans ce cas-ci, générer de faux montants d’Ethereum détenus par certains individus. Ce n’est qu’à la fin de ses vérifications que Catallaxy a pu élucider le problème et constater que c’est la communauté Ethereum qui était dans l’erreur dans sa façon de calculer les informations avant le changement de protocole. Un mois et demi après avoir affiché le bogue au colloque de Stanford, le bogue était corrigé par la communauté Ethereum. « Ça a été facile de réparer le problème, tout simplement en indiquant aux lecteurs API de lire les données des anciens blocs en fonction de l’ancien protocole. Maintenant, tout le monde est d’accord sur cet aspect du protocole et en ce qui a trait aux informations enregistrées dans le passé sur la chaîne de blocs. », conclut l’expert de Catallaxy.