Bug sur Chainlink : l’oracle intervertit les prix de l’or et de l’argent
La Finance Décentralisée (DeFi) est un tout jeune secteur, et de par cette jeunesse, elle n’est pas encore exempte de petites imperfections. Après l’exploitation d’un bug sur le protocole bZx il y a quelques jours, c’est désormais un problème sur une prévision de prix d’un oracle de Chainlink (LINK) qui a permis à quelques petits malins de s’en mettre plein les poches.
Quand un oracle rend l’argent-métal aussi cher que l’or !
Le projet Chainlink (LINK), qui vise à créer un pont entre les différentes blockchains et des données du monde réel, a récemment défrayé la chronique, en surperformant les poussées à la hausse de Bitcoin (BTC), et en atteignant de nouveaux all-time-high (ATH) à plus de 4$.
Mais c’est pour une bien moins bonne nouvelle que nous parlons de Chainlink, puisqu’il s’agit d’un bug dans un de ses oracles, en charge de récupérer la valeur du métal argent.
Le compte Twitter @JonSnowisLink a été un des premiers à détecter ce problème. Il a ainsi remarqué que l’oracle en charge de l’évaluation du cours de la paire XAG/USD (la valeur d’une once d’argent en dollars américains) est passé d’un prix normal oscillant autour des 18$, à une valorisation de plus de 1622$ !
Ce qui correspond bien plus au prix d’une once d’or, plutôt qu’à celui d’une once d’argent (une once équivaut à environ 31,1 grammes).
Quelques dizaines de milliers de dollars d’arbitrage facilement gagnés
Ce bug, survenu le 21 février, a duré près de 6 heures, ce qui a largement laissé le temps à certains petits chanceux d’exploiter la faille. Toujours selon @JonSnowisLink, des utilisateurs auraient réussi à gagner plus de 37 000 dollars de bénéfices pendant cette période, en seulement 3 transactions.
Ils auraient profité de l’écart de prix – ce qu’on appelle l’arbitrage en trading – pour acheter et revendre de l’argent tokenisé sur la plateforme Synthetix.
L’équipe de développement de Chainlink a toutefois rapidement réagi pour minorer le problème via un communiqué publié le même jour que l’incident. Il serait dû à une erreur humaine, qui s’est répercuté dans l’oracle :
« (…) nous avons identifié hier une anomalie de prix sur l’un de nos réseaux d’oracles pour la paire de prix XAG/USD. Nous avons agi rapidement et la paire de trading a été mise à jour pour diffuser les informations correctes (…) cette anomalie de prix était le résultat d’une erreur humaine et n’était pas un problème venant de l’oracle (…) Le contrat XAG/USD a été mis à jour par une architecture hautement redondante de 7 différents fournisseurs d’agrégation de données, qui sont interrogés par 9 équipes indépendantes d’opérateurs de nœuds ».
Plus précisément, l’erreur se serait produite justement lors d’une mise à jour d’amélioration du smart contract de l’oracle de la paire XAG/USD. Les développeurs auraient codé par erreur une demande à l’oracle pour qu’il cherche la valorisation de l’or, et non celle de l’argent. Ce qui confirme le prix erroné que nous avons vu ci-dessus.
La DeFi, bien qu’elle facilite et automatise les transactions financières, reste toujours soumise à l’erreur humaine. Il n’en est que plus vital que les smart contracts qui régissent l’écosystème soient audités et vérifiés de près, pour ne pas cacher de tels bugs.