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 blocsincluant la précision des données enregistrées, ainsi que tous les facteurs de risques associéà 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 2018lors d’une revue diligente de la chaîne de blocs , Ecomparant 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 Ethereumsur certaines transactions dans la chaîne de blocs au cours des dernières années. 

Le Dr William Robinsondirecteur 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. 

Catallaxy prend très au sérieux la devise de l’écosystème de la chaîne de blocs : 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 rigueurnous 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 dEthereum.», 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.