Qu’est ce que la MEV, ou comment les Bots et les Mineurs s’engraissent sur votre dos ?

Rayan
7 min readDec 23, 2021

--

La Miner Extractable Value (ou Maximum Extractable Value) est une vaste notion parfois obscure que vous rencontrerez sûrement durant votre périple crypto. C’est pourquoi il est nécessaire de la comprendre ainsi que d’en avoir conscience lorsque vous interagissez avec la blockchain. Très peu d’articles francophones traitent ce sujet, c’est donc l’occasion d’enrichir le contenu Crypto / Blockchain FR.

La MEV désigne le bénéfice maximum pouvant être extrait lors de la production d’un block, en plus de la récompense prévue par la validation de ce block ainsi que des frais de gas. Autrement dit, comment tirer profit de chaque transaction qui présente une opportunité pour le mineur ou tout autre utilisateur averti, notamment grâce à sa position privilégiée ou à l’utilisation de moyens techniques.

Voyons dans les détails par quels procédés la MEV est extraite.

Dans un mécanisme de consensus de type Proof of Work, les mineurs sont par essence les acteurs qui agrègent et valident les transactions dans les blocks, ils ont donc l’œil et la main sur celles-ci.
- Un mineur est libre de réarranger, insérer ou exclure une nouvelle transaction.

Notez cependant que la MEV est commune à la fois aux blockchains de type Proof of Work et Proof of Stake, comme mentionné par Vitalik Buterin dans cet interview.

https://www.youtube.com/watch?v=lfO5deaBWCY&t=3s

Il explique que dans le cadre d’une blockchain de type Proof of Stake, on parle plutôt de “Block Producer Extractable Value” - BPEV.

Avant d’être inscrite dans un block et être considérée comme valide, toute transaction soumise au réseau se retrouve dans le memory pool, aussi appelé mempool. C’est une pool qui contient l’ensemble des transactions signées par les utilisateurs mais n’étant pas encore validées par le réseau, autrement dit en attente d’être incluses dans le block suivant par un mineur.

source: https://blog.chain.link/what-is-miner-extractable-value-mev/

Bien sûr, les mineurs sont financièrement incités à choisir une transaction plutôt qu’une autre.
Notez également que le mempool est PUBLIC et Off-Chain, c’est à dire qu’il peut être consulté à tout moment par des bots.

Comment procèdent les bots et les mineurs pour extraire de la MEV ?

Au moment de choisir une transaction, si celle-ci présente une opportunité aux yeux du mineur, sa position lui confère un certain nombre d’avantages, notamment la possibilité de front-run un trader.

- Le front-running 🏃

Prenons pour exemple l’achat d’une quantité conséquente de tokens par un trader. Si la quantité achetée est susceptible de faire varier le cours (autrement dit faire augmenter le prix de l’actif acheté), un mineur peut, en identifiant cette transaction depuis le mempool puis en calculant le price impact engendré par la transaction, acheter le token voulu AVANT d’inclure lui même la transaction dans le block qu’il est en charge de valider.

Le mineur pourra ensuite directement revendre les tokens et encaisser dans la foulée une plus-value sans risque. Un trader peut également se faire front-run par un bot via le même procédé, il suffira simplement au bot d’offrir au mineur une quantité de gas supérieure à celle du trader afin d’être sûr que sa transaction passe avant. L’ironie veut même que certains bots passent devant d’autres bots en se livrant à une gas war. Ce concept est comparable à celui du trading haute fréquence dans la finance traditionnelle.

Les acteurs étant des agents économiques rationnels, on considère qu’ils sont prêts à augmenter la quantité de gas dédiée à leur transaction tant que le coût est inférieur au gain attendu de l’opération. Souvent, les frais de gas représentent une très grosse partie du bénéfice engendré par l’arbitrage, pour le plus grand bonheur des mineurs.

Expected Price Slippage: difference between the expected price of a trade and the price at which the trade is executed. If price slippage exceeds the limit set by the trader, the trade is reverted.

Suite à ce procédé, le trader subit de surcroît un plus grand price slippage sur sa transaction , il se retrouve donc à obtenir moins de tokens que prévu, telle une taxe invisible !
Le front-running est majoritairement utilisé par des bots d’utilisateurs avertis, mais également par les mineurs.

source: https://medium.com/coinmonks/defi-sandwich-attack-explain-776f6f43b2fd

- Le back-running 🏃

Voyons maintenant ce qu’est le back-running. Le back-running consiste pour un bot ou un mineur à effectuer une transaction directement après qu’un trader ait acheté un certain token. Il peut s’assurer de passer jute après en réglant précisément la quantité de gas de sa transaction.

Mais pourquoi vouloir placer une transaction après une autre? Car lors d’une vente sur un DEX, la valeur de l’actif vendu va mécaniquement diminuer.

Bonding Curve

Le back-runner va donc acheter l’actif vendu sur un DEX A et le revendre sur un DEX B (ou un exchange centralisé), encaissant au passage un profit d’arbitrage, son premium, auquel il doit retraiter les frais de gas payés.

Le back-running et le front-running sont tous deux considérés comme des attaques sandwich 🥪 c’est à dire qui englobent l’exécution d’une transaction.

Pourtant, me direz-vous, l’arbitrage est un procédé nécessaire et sain pour le réseau, il permet d’équilibrer les prix entre les différents DEX, quel est le problème causé par le back-running?

Le principal problème est la congestion du réseau. En effet, la taille des blocks est limitée et comme vu précédemment, les bots vont chercher à s’out-bid l’un l’autre pour être sûrs que leur transaction soit exécutée au moment opportun, ce qui fera augmenter le prix du gas pour les autres utilisateurs, mais qui bénéficiera également aux mineurs !

Source: https://explore.flashbots.net/

Pour vous donner une idée des sommes dont il est question, ces 30 derniers jours, 18,8 Millions de $ ont été extraits via des procédés de MEV (en prenant en compte les frais de gas.)

- La Liquidation 📉

Le processus de liquidation sur un protocole de lending tel que Aave ou BenQi est également une forme très connue de MEV. Sur ce type de protocole, les utilisateurs peuvent fournir un token en collatéral afin d’emprunter un autre actif en échange de celui ci.

Ce collatéral doit avoir une valeur supérieure au montant emprunté car il sert de garantie pour le protocole. On parle d’over collateralized loan, ou de “prêt sur-collatéralisé” en français (tout de suite moins classe il faut le dire). Lorsque la valeur du collatéral apporté ne suffit plus à couvrir l’emprunt, le protocole autorise toute personne à liquider la position de l’emprunteur afin que le prêt soit remboursé.

Cette situation peut arriver en cas de:

  • Chute soudaine du marché, même temporaire (flash crash)
  • Lorsqu’un utilisateur oublie une position
  • Ou encore en cas de bug d’oracle, car les protocoles de lending utilisent très souvent des oracles tel que Chainlink pour déterminer les prix en temps réel, c’est pourquoi une faille relative à l’oracle peut entraîner des liquidations en cascade.

Suite à une liquidation, l’emprunteur est redevable d’une pénalité, et une partie de cette pénalité finit dans la poche du liquidateur, d’où l’opportunité pour les bots de sniper les liquidations intéressantes, notamment pour obtenir les actifs servant de collatéral à des prix avantageux !

source: https://explore.flashbots.net/

- La “Just in Time Liquidity” (JIT)

Récemment, une nouvelle forme de MEV a été documentée, la Just in Time Liquidity, procédé qui tire profit des protocoles permettant de fournir de la liquidité concentrée en range serré tel que Uniswap V3.

La Just in Time Liquidity consiste pour un liquidity provider actif à placer via un bot de la liquidité en range très serré dans le but satisfaire un gros trade et ainsi front-run les liquidity providers passifs qui sont déjà en place, le tout dans un même block. C’est un procédé qui n’est pas sans rappeler les flash loans.

Malgré qu’elle constitue une forme de front-running, la Just in Time Liquidity présente toutefois un avantage non négligeable; elle permet un price slippage très faible voire quasi nul lors de l’exécution du trade visé par le bot. En effet, la liquidité déployée l’est pile dans le range de prix actuel, parfaitement adapté au trade de l’utilisateur. Cependant, cela crée pour les liquidity providers passifs un manque à gagner et une compétition déloyale car ils obtiennent à terme moins de frais de swap.

Plusieurs moyens existent pour se protéger de la MEV, tels que par exemple l’utilisation de Flashbots ou encore de Cowswap mais je n’entrerai pas dans les détails dans cet article.

Voilà, c’est (déjà) la fin de cet article, j’espère qu’il vous a permis d’apprendre ce qu’est la MEV, ou en tout cas de mieux la comprendre, n’hésitez pas à me faire des retours à propos de pistes d’amélioration ou si un élément n’est pas clair.

--

--