DeFi : Que sont les emprunts flash / flash loans ?

Que sont les emprunts flash loans
DeFi : Que sont les emprunts flash / flash loans ?

Introduction

Dans l’histoire de la finance traditionnelle, contracter un emprunt à la banque a toujours été accompagné de démarches administratives assez lourdes. L’émergence de la finance décentralisée (DeFi) ces dernières années a permis un grand nombre d’innovations et d’alternatives à la finance traditionnelle, dont celui de faciliter les emprunts.

En effet, aujourd’hui, grâce aux smart contracts sur la blockchain, plus besoin de réaliser un dossier pour convaincre son banquier de sa solvabilité. N’importe qui peut interagir avec un protocole DeFi et emprunter une certaine somme d’argent, en échange d’un dépôt de collatéral. C’est l'idée derrière les prêts en DeFi. Les règles du prêt et du remboursement sont régies par le code dans la blockchain.

La DeFi a également vu naître un nouveau type de prêts que l’on appelle flash loans. Apparu pour la première fois en 2019, ce type de prêt permet aux emprunteurs d’emprunter sans déposer de collatéral, l’emprunt et le remboursement étant réalisés au sein de la même transaction. Nous verrons dans la suite de l’article que les flash loans peuvent s’avérer très utiles pour les traders souhaitant profiter des opportunités d’arbitrage, mais qu’ils représentent également de gros risques pour les protocoles DeFi, lieu de nombreux hacks.

Fonctionnement d’un emprunt en finance traditionnelle

Dans le monde de la finance traditionnelle, il existe 2 principaux types de prêts :

  • Les prêts garantis
  • Les prêts non garantis

Dans le cas des prêts garantis, lorsque vous empruntez, vous acceptez de mettre un collatéral (actif ayant de la valeur) en échange du montant emprunté. Ce collatéral peut être un compte bancaire (nantissement) ou un bien immobilier (hypothèque) par exemple. Il permet au prêteur de réduire son risque dans le cas où l’emprunteur ne pourrait plus rembourser son prêt. Dans le cas où l’emprunteur ferait faillite, les biens mis en collatéral seraient saisis par le prêteur.

Dans le cas des prêts non garantis, le prêteur vous fait confiance. Aucun collatéral n’est exigé, mais il est bien souvent nécessaire de fournir des preuves de sa solvabilité en amont. Pour emprunter dans un établissement bancaire, il faut alors préparer un dossier regroupant un certain nombre de documents permettant de prouver la bonne santé financière de l’emprunteur.

prêt-traditionnel

Dans les deux cas, ces prêts requièrent souvent des démarches administratives assez lourdes, et qui prennent beaucoup de temps. C’est tout l’intérêt des prêts en finance décentralisée (DeFi) qui révolutionnent le secteur de l’emprunt. En DeFi, nul besoin de monter un dossier justifiant de votre santé financière ou de votre statut social. Tout le monde peut emprunter, à condition de déposer un collatéral. Sauf dans le cas un peu spécial des flash loans.

Fonctionnement d’un flash loan en DeFi

Un flash loan est un prêt réalisé sur la blockchain grâce à un smart contract, qui ne nécessite pas de collatéral et qui doit être remboursé au sein de la même transaction. Au départ, les flash loans ont été mis en place en DeFi afin de minimiser les risques liés aux prêts traditionnels sans garantis (risque d’insolvabilité et risque que l’emprunteur disparaisse sans rembourser). Les flash loans fonctionnent en réalité comme des contrats intelligents (smart contracts) qui respectent les conditions suivantes :

  • L’emprunteur emprunte une certaine somme sans collatéral
  • L’emprunteur rembourse cette même somme au sein de la même transaction
  • Si l’emprunteur ne rembourse pas, la transaction est annulée

Puisque l’emprunteur doit rembourser le montant emprunté au sein de la même transaction, les flash loans ne durent que quelques secondes, d’où leurs noms.

Quel intérêt pour un investisseur d’emprunter un montant s’il doit le rembourser immédiatement ?

En réalité, bien que les flash loans ne s’exécutent qu’en quelques secondes, il existe tout de même un temps de latence entre l’emprunt et le remboursement, le temps que les transactions soient validées par l’ensemble du réseau. Ce temps de latence permet généralement à ceux qui utilisent des flash loans de déployer des stratégies pour tirer profit des montants empruntés.

stratégie-flash-loan

Les cas d’utilisations d’un flash loan en crypto

Il existe plusieurs cas d’utilisation d’un flash loan en cryptomonnaies. En effet, les flash loans ont d’abord été utilisés par des traders afin de profiter des opportunités d’arbitrage offertes par les différents DEX du marché. Grâce aux possibilités offertes par les flash loans, il est par exemple possible d’arbitrer des différences de prix entre certaines cryptos.

Imaginez par exemple qu’un Ethereum coûte $1,000 sur un exchange A, et $1,100 sur un exchange B. Vous pourriez alors emprunter l’équivalent de $100,000, acheté 100 Ethereum sur la plateforme A, revendre le tout sur la plateforme B, et rembourser le montant emprunté, en empochant la différence ($10,000).

arbitrage-flash-loan

Pour réussir ce type d’opérations, il faudra néanmoins être capable de programmer les contrats qui permettront d’effectuer ces opérations en quelques secondes, afin de bénéficier des différences de prix sur les DEX.

D’autres cas d’utilisations existent également concernant les flash loans.

Tout d’abord, puisque plusieurs opérations peuvent être incluses au sein d’une seule et même transaction, les flash loans permettent de réduire les frais de transactions. Un ensemble d’opérations complexes (emprunt, swap, remboursement du collatéral ou encore création de pool de liquidité) pourra être réalisé au sein d’un flash loan, alors qu’il faut généralement plusieurs transactions pour réaliser ces opérations en temps normal.

Les flash loans vont également permettre de modifier le collatéral dans le cas d’emprunt réalisé sur des DEXs, sans pour autant clôturer l’opération. Par exemple, si vous avez emprunté des USDT en ayant déposé en collatéral du Bitcoin, vous pouvez échanger votre garantie (emprunter du Bitcoin et déposer de l’USDT) en une seule transaction, grâce aux flash loans. Cela permet d’éviter de clôturer le prêt en cours, pour en ouvrir un nouveau juste après.

Enfin, les flash loans peuvent également permettre d’arbitrer les taux d’intérêt proposés sur les différents DEXs. Cette fonctionnalité est notamment permise par le protocole AAVE.

Par exemple, dans le cas où un utilisateur aurait une position d’emprunt ouverte sur le protocole Compound, mais qu’il souhaiterait changer de protocole pour bénéficier de taux d’intérêt plus avantageux, il peut le faire en utilisant un flash loan.

Les étapes à suivre sont les suivantes :

  1. Emprunt sur AAVE
  2. Paiement de la dette sur Compound
  3. Retrait du collatéral sur Compound
  4. Dépôt du collatéral sur le protocole qui propose de meilleurs taux
  5. Contraction d’une dette sur ce même protocole
  6. Remboursement de l’emprunt sur AAVE grâce à la dette contractée sur ce même protocole

Le tout dans une seule et même transaction !

Les intérêts d'utiliser un flash loan sont donc nombreux. Si les flash loans permettent de bénéficier de nombreux avantages, ils représentent néanmoins dans le même temps un outil redoutable permettant aux hackers de profiter des failles offertes par les protocoles DeFi.

Exemple d'attaques flash loans en crypto

En effet, les flash loans ont également été l’outil de nombreux hacks en DeFi. À cause de l’instantanéité des opérations, les équipes n’ont bien souvent pas le temps de réagir aux attaques et se retrouvent piégés par les hackers.

Quelques exemples de hacks connus de l’écosystème en lien avec les flash loans :

  • Pancake Bunny :

Le protocole Pancake Bunny était un protocole basé sur la BSC permettant de placer ses cryptos dans des pools de farming afin d’obtenir des rendements. Il était également possible de swaper des cryptos. Le 20 Mai 2021, le protocole a subi une attaque de type flash loan, entrainant la chute du token BUNNY, passant de $146 à $6.

Pour réaliser son opération, le hacker a procédé de la façon suivante :

  1. Ajout de fonds au sein du Vault USDT-WBNB sur le protocole Pancake Bunny
  2. Emprunt de 2,3M de BNB provenant de 7 pools de liquidités sur Pancake Swap et emprunt de 2,9M d’USDT provenant du protocole ForTube (emprunt flash loan, donc sans collatéral)
  3. Ajout de 7700 BNB et 2,9M USDT dans la pool USDT-WBNB de Pancake Swap, en laissant les LP tokens dans la pool (les tokens que l’on reçoit lorsqu’on fournit de la liquidité)
  4. Swap des 2,3M de BNB en USDT dans cette même pool
  5. Le hacker a ensuite minter une grande quantité de tokens BUNNY (7M, soit plus d’un milliard de dollars) en utilisant les tokens de la première étape. Pancake Bunny a autorisé ce mint car le protocole a considéré que le hacker avait ajouté une grande quantité de BNB dans la pool.
  6. Une fois minté, le hacker a réussi à vendre 4,8M de tokens BUNNY, et a pu rembourser les emprunts initiaux (2.3M WBNB et 2.9M USDT)

Ce hack a entraîné la disparition du protocole.

hacker-flash-loan
  • Cream Finance :

Le hacker a profité d’une faille dans l’oracle du protocole. En effet, il aurait réalisé deux emprunts sur deux comptes différents (le premier de 500M de DAI, le deuxième de 2 milliards d’Ethereum). Par la suite, grâce à des jeux de dépôts et retraits, le hacker a réussi à manipuler le prix de l’yUSD en le multipliant par 2.

Ce gonflement artificiel du prix lui a ensuite permis de rembourser ses emprunts et d’empocher la différence. Le hacker est reparti avec l’équivalent de 130 millions de dollars en cryptomonnaies.

Le protocole dYdX a subi une attaque de type flash début 2020. L'attaquant a obtenu un prêt sur dYdX, puis a utilisé le montant emprunté sur deux protocoles DeFi, Compound et Fulcrum. Sur Fulcrum, le hacker a utilisé la moitié de son emprunt pour shorter l’ETH contre du WBTC. Le prix du WBTC est alors monté en flèche sur Fulcrum. Dans le même temps, l'attaquant a utilisé la deuxième moitié du prêt restant pour emprunter du WBTC sur Compound. Comme le prix du WBTC avait augmenté, l'attaquant a pu swaper le WBTC emprunté sur Uniswap, permettant de rembourser sa dette à dYdX tout en conservant la différence.

Le protocole bzx a également été victime d'un flash loan en 2020.

Les solutions pour limiter le nombre d’attaques flash loans

Comme nous l’avons vu au-dessus, les attaques flash loans sont souvent liées à l’exploitation d’oracle. Les oracles sont des outils permettant aux blockchains de communiquer avec l’extérieur. Le problème, c’est que les informations envoyées à la blockchain peuvent être erronées, ou du moins falsifiées par des personnes malveillantes, notamment lorsque ces oracles sont centralisés. Les hackers utilisent souvent les attaques flash loans pour exploiter les protocoles DeFi qui dépendent d'un seul échange décentralisé (DEX) comme seul oracle de prix du protocole. Les attaques flash loans sont alors utilisées pour manipuler et fausser le prix d'un ou plusieurs actifs sur le DEX, ce qui entraîne par la suite des données inexactes pour les applications DeFi qui utilisent cet oracle.

Pour lutter contre cela, les dApps doivent utiliser des réseaux décentralisés d'oracles qui tiennent compte des différences de volume et de liquidité sur plusieurs DEXs. Cela permet de les rendre imperméables aux manipulations de prix.

De plus, n’oublions pas que la DeFi reste un environnement nouveau, au sein duquel tous les smart-contracts ne sont pas encore audités. Dans un objectif de sécurité pour les utilisateurs, il est nécessaire que les protocoles continuent à investir dans la sécurité, via notamment un audit externe de leurs smart contracts.

Conclusion

Les flash loans représentent donc un nouveau type d’emprunt au sein de la DeFi. Grâce à la blockchain et aux smart contracts, il est désormais possible d’emprunter sans déposer de collatéral, le tout en une seule transaction. Si les flash loans sont généralement connus au sein de l’écosystème pour être utilisés lors de hacks, ils permettent également aux utilisateurs en DeFi de déployer de nombreuses stratégies, notamment dans l’arbitrage entre différents DEXs.

Les flash loans sont néanmoins encore assez peu accessibles pour le grand public, car ils requièrent des compétences en codage afin de les utiliser. Néanmoins, des protocoles innovants comme Furucombo commencent à proposer des stratégies DeFi innovantes, dont des flash loans accessibles sans compétences nécessaires en code.