BEYOND DeFiLab · The Dark Forest
0:00
👤 Votre nom :👤 Your name: — pour enregistrer votre travail au nom de l'enseignant— to log your work for the instructor
Lab · Le côté obscur de la DeFiLab · The dark side of DeFi

Le dark forestThe dark forest

Vous avez appris comment la DeFi fonctionne. Voici comment on s'y fait dévorer. Chaque transaction en attente est publique avant d'être confirmée — et des bots la lisent. Vous allez vous faire « sandwicher », jouer le prédateur, puis apprendre à vous défendre. You learned how DeFi works. Here's how you get eaten in it. Every pending transaction is public before it's confirmed — and bots read it. You'll get "sandwiched", play the predator, then learn to defend yourself.
~45 minmin
2 simulateurssimulators
3 réflexionswrite-ups
1 quizquiz
Étape 1 — Le constatStep 1 — The setup

Le mempool est une vitrineThe mempool is a shop window

Quand vous envoyez une transaction, elle ne part pas directement dans un bloc. Elle attend dans le mempool — une salle d'attente publique que tout le monde voit, y compris des bots (« searchers ») qui scrutent chaque ordre rentable. Ils paient plus de gas pour passer avant ou après vous. C'est le MEV : Maximal Extractable Value. When you send a transaction, it doesn't go straight into a block. It waits in the mempool — a public waiting room everyone can see, including bots ("searchers") scanning every profitable order. They pay more gas to land before or after you. That's MEV: Maximal Extractable Value.

L'attaque classique : le sandwich. Le bot achète juste avant vous (faisant monter le prix), vous achetez plus cher, puis il revend juste après. Sa marge sort directement de votre poche. The classic attack: the sandwich. The bot buys right before you (pushing the price up), you buy higher, then it sells right after. Its margin comes straight out of your pocket.

Pour démarrer · ~6 minTo kick off · ~6 min
Ouvrir sur YouTube ↗Open on YouTube ↗
Étape 2 — Le simulateur (victime)Step 2 — The simulator (victim)

Faites-vous sandwicherGet yourself sandwiched

Vous achetez de l'ETH avec des USDC sur un AMM (pool : 1 000 ETH / 2 000 000 USDC, prix ~2 000). Réglez votre montant et votre tolérance au slippage, puis diffusez. Lancez-le au moins 3 fois en variant les réglages. You buy ETH with USDC on an AMM (pool: 1,000 ETH / 2,000,000 USDC, price ~2,000). Set your amount and your slippage tolerance, then broadcast. Run it at least 3 times, varying the settings.

Mempool privé (Flashbots Protect) — le bot ne vous voit pasPrivate mempool (Flashbots Protect) — the bot can't see you
Étape 3 — À vous d'écrireStep 3 — Your turn to write

Pourquoi est-ce possible ?Why is this even possible?

En vos propres mots : pourquoi le fait que votre transaction soit publique AVANT d'être confirmée est-il la cause racine de l'attaque ? In your own words: why is your transaction being public BEFORE it's confirmed the root cause of the attack?

↳ Commencez par citer le montant exact que le bot vous a extrait dans votre simulation.↳ Start by quoting the exact amount the bot extracted from you in your simulation.

Étape 4 — Changez de campStep 4 — Switch sides

Devenez le searcherBecome the searcher

Une victime a un ordre en attente : acheter de l'ETH avec 120 000 USDC, slippage toléré 3 %. À vous de l'encadrer. Réglez votre montant de front-run pour maximiser votre profit. Mais attention : si vous poussez le prix trop loin, la transaction de la victime échoue (dépasse son slippage) — et vous perdez vos frais. Trouvez le point optimal. A victim has a pending order: buy ETH with 120,000 USDC, slippage tolerance 3%. Your job is to frame it. Set your front-run size to maximize your profit. But beware: push the price too far and the victim's transaction fails (exceeds their slippage) — and you lose your fees. Find the sweet spot.

VictimeVictim
Votre profitYour profit
Meilleur scoreBest so far

Remarquez : votre profit maximum est plafonné par le slippage que la victime a autorisé. C'est toute la leçon.Notice: your maximum profit is capped by the slippage the victim allowed. That's the whole lesson.

Étape 5 — Les défensesStep 5 — The defenses

Reprenez le contrôleTake back control

Remontez au premier simulateur (Étape 2) et testez deux parades :Scroll back to the first simulator (Step 2) and test two defences:

Compromis : un slippage trop bas peut faire échouer votre transaction quand le marché bouge. Sécurité contre fiabilité.Trade-off: slippage too low can make your transaction fail when the market moves. Safety vs. reliability.

Étape 6 — Votre stratégieStep 6 — Your strategy

Que feriez-vous ?What would you do?

Pour une transaction qui compte (gros swap, achat de token au lancement) : quelle combinaison de défenses adopteriez-vous, et quel compromis acceptez-vous ? For a transaction that matters (large swap, token buy at launch): which combination of defences would you adopt, and what trade-off do you accept?

Étape 7 — Tout le MEV n'est pas égalStep 7 — Not all MEV is equal

Bénin, nécessaire ou parasite ?Benign, necessary or parasitic?

Le sandwich est prédateur. Mais d'autres formes de MEV sont neutres, voire utiles. Classez chaque type, puis lisez le verdict.Sandwiching is predatory. But other forms of MEV are neutral, even useful. Classify each type, then read the verdict.

Arbitrage entre deux DEX (même token, prix différents)Arbitrage between two DEXs (same token, different prices)
Bénin / sainBenign / healthy
NécessaireNecessary
ParasiteParasitic
✓ Plutôt sain : l'arbitrage réaligne les prix entre marchés. L'utilisateur n'est pas lésé.✓ Mostly healthy: arbitrage realigns prices across markets. No user is harmed.
Liquidation d'un emprunt sous-collatéralisé (Aave)Liquidating an under-collateralized loan (Aave)
Bénin / sainBenign / healthy
NécessaireNecessary
ParasiteParasitic
✓ Nécessaire : sans liquidateurs rapides, les protocoles de prêt deviendraient insolvables. Le MEV paie ce service.✓ Necessary: without fast liquidators, lending protocols would go insolvent. MEV pays for that service.
Sandwich sur le swap d'un utilisateurSandwiching a user's swap
Bénin / sainBenign / healthy
NécessaireNecessary
ParasiteParasitic
✓ Parasite : pure extraction au détriment de l'utilisateur, sans contrepartie utile.✓ Parasitic: pure extraction at the user's expense, with no useful service in return.
Étape 8 — Dans la vraie forêtStep 8 — In the real forest

Un cas réelA real case

En 2023, un bot de sandwich surnommé « jaredfromsubway.eth » a dépensé des millions en frais de gas par mois pour rester en tête des blocs, et a extrait des dizaines de millions de dollars aux traders de tokens. À l'inverse, en avril 2023, un validateur a piégé des bots MEV et retourné l'attaque, leur prenant ~25 M$ : même les prédateurs se font manger. In 2023, a sandwich bot nicknamed "jaredfromsubway.eth" spent millions in gas fees per month to stay at the top of blocks, extracting tens of millions of dollars from token traders. Conversely, in April 2023 a validator baited MEV bots and turned the attack around, taking ~$25M from them: even predators get eaten.

Question : si le MEV est si lucratif, pourquoi les protocoles ne se contentent-ils pas de « l'interdire » ? Que faudrait-il changer dans la conception pour le réduire ? Question: if MEV is this lucrative, why don't protocols just "ban" it? What would need to change in the design to reduce it?

Étape 9 — Contrôle expressStep 9 — Quick check

Trois questionsThree questions

Qu'est-ce qui plafonne ce qu'un sandwich peut vous extraire ?What caps how much a sandwich can extract from you?
Le prix du gasThe gas price
Votre tolérance au slippageYour slippage tolerance
Le temps de blocThe block time
✓ Votre slippage : le bot ne peut pousser le prix que jusqu'à votre limite, sinon votre tx échoue.✓ Your slippage: the bot can only push price up to your limit, or your tx fails.
Quelle défense rend votre ordre invisible aux bots ?Which defence makes your order invisible to bots?
Payer plus de gasPaying more gas
Un slippage plus élevéHigher slippage
Un mempool privéA private mempool
✓ Un mempool privé (ex. Flashbots Protect) : l'ordre ne transite pas par la salle d'attente publique.✓ A private mempool (e.g. Flashbots Protect): the order never sits in the public waiting room.
Quelle forme de MEV est généralement considérée comme utile au système ?Which form of MEV is generally considered useful to the system?
Les liquidationsLiquidations
Le sandwichSandwiching
Le front-running purPure front-running
✓ Les liquidations gardent les protocoles de prêt solvables.✓ Liquidations keep lending protocols solvent.
L'idée à emporterThe takeaway

La transparence a un prixTransparency has a price

Le même registre public qui rend la DeFi vérifiable la rend aussi exploitable. Le MEV n'est pas un bug : c'est une conséquence d'un mempool ouvert — un marché de centaines de millions par an. On ne l'élimine pas : on s'en protège (slippage serré, mempools privés, ordres fractionnés) et on conçoit autour (enchères de blocs PBS, mempools chiffrés). The same public ledger that makes DeFi verifiable also makes it exploitable. MEV isn't a bug: it's a consequence of an open mempool — a hundreds-of-millions-per-year market. You don't eliminate it: you defend (tight slippage, private mempools, split orders) and design around it (PBS block auctions, encrypted mempools).

Lab terminéLab complete