Technique d'attaque propre à la finance décentralisée qui exploite un emprunt sans garantie remboursé dans la même transaction pour manipuler des prix ou drainer des protocoles de milliards de dollars.
Le flash loan est un mécanisme légitime de la finance décentralisée permettant d'emprunter une somme arbitrairement grande de liquidités, sans garantie, à condition de la rembourser dans la même transaction atomique sur la blockchain. Si le remboursement n'a pas lieu, la transaction entière est annulée comme si elle n'avait pas eu lieu. Conçu à des fins d'arbitrage ou de refinancement instantané, ce mécanisme a rapidement été détourné par des attaquants qui l'utilisent pour acquérir transitoirement un pouvoir économique considérable, manipuler les oracles de prix qui valorisent les actifs d'un protocole, et exploiter la distorsion de prix ainsi créée pour vider les liquidités du protocole, tout cela en une fraction de seconde. La première attaque de grande ampleur a visé bZx en février 2020, drainant 350 000 dollars en deux transactions consécutives ; depuis, des attaques similaires ont causé des pertes de plusieurs centaines de millions de dollars sur des protocoles majeurs. La particularité juridique et assurantielle du flash loan attack est troublante : l'attaquant n'a jamais disposé de capital propre, toutes ses actions sont mathématiquement réversibles si la transaction échoue, et la vulnérabilité exploitée est souvent dans la conception du protocole plutôt que dans un code malveillant au sens classique. Les assureurs du secteur DeFi peinent à qualifier ces pertes : s'agit-il d'un bug de smart contract, d'une manipulation de marché ou d'une exploitation d'une fonctionnalité délibérément mise à disposition ? La réponse conditionne la couverture.
En octobre 2021, le protocole Cream Finance subit une attaque par prêt flash de 130 millions de dollars. L'attaquant emprunte 500 millions de DAI, manipule le prix d'un token collatéral peu liquide sur lequel Cream se base pour calculer sa valeur, et emprunte davantage que le collatéral réel ne le permettrait normalement. La transaction entière s'exécute en un bloc Ethereum, soit environ douze secondes. Aucune assurance DeFi existante ne couvre l'intégralité du sinistre.
flash loan attack, prêt flash, flash loan, attaque DeFi, attaque par emprunt instantané