Vous placez un ordre d'achat de 10 000 USDC de tokens sur Uniswap. Avant que votre transaction ne soit confirmée, un bot détecte votre ordre dans le mempool, achète les mêmes tokens une fraction de seconde avant vous (faisant monter le prix), puis les revend juste après votre achat (empochant la différence). Vous payez plus cher, le bot empoche la différence. C'est le frontrunning, et c'est un problème de plusieurs milliards de dollars par an en DeFi. Le terme MEV (Maximal Extractable Value) désigne l'ensemble de ces profits extraits des transactions des utilisateurs.

Comment les bots MEV fonctionnent

Sur Ethereum et les blockchains compatibles EVM, les transactions attendent dans le mempool avant d'être incluses dans un bloc par les validateurs. Pendant cette attente, les transactions sont visibles par tout le monde. Les bots MEV scrutent le mempool en permanence et recherchent des opportunités.

Le sandwich attack est la forme la plus courante. Le bot voit votre ordre d'achat ("acheter X tokens pour Y ETH"), place un ordre d'achat avant le vôtre (front-run), et un ordre de vente juste après (back-run). Votre transaction est "prise en sandwich" entre les deux ordres du bot. Vous payez un prix plus élevé à cause de l'impact de marché du premier ordre du bot.

L'arbitrage MEV est moins nocif pour les utilisateurs. Le bot détecte des différences de prix entre DEX et les exploite en une seule transaction atomique. Ça aligne les prix entre les marchés et bénéficie à l'écosystème, même si le profit va au bot.

Les liquidation MEV surveille les positions de lending sous-collatéralisées et les liquide pour récupérer la prime de liquidation. C'est un service utile (les protocoles ont besoin de liquidateurs), mais les bots se battent pour être les premiers, gaspillant du gas dans le processus.

L'ampleur du problème

Depuis 2020, plus de 600 millions de dollars de MEV ont été extraits sur Ethereum seul (chiffres Flashbots). C'est la partie visible. Le coût indirect pour les utilisateurs (slippage accru, prix d'exécution dégradé) est probablement bien plus élevé.

Les validateurs sont complices (volontairement ou non). Un validateur peut réordonner les transactions dans son bloc pour maximiser le MEV. Flashbots a créé MEV-Boost pour démocratiser l'accès au MEV entre les validateurs, mais ça n'élimine pas le problème pour les utilisateurs.

Comment se protéger

Réduisez votre slippage tolerance. Sur Uniswap, le slippage par défaut est de 0,5%. C'est la marge de prix acceptable. Un slippage de 5% ou 10% est une invitation aux sandwich attacks. Gardez-le le plus bas possible (0,3-0,5% pour les pools liquides).

Utilisez des transactions privées. Flashbots Protect (protect.flashbots.net) envoie votre transaction directement aux builders de blocs, sans passer par le mempool public. Les bots ne peuvent pas la voir et ne peuvent pas la frontrunner. C'est gratuit et facile à configurer sur MetaMask.

Divisez les gros ordres. Un achat de 100 000 USDC en une seule transaction est une cible de choix pour les bots. Dix achats de 10 000 USDC répartis sur quelques minutes sont moins attractifs. Le profit potentiel par sandwich est plus faible et les frais de gas du bot ne sont pas amortis.

Utilisez des DEX avec protection MEV intégrée. Sei intègre des batch auctions qui rendent le frontrunning plus difficile. CoW Swap utilise un système d'enchères hors-chaîne qui protège les utilisateurs du MEV. 1inch propose un mode "protection" qui route les ordres via des pools protégées.

Ce que je pense du MEV

Le MEV est le péage invisible de la DeFi. La plupart des utilisateurs ne savent même pas qu'ils le paient. C'est un défaut structurel des blockchains publiques : la transparence du mempool, qui est une qualité pour l'auditabilité, est un défaut pour l'équité des échanges.

Les solutions existent (Flashbots Protect, DEX avec protection, batch auctions) mais elles demandent une action de l'utilisateur. La majorité des gens utilisent Uniswap en mode par défaut et subissent le MEV sans le savoir. L'éducation est la première protection.

À lire aussi