Ethereum : 800 millions de dollars d’ETH gelés ? L’énorme bug surprise de Compound jette un froid
Un bug qui vaut des millions – Compound est un protocole de lending décentralisé sur Ethereum. Celui-ci permet aux utilisateurs d’épargner ou d’emprunter des cryptomonnaies. Cependant, lors d’une mise à jour récente a temporairement bloqué l’accès à plus de 800 millions de dollars en ETH.
800 millions de dollars bloqués par une mise à jour
Hier dans la soirée, le protocole Compound a déployé une proposition de gouvernance ouverte une semaine auparavant. Intitulée Proposal 117, celle-ci permettait de mettre à jour la source de l’oracle du protocole en passant d’Uniswap V2 à Uniswap V3.
Pour rappel, l’oracle permet au protocole Compound de savoir en direct le prix d’un actif donné. Celui-ci est indispensable pour assurer le bon fonctionnement du système de liquidation.
Cependant, cette mise à jour a entraîné le gel de l’ensemble du marché ETH sur le protocole. Au total, ce sont plus de 800 millions de dollars en ETH qui sont actuellement inaccessibles.
La cause du bug de Compound
Quelques heures après les faits, Michael Lewellen d’OpenZeppelin a expliqué en détail les causes du gel via le forum de Compound.
Ainsi, le Comptroller effectue des appels à la méthode getUnderlyingPrice() pour obtenir le prix d’un actif donné.
Par la suite, cette méthode va appeler une seconde méthode intitulée underlying(). Malheureusement, celle-ci n’est pas implémentée sur le marché ETH, bien qu’elle le soit sur l’ensemble des autres marchés de cTokens.
Par conséquent, l’appel de getUnderlyingPrice() renvoie une réponse vide qui ne peut pas être décodée.
« Les retraits et les liquidations sur le marché cETH sont donc gelés jusqu’à la résolution du problème. »
Un autre problème demeure. En effet, comme nous venons de le voir, les retraits ainsi que les liquidations sont gelés. Par conséquent, les variations du cours de l’ETH ne devraient pas avoir d’impact sur les prêts réalisés sur Compound dans les 7 prochains jours.
Cependant, lorsque le cours sera remis à jour, de nombreux prêts pourraient bien être liquidés, si le cours venait à trop varier jusqu’à la résolution du problème.
« Les utilisateurs qui ont déposé des ETH et obtenu des cETH pour ouvrir des positions d’emprunt doivent être conscients qu’ils peuvent être liquidés instantanément lorsque la proposition fixe est exécutée SI, à ce moment-là, le prix de l’ETH a considérablement baissé. »
Pour éviter cela, Michael Lewellen invite les utilisateurs concernés à augmenter la collatéralisation de leurs prêts.
Un correctif en cours
Heureusement, ce gel n’est pas définitif. Ainsi, les équipes de Compound ont soumis une nouvelle proposition, la proposition 119, au module de gouvernance. Celle-ci a pour objectif de revenir à l’ancienne source d’oracle.
Cependant, la démarche ne sera pas immédiate. En effet, le protocole Compound dispose d’un délai de 7 jours pour que ses propositions soient votées. Une spécificité censée assurer une meilleure décentralisation et lutter contre les attaques de gouvernance.
Heureusement, bien qu’inaccessibles, les fonds des utilisateurs ne sont pas à risque à proprement parler. De surcroît, les autres marchés de Compound n’ont pas été impactés par ce changement d’oracle.
Sur Solana, une erreur de manipulation a quant à elle coûté 600 000$ au protocole OptiFi. Dans leur cas, ces derniers ne seront pas en mesure de récupérer les fonds.
En crypto, ne faites pas l’économie de la prudence ! Ainsi, pour conserver vos avoirs cryptographiques à l’abri, la meilleure solution est encore un wallet hardware personnel. Chez Ledger, il y en a pour tous les profils et toutes les cryptos. N’attendez pas pour mettre vos capitaux en sécurité (lien commercial) !