L’attaque sandwich (MEV) dans la DeFi

Attaque sandwich MEV DeFi

Tout ce qu'il faut savoir à propos de l'attaque sandwich (MEV) dans la DeFi

Dans le monde des crypto-monnaies, les attaques sont relativement nombreuses et l’attaque Sandwich est l’une des plus classiques du secteur de la DeFi. En réalité, c’est un processus mathématique complexe qui consiste à manipuler l’ordre des transactions (MEV) et le marché pendant un court instant. Voyons de plus près en quoi consiste ce type d’attaque et comment cela fonctionne au travers d’exemples simples.

Qu’est ce que l’attaque sandwich (MEV) ?

Ce que l’on appelle couramment l’attaque sandwich en crypto est en réalité une manipulation en deux étapes. La première consiste à modifier l’ordre des transactions dans un bloc (via la MEV) et la seconde, à manipuler le marché afin d’obtenir des profits. Celle-ci à lieu sur les plateformes d’échanges décentralisée au moment précis où vous allez échanger deux crypto-monnaies et généralement avec des transactions assez volumineuses.

Pendant cette manipulation, vous allez donc payer une crypto-monnaie plus chère qu’en temps normal. Cette hausse du prix sera alors profitable à un tiers afin d’en tirer des bénéfices.

Pour ce faire, un robot va détecter une transaction directement dans le mempool et va intercaler des transactions avant et après dans le but de générer un revenu potentiel supplémentaire. Ce processus porte aussi le nom de Miner (ou Maximal) Extractable Value dont l’acronyme est MEV.

En savoir plus : Qu’est-ce que la Maximal Extractable Value (MEV) ?

C’est une attaque qui ne date pas d’hier et déjà bien connue du milieu de la finance décentralisée. En effet, le fondateur d’Ethereum, Vitalik Buterin l’évoquait déjà en 2018 au sujet de la plateforme UniSwap. A l’époque, il faisait déjà des propositions visant à améliorer la résistance au front running des Market Makers (les teneurs de marché).

Comment se déroule ce type d’attaque

En permanence, des robots scannent le réseau et les blocs transactions qui ont lieu sur la blockchain à la recherche d’opportunités. Avant que votre transaction soit inscrite dans un nouveau bloc, celle-ci est mise en attente dans ce que l’on appelle le mempool. C’est un lieu de stockage temporaire dans lequel les transactions sont classées en fonction des frais de transaction en attendant la création du prochain bloc de transaction.

1. Première phase de l’attaque avec le Front Running

Au moment où vous allez émettre une nouvelle transaction pour échanger de la cryptomonnaie, un robot, que l’on appelle aussi « searcher » ou « chercheur », va détecter cette transaction en attente directement dans le mempool. Ce qu’il va faire à ce moment-là, c’est créer lui aussi une transaction dans le but d’acheter la crypto-monnaie avant vous afin que sa valeur augmente.

Pour avoir la priorité sur votre transaction, il va simplement augmenter volontairement ses frais de transaction de façon à ce que sa transaction passe la première. C’est ce que l’on appelle couramment en crypto un « Front Run » ou « Front Running ».

Front running
Représentation graphique du Front Running

C’est quelque chose de relativement courant et simple car il suffit simplement de mettre des frais élevés pour que votre transaction passe en priorité. Un phénomène largement observé lors de la vente des NFT et le principe de « gas war » (Guerre des frais de transaction).

2. La phase intermédiaire d’achat

Votre transaction d’achat se trouve donc en seconde position, après celle du robot. Comme vous l’ignorez totalement et que vous n’avez pas les moyens techniques de vous protéger contre ce type d’attaque, vous allez payer votre cryptomonnaie plus cher à la suite de cette manipulation.

C’est à ce moment-là que la dernière phase de l’attaque débute avec la prise de profit pour le robot.

3. Phase finale de l’attaque sandwich : le Back Run

Comme pour la première phase, le robot à connaissance de vos frais de transaction via le mempool. Suite à son achat, il va créer une nouvelle transaction, juste derrière la vôtre, afin de vendre la cryptomonnaie plus cher et en tirer profit.

C’est une phase méticuleuse car il faut que sa transaction se trouve le plus proche possible de la vôtre afin d’éviter de se faire Front Run lui-même. Le fait de placer une transaction juste derrière la vôtre est ce que l’on appelle en crypto le Back run.

Attaque MEV
Représentation graphique d’une attaque sandwich (MEV) dans la DeFi

Ainsi, on peut donc résumer ce type d’attaque en 4 points :

  1. Détection de la transaction par un robot via le MEV
  2. Front Run de la transaction de la victime par un robot
  3. Transaction de la victime avec un slippage plus élevé
  4. Back Run de la transaction de la victime de nouveau par un robot

Vous l’aurez compris, l’attaque sandwich est donc une manipulation de marché qui a pour but de vous faire acheter une cryptomonnaie plus chère que prévue.

Où et comment observer ces attaques DeFi

Comme la blockchain et les cryptomonnaies sont un monde fascinant et où tout est transparent, certains protocoles se sont spécialisés afin d’observer ce genre de choses. C’est le cas notamment de ZeroMev qui permet d’observer les blocs et visualiser les attaques.

Sandwich ZeroMev
Aperçu de l’interface ZeroMEV pour observer les attaques sandwich (MEV)

Il vous suffit simplement d’entrer le numéro d’un bloc dans la barre de recherche pour observer les transactions. Les adresses qui réalisent ce type d’attaque sont alors clairement identifiées.

Ce genre d’outils peut aussi vous servir si vous pensez être victime de ce type d’attaque. Pour cela, récupérez simplement le bloc de votre transaction et entrez le dans la barre de recherche de ZeroMev.

Comment se protéger contre l’attaque sandwich en DeFi ?

En réalité, il est relativement difficile de se protéger contre ce type d’attaque mais voici quand même quelques précautions qui peuvent être utilisées.

Utilisation et réglage d’un slippage faible

Réduire slippage
Réduction du slippage pour réduire le risque d’attaque sandwich (MEV)

Le slippage représente un pourcentage de variation toléré lors de l’échange de deux cryptomonnaies.

Exemple : Vous souhaitez échanger 100 USDT contre de l’ETH et donc obtenir plus ou moins 100$ en ETH. Avec un slippage réglé à 1%, vous obtiendrez au minimum de 99$ en ETH. Si jamais le prix s’écroule au moment de la transaction, celle-ci sera simplement rejetée.

En utilisant un slippage relativement faible, vous pourrez vous prémunir contre ce genre d’attaque. Généralement, il est possible de régler le slippage sur l’ensemble des plateformes qui permettent de swap ses cryptomonnaies.

Scinder les transactions importantes en plusieurs petites

Une autre méthode qui peut être couplée à celle de l’utilisation d’un slippage faible est celle de scinder les transactions avec des montants importants en plusieurs petites.

Les robots qui utilisent le MEV et l’attaque sandwich vont généralement tirer des profits quand les montants sont conséquents. Si vos transactions sont plus petites, les bots seront moins intéressés par le profit réalisable et donc vont ignorer vos transactions.

Néanmoins, cette technique impose de faire plusieurs transactions et donc de payer plusieurs fois les frais de ces opérations. Des coûts qui peuvent être conséquents sur des blockchain comme Ethereum et qui dépendent de la congestion du réseau.

Utiliser des RPC pour se prémunir des attaques MEV

La deuxième solution consiste à utiliser des RPC comme Flashbots qui vont permettre de vous protéger du MEV.

Les RPC (Remote Procedure Call) sont les ponts qui vont permettre de transmettre vos transactions sur la blockchain. Lors de la configuration d’une blockchain comme Polygon sur MetaMask, vous allez saisir l’URL du RPC à utiliser.

Paramètres réseau Polygon
Exemple des paramètres de configuration du portefeuille MetaMask

Le but de ces RPC est donc de créer des solutions pour éviter les risques existentiels que la MEV pourrait causer aux blockchains. Une façon supplémentaire de se protéger contre ce type d’attaque DeFi.

Passer par des protocoles DeFi qui luttent contre le MEV ou de pair-à-pair

Enfin, la dernière solution pour se protéger consiste à utiliser deux types de protocole DeFi. Le premier est celui des protocoles DeFi qui tentent de lutter contre ce type d’attaque et c’est le cas notamment du DEX CowSwap.

Pour cela, il utilise un mode de fonctionnement complètement différent des autres DEX. En réalité, le protocole va récupérer l’ensemble des transactions pour définir un prix moyen pour tous les utilisateurs. Ainsi, même si votre transaction passe la première, le prix moyen sera le même que pour les autres transactions du même bloc. De plus, ils implémentent un système d’échange en peer-to-peer qui répond au nom de Coincidence of Wants (CoWs).

Le second est justement l’utilisation de protocole de pair-à-pair (OTC) décentralisée. C’est notamment le cas d’AirSwap, un protocole DeFi qui exerce depuis 2017 avec des frais extrêmement bas, sans slippage et qui propose la fonctionnalité OTC. C’est la solution imparable et qui vous protège totalement contre ce genre d’attaque.

Voilà, vous savez absolument tout ce qu’il faut savoir sur l’attaque sandwich (MEV) dans la DeFi. De plus, vous savez aussi comment observer ces attaques et comment faire pour vous en protéger.

Partager l'article sur les réseaux sociaux

Auteur

Depuis 2017, je ne cesse d'explorer l'univers du Bitcoin, de la blockchain des crypto monnaies, des NFT et plus récemment, celui du Web3. Après avoir fondé Au Coin du Bloc en 2021, je met à disposition mes connaissances et tente de vulgariser les aspects obscurs pour rendre abordable et compréhensible cet univers naissant dans lequel je crois fermement.

Articles similaires