Qu’est-ce qu’un flash loan et comment fonctionne-t-il au sein de la DeFi?

Qu’est-ce qu’un flash loan et comment fonctionne-t-il au sein de la DeFi?

Qu’est-ce qu’un flash loan?

Un flash loan est un prêt on-chain temporaire qui doit être remboursé dans la même transaction, y compris une éventuelle prime. On-chain signifie que l’opération complète se déroule directement sur la blockchain.

Dans le cas d’un flash loan direct, un smart contract reçoit temporairement de la liquidité sans que le demandeur ait besoin de bloquer au préalable un collatéral pour ce flash loan. La liquidité désigne ici la quantité disponible de crypto ou de tokens qu’un protocole peut prêter. Le prêt n’est donc pas un prêt classique qui reste ouvert pendant des jours, des semaines ou des mois.

Les flash loans sont surtout un composant programmable au sein de la DeFi. La DeFi désigne des applications financières qui fonctionnent via des smart contracts sur une blockchain. Un utilisateur n’exécute donc généralement pas un flash loan manuellement, comme pour un prêt classique. Un smart contract programmé à l’avance demande le prêt, puis exécute automatiquement toutes les étapes nécessaires.

Dans Aave V3, un « receiver contract » reçoit les tokens empruntés. Il s’agit du smart contract qui reçoit le flash loan et exécute les actions prévues. Ensuite, le protocole déclenche un callback : un moment prédéfini où le receiver contract exécute son propre code. Ce code peut, par exemple, swapper des tokens, ajuster une position existante, puis rembourser le prêt plus la prime.

La condition est stricte : toutes les étapes doivent réussir au sein d’une seule transaction. Par conséquent, un flash loan convient surtout à des actions DeFi rapides et composées, et non à un crédit personnel ou à un financement de longue durée.


À retenir

  • Un flash loan est un prêt on-chain temporaire, généralement réglé au sein d’une seule transaction.
  • Dans le cas d’un flash loan direct, aucun collatéral n’est requis au préalable pour ce prêt temporaire.
  • Les smart contracts exécutent automatiquement le prêt, les actions de suivi et le remboursement.
  • Si le remboursement du principal et de la prime échoue, la transaction est annulée.
  • Les flash loans peuvent être utilisés notamment pour l’arbitrage, les échanges de collatéral et l’ajustement de positions DeFi.

Comment fonctionne un flash loan?

Un flash loan fonctionne parce qu’un smart contract emprunte temporairement des tokens, exécute des actions programmées à l’avance, puis rembourse le prêt plus la prime avant la fin de la même transaction.

Le processus se déroule le plus souvent comme suit :

  1. Démarrer le flash loan : Un smart contract appelle la fonction de flash loan d’un protocole. Le protocole envoie la crypto sélectionnée vers le receiver contract.
  2. Exécuter l’action prévue : Le receiver contract utilise la liquidité temporaire pour les étapes programmées. Il peut s’agir, par exemple, de swaps, ou du remboursement puis du réaménagement d’une position DeFi.
  3. Rendre un solde suffisant disponible : Après ces actions, le receiver contract doit disposer de suffisamment de tokens pour le principal et la prime du flash loan. Cette prime est des frais pour la mise à disposition temporaire de la liquidité.
  4. Permettre le remboursement : Le receiver contract autorise le pool à récupérer le montant dû. Cela s’appelle une token approval : le contrat autorise le protocole à débiter un certain nombre de tokens.
  5. Finaliser la transaction : Le protocole récupère le principal et la prime. Ce n’est qu’à cette condition que l’ensemble de la transaction est définitivement validé.

Aave V3 propose une fonction flashLoanSimple pour une seule réserve. Une réserve est le pool de liquidité disponible d’un crypto-actif spécifique. La fonction plus complète flashLoan peut prendre en charge plusieurs crypto-actifs simultanément.

Avec cette fonction plus complète, il existe, sous conditions, une autre voie. Si cette voie est configurée ainsi et qu’un collatéral suffisant est présent, le montant emprunté peut être ouvert comme une position de dette classique au lieu d’être remboursé immédiatement. Cela diffère d’un flash loan direct standard. Via flashLoanSimple, cette possibilité n’existe pas.

Pourquoi un flash loan doit-il être remboursé au sein d’une seule transaction?

Un flash loan direct doit être remboursé au sein d’une seule transaction afin que toutes les étapes puissent être exécutées de manière atomique. Atomique signifie que l’ensemble de la séquence d’actions réussit intégralement, ou est intégralement annulé.

Voyez une transaction comme un paquet scellé contenant plusieurs instructions. Dans ce paquet, un contrat peut emprunter des tokens, swapper ces tokens, rembourser une dette et rembourser le prêt. Ce n’est que lorsque chaque instruction a été correctement exécutée que le paquet est traité sur la blockchain.

Cela protège le pool de liquidité contre un prêt ouvert et non garanti. À la fin de la transaction, le pool récupère le montant emprunté plus la prime. Si cela échoue, la transaction est rejetée.

L’explication selon laquelle un flash loan se déroule dans un seul block est souvent utile dans la pratique, mais moins précise. La règle de sécurité essentielle est que l’opération complète est réglée de façon atomique au sein d’une seule transaction.

Que se passe-t-il si le remboursement n’a pas lieu?

Si un flash loan direct ne peut pas être intégralement remboursé, la transaction revert. Revert signifie que la blockchain annule les modifications de cette transaction échouée.

Le protocole ne conserve alors aucun flash loan non remboursé. Les tokens empruntés temporairement ne restent pas comme une dette ouverte dans le receiver contract. Les swaps, dépôts et autres modifications qui faisaient partie de la même transaction échouée sont également annulés.

L’expéditeur peut toutefois perdre des frais de gas. Les frais de gas sont la rémunération pour le travail de calcul nécessaire à l’exécution d’une transaction sur une blockchain. Une partie de ce travail peut avoir déjà été effectuée avant que la transaction ne revert, de sorte que des frais de gas peuvent rester dus.

Ce n’est qu’avec la fonction plus complète flashLoan d’Aave V3 qu’une voie choisie peut, sous conditions, aboutir à une position de dette classique. Pour cela, un collatéral suffisant doit être présent et les contrôles du protocole doivent l’autoriser. Cela ne s’applique pas à flashLoanSimple.

À quoi servent les flash loans?

Les flash loans servent à combiner plusieurs actions DeFi dépendantes au sein d’une transaction atomique unique. Cela peut être utile lorsque l’une des étapes n’est possible qu’après qu’une autre ait été exécutée juste avant ou juste après.

Les usages les plus courants sont :

  • l’arbitrage entre marchés ;
  • l’échange de collatéral au sein d’une position d’emprunt ;
  • le remboursement d’une dette avec du collatéral ;
  • la fermeture ou la restructuration d’une position DeFi.

Un flash swap suit un principe comparable. Dans ce cas, une personne peut retirer des tokens d’un pool et ne payer, ou ne renvoyer des tokens, qu’à la fin de la même transaction. Un flash swap et un flash loan ne sont pas techniquement identiques, mais tous deux utilisent une liquidité temporaire au sein d’une exécution atomique unique.

Comment fonctionnent l’arbitrage et les écarts de liquidité avec les flash loans?

L’arbitrage consiste à tenter d’exploiter une différence de prix pour le même actif, ou des actifs économiquement comparables, entre différents marchés. Un flash loan peut fournir temporairement du capital de trading pour cela, de sorte que l’exécutant n’a pas besoin de posséder à l’avance le montant total.

Une stratégie d’arbitrage simple peut se présenter ainsi :

  1. Un smart contract emprunte temporairement des tokens via un flash loan.
  2. Le contrat vend ou swap ces tokens sur un marché où le prix est relativement élevé.
  3. Il rachète le même actif sur un autre marché où le prix est plus bas.
  4. Le contrat rembourse le flash loan et la prime.
  5. Seul un éventuel excédent subsiste comme résultat.

Exemple : Supposons qu’un token puisse être vendu à un prix exécutable plus élevé dans un pool que le prix auquel il peut être racheté dans un autre pool. Un smart contract peut emprunter temporairement des tokens, effectuer les deux swaps et rembourser le prêt. S’il reste un excédent après tous les coûts, alors la transaction a été rentable.

Une différence de prix visible n’est pas automatiquement une opportunité de profit. Le rendement réel doit être supérieur au principal, à la prime de flash loan, aux frais de swap, aux frais de routage, aux frais de gas et au slippage.

Le price impact joue également un rôle. Le price impact est la variation de prix que votre propre trade provoque dans un pool de liquidité. Un swap important dans un pool disposant de peu de liquidité peut modifier le prix à ce point que l’écart de prix initial disparaît.

Comment les flash loans peuvent-ils être utilisés pour des échanges de collatéral?

Un échange de collatéral remplace le collatéral d’une position d’emprunt au sein d’une seule transaction. Le collatéral est de la crypto qu’un utilisateur dépose dans un protocole d’emprunt comme garantie d’un prêt.

Un tel échange peut aider lorsqu’un utilisateur souhaite remplacer le collatéral d’une position d’emprunt existante sans disposer d’abord de fonds propres suffisants pour rembourser la dette. Un flash loan peut fournir temporairement la liquidité nécessaire pour exécuter toutes les étapes intermédiaires au sein d’une seule transaction. L’ordre exact dépend du protocole et de la logique de smart contract utilisée.

Un échange de collatéral possible à l’aide d’un flash loan se déroule comme suit :

  1. Emprunter temporairement l’actif de dette : Le smart contract emprunte via un flash loan l’actif dans lequel la dette existante est libellée.
  2. Rembourser la dette existante : Avec les tokens empruntés temporairement, la dette est remboursée, ce qui permet de libérer le collatéral initial.
  3. Retirer le collatéral initial : Le smart contract retire la garantie libérée de la position d’emprunt.
  4. Échanger le collatéral : Le collatéral initial est swappé contre le nouveau collatéral souhaité.
  5. Déposer le nouveau collatéral : Le nouvel actif est déposé comme collatéral dans le protocole d’emprunt.
  6. Rouvrir la dette : Contre ce nouveau collatéral, l’actif de dette est emprunté à nouveau.
  7. Rembourser le flash loan : Avec ces tokens, le contrat rembourse le prêt temporaire plus une éventuelle prime.

À la fin de la transaction, l’utilisateur dispose à nouveau d’une position d’emprunt, mais avec un collatéral différent. Si une étape nécessaire échoue ou si le flash loan ne peut pas être intégralement remboursé, l’intégralité de la transaction revert.

Un flux connexe, mais différent, consiste à rembourser une dette avec du collatéral. Le contrat emprunte alors temporairement l’actif de dette, rembourse la dette existante, retire le collatéral libéré et en échange une partie afin de rembourser le flash loan. L’objectif n’est pas ici de rouvrir la même position de dette avec un collatéral différent, mais de rembourser totalement ou partiellement la dette existante.

La faisabilité d’un tel flux dépend notamment des actifs pris en charge, de la liquidité disponible, du LTV et des paramètres de liquidation. Le LTV indique quelle part de la valeur du collatéral peut être empruntée au maximum. Les paramètres de liquidation déterminent quand une position n’est plus suffisamment couverte et peut être liquidée.

Les flash loans sont-ils encore rentables?

Les flash loans ne sont pas automatiquement rentables, car ils ne fournissent qu’un financement temporaire pour une stratégie spécifique. Le fait qu’une transaction soit profitable dépend du rendement final après tous les coûts et risques.

Dans le cas de l’arbitrage, une stratégie n’a de sens que si le rendement réalisé est supérieur à :

  • la prime de flash loan ;
  • les frais de gas ;
  • les frais de swap et de routage ;
  • le price impact ;
  • le slippage.

La prime de flash loan n’est pas un pourcentage universel fixe. Elle peut varier selon le protocole, la chain, le déploiement et la configuration, et peut être ajustée. Les frais de gas sont également variables. Les coûts dépendent notamment de la quantité de travail de calcul, de la base fee et de la priority fee associées à une transaction Ethereum.

La concurrence rend en outre les petites opportunités fragiles. Des chercheurs automatisés peuvent tenter d’exploiter rapidement les mêmes écarts de prix. Par ailleurs, une simulation ou un devis ne garantit pas que l’exécution réelle conservera le même prix et le même rendement.

Les flash loans ne sont donc pas une méthode offrant un rendement fixe. Il s’agit d’un outil technique qui ne peut être utile que lorsqu’une transaction concrète reste favorable après tous les coûts.

Quels sont les avantages des flash loans?

Les flash loans offrent aux smart contracts un accès temporaire à la liquidité sans que l’initiateur ait besoin de bloquer à l’avance l’intégralité du principal comme collatéral pour ce prêt temporaire.

Les principaux avantages sont les suivants :

  1. Accès temporaire à la liquidité : Une stratégie peut être exécutée avec un montant plus important que ce dont l’exécutant dispose à l’avance pour ce prêt spécifique.
  2. Aucune exécution partielle : Grâce à l’atomicité, toutes les modifications d’état sont annulées si une étape nécessaire échoue. L’utilisateur ne se retrouve donc pas avec une position à moitié modifiée.
  3. Plusieurs actions dans une seule transaction : Emprunter, swapper, rembourser, retirer et redéposer peuvent être exécutés comme un ensemble unique.
  4. Gestion de position plus efficiente : Les échanges de collatéral et d’autres ajustements de positions DeFi peuvent être regroupés sans que chaque étape intermédiaire doive être financée séparément.

Sans capital de départ ne signifie pas sans coûts. Pour une transaction de flash loan, des tokens natifs sont généralement nécessaires pour payer les frais de gas. Un solde peut également être nécessaire pour absorber une prime ou une exécution défavorable.

Quels risques et quelles limites présentent les flash loans?

Les flash loans comportent des risques techniques, financiers et d’exécution, même si le prêt direct est annulé en cas d’échec du remboursement. La conception atomique protège surtout le fournisseur de liquidité contre un prêt direct non remboursé. Elle n’élimine pas tous les risques pour l’utilisateur ou le développeur.

Une transaction de flash loan est complexe. Le receiver, les token approvals, les swaps, les contrôles de prix et le remboursement doivent fonctionner ensemble sans erreur. Une erreur dans un seul élément peut faire revert toute la transaction et générer des frais de gas.

La capacité d’emprunt est également limitée. Un protocole ne peut prêter que ce qui est disponible dans la réserve ou le pool concerné. Une taille souhaitée n’est donc pas toujours disponible.

En outre, une transaction peut réussir techniquement tout en étant défavorable financièrement. Un swap peut, par exemple, être exécuté à un mauvais prix si le slippage autorisé est configuré trop largement.

Comment des erreurs de smart contract peuvent-elles être utilisées abusivement?

Un flash loan peut amplifier l’utilisation abusive d’une erreur existante dans un autre protocole, car un attaquant peut contrôler temporairement une grande quantité de tokens. Le flash loan ne provoque pas cette erreur, mais peut fournir le capital nécessaire pour exploiter la faiblesse au sein d’une seule transaction.

Une conception risquée est, par exemple, un protocole qui se fie à un prix spot directement manipulable. Un prix spot est le prix visible à cet instant précis dans un pool. Un attaquant peut influencer temporairement le prix via un trade important, exécuter une action dépendante, puis annuler ce trade dans la même transaction atomique.

La détention temporaire de tokens peut également être dangereuse lorsqu’un protocole l’utilise, sans protection supplémentaire, comme signal de sécurité ou de gouvernance. La gouvernance est le processus par lequel les participants décident des règles ou des modifications d’un protocole.

La protection repose surtout sur une conception de protocole solide. Parmi les exemples : des oracles de prix plus robustes, des données de prix pondérées dans le temps lorsque cela est pertinent, des contrôles sur des limites économiques et un développement défensif ainsi que des audits de smart contracts.

Quel rôle jouent les frais de transaction et le slippage?

Les frais de transaction et le slippage déterminent souvent si une stratégie de flash loan est réellement rentable. Même lorsque l’action principale réussit, ces coûts peuvent annuler totalement un rendement attendu.

Les frais de gas sont les coûts liés au travail de calcul effectué sur Ethereum. Les transactions complexes impliquant plusieurs smart contracts, des swaps et des token approvals consomment généralement plus de gas qu’un simple transfert. Une transaction qui revert pendant l’exécution peut malgré tout coûter du gas.

Le price impact et le slippage ne sont pas identiques :

  • Price impact : variation de prix causée par votre propre trade. Cet effet est généralement plus important lorsque le trade est grand par rapport à la liquidité du pool.
  • Slippage : différence entre le résultat de swap attendu et ce qui est effectivement reçu. Le prix peut évoluer entre le moment où la transaction est préparée et celui où elle est exécutée.

Une limite de slippage trop faible peut entraîner le revert de la transaction. Une limite trop élevée peut, au contraire, permettre que le swap s’exécute à un prix nettement plus mauvais. C’est pourquoi le gas, la prime, le price impact et le slippage doivent tous être déduits du rendement brut avant qu’une stratégie puisse être considérée comme rentable.

Quelle est la différence entre les flash loans et le crypto borrowing?

Les flash loans et le crypto borrowing sont deux façons d’emprunter des cryptomonnaies, mais ils fonctionnent de manière fondamentalement différente. Avec le crypto borrowing, un utilisateur ouvre généralement une position d’emprunt qui peut rester ouverte pendant longtemps. Un flash loan est, au contraire, conçu pour utiliser temporairement de la liquidité au sein d’une seule transaction blockchain.

Avec le crypto borrowing, un utilisateur dépose généralement de la crypto en collatéral afin d’emprunter un autre crypto-actif. La dette reste ensuite ouverte jusqu’à ce qu’elle soit remboursée. Des intérêts peuvent s’accumuler pendant cette période. Si la valeur du collatéral baisse trop fortement par rapport à la dette, la position peut être liquidée.

Avec un flash loan direct, aucun collatéral n’a besoin d’être bloqué à l’avance pour ce prêt temporaire. Toutefois, le montant emprunté doit être remboursé, avec une éventuelle prime, au sein de la même transaction. Si cela n’a pas lieu, l’intégralité de la transaction revert et les modifications effectuées sont annulées.

Les différences sont claires :

  • Durée : Le crypto borrowing peut créer une position de dette ouverte pendant des jours, des mois ou plus. Un flash loan direct n’existe que dans une seule transaction.
  • Collatéral : Avec le crypto borrowing, un collatéral est généralement requis. Avec un flash loan direct, aucun collatéral n’est requis à l’avance pour le prêt temporaire.
  • Risque de liquidation : Avec le crypto borrowing, une position peut être liquidée lorsque le collatéral ne couvre plus suffisamment la dette. Un flash loan direct n’implique pas de position de longue durée pouvant être liquidée : si le remboursement échoue, la transaction revert.
  • Coûts : Avec le crypto borrowing, des intérêts peuvent s’accumuler tant que la dette reste ouverte. Avec un flash loan, une prime est généralement payée pour l’utilisation temporaire de la liquidité.
  • Usage : Le crypto borrowing est utilisé pour emprunter du capital sans vendre immédiatement le collatéral. Les flash loans sont principalement utilisés pour des actions DeFi automatisées, telles que l’arbitrage, les échanges de collatéral et la restructuration de positions d’emprunt. En bref, le crypto borrowing est conçu pour conserver un prêt sur une durée plus longue, tandis qu’un flash loan fournit une liquidité temporaire pour une série d’actions exécutées au sein d’une seule transaction.

Aave V3 introduit ici une nuance. Via la fonction plus complète flashLoan, une transaction peut, sous certaines conditions, se terminer par une position de dette classique si un collatéral suffisant est présent. Il ne s’agit alors plus d’un flash loan direct standard, mais, de fait, de crypto borrowing.

En résumé

Un flash loan est un composant DeFi permettant à un smart contract d’utiliser temporairement de la liquidité et de la rembourser au sein de la même transaction. Sa force réside dans l’atomicité : toutes les étapes réussissent ensemble, ou la blockchain annule l’intégralité de la transaction.

Ainsi, les flash loans peuvent être utiles pour des actions composées telles que l’arbitrage, les échanges de collatéral et l’ajustement de positions d’emprunt. Ils n’offrent pas de rendement automatique et ne constituent pas non plus un prêt classique destiné à un usage de long terme. Le résultat final dépend du code, de la liquidité disponible, des frais de gas, du price impact, du slippage et de la stratégie choisie.

Les flash loans constituent un outil puissant, surtout pour les développeurs et les stratégies DeFi automatisées. Dans le même temps, une utilisation sûre exige des smart contracts fiables, de bons contrôles de prix et un calcul réaliste de l’ensemble des coûts et des risques.

A propos de Finst

Finst est l'une des principales plateformes de cryptomonnaies aux Pays-Bas. Elle propose des frais de trading ultra-compétitifs, une sécurité de niveau institutionnel et une offre complète de services crypto incluant le trading, la conservation, le staking ainsi que des solutions de fiat on/off ramp. Fondée par d’anciens cadres de DEGIRO, Finst est autorisée sous MiCAR en tant que prestataire de services sur crypto-actifs par l’Autorité néerlandaise des marchés financiers (AFM). La plateforme est disponible pour les investisseurs particuliers et institutionnels dans 30 pays européens.

La plateforme crypto pour tous les investisseurs

Que vous soyez un trader actif ou un investisseur de long terme, Finst vous offre les outils pour investir dans les crypto-actifs en toute simplicité

Inscription