Ethereum : comment devenir riche avec une transaction à 8,71 $
Ce qui devait arriver… arriva – bZx est un protocole de finance décentralisée spécialisé dans les prêts crypto. Ce dernier a été victime d’un attaquant très malin qui a profité de l’intrication complexe de plusieurs protocoles de la DeFi pour gagner 360 000$ en quelques secondes. Analyse !
Et c’est le drame
Le 25 février, la plateforme bZx annonçait la mise hors ligne de Fulcrum, son service spécialisé dans le trading sur marge, suite à une suspicion d’attaque.
Il n’aura fallu que quelques heures aux chercheurs et membres de la communauté pour confirmer l’attaque en question et identifier le modus operandi utilisé. Il semblerait bien que ce ne soit d’ailleurs pas vraiment une faille, mais plutôt un arbitrage minutieusement préparé.
Pour ce faire, l’attaquant a dans un premier temps contracté un prêt instantané (flash loan) de 10 000 ETH (environ 2,3 millions d’euros) sur DyDx, une place marché offrant justement ces services de lending crypto.
Il en a ensuite envoyé une moitié sur Compound pour emprunter 112 WBTC (Wrapped BTC), et l’autre moitié sur bZx pour shorter 112 WBTC (et donc parier à la baisse sur leur prix). Puis, il a envoyé ses 112 WBTC de Compound sur Uniswap pour les échanger à bas prix. L’opération en question lui aura donc permis de profiter de son short pour rembourser son prêt instantané à bas coût.
L’ensemble de ce processus n’aura pris que quelques secondes et lui aura coûté 8,71$ de frais de transaction pour en gagner 360 000$ ! Une certaine idée de la rentabilité, sans doute.
Notons que la beauté de l’attaque réside aussi dans le fait que le petit malin a dû effectuer l’ensemble de ces actions en une seule transaction. En effet, le flash loan est un type de prêt instantané qui ne nécessite pas de collatéral, mais qui ne peut être contracté que s’il est remboursé dans la même transaction que celle ou il a été contracté. L’attaquant a donc été forcé de préparer minutieusement son enchaînement implacable d’actions afin qu’elles se déroulent sans accroc dans le plus grand des calmes.
L’équipe de bZx a par la suite rassuré la communauté, en annonçant qu’aucun utilisateur n’avait perdu de fonds au cours de cette attaque.
Faille ou arbitrage ?
Depuis, la communauté peine à se décider quand au qualificatif qui conviendrait le mieux pour désigner cet événement pour le moins animé : un tel comportement relève-t-il plutôt de la malveillance pure ou bien s’agit-il simplement d’un arbitrage génial que tout un chacun serait bien forcé d’applaudir ?
Si tous les détails ne sont pas nécessairement encore connus, d’aucuns semblent penser que cet épisode démontre surtout la fragilité des oracles. En effet, il semble possible que l’attaquant ait réussi à se jouer des processus de vérification servant de passerelles entre les protocoles blockchainisés de la DeFi et les données que ces derniers surveillent, notamment les différents prix des actifs impliqués.
Cependant, pour les équipes de bZx, cette version ne semble pas convaincante et ces derniers appuient particulièrement la théorie de l’arbitrage sophistiqué.
La finance décentralisée est encore un écosystème balbutiant, où des failles ou erreurs peuvent exister et les fonds impliqués dans ces protocoles peuvent potentiellement être à risque. Veillez à rester mesurés dans les sommes que vous injectez dans ces derniers !