Alpha DeFi

Share this post
Les différentes attaques MEV
alphadefi.substack.com

Les différentes attaques MEV

Et comment les éviter...

Sylvn
May 13
2
2
Share this post
Les différentes attaques MEV
alphadefi.substack.com

Vous consultez un article en accès libre de la newsletter Alpha Defi. Vous pouvez passer membre Premium pour profiter de l’expérience complète et recevoir :

  • 👀 Les projets et cryptos à surveiller.

  • 📈 Le bilan de mes résultats mensuels.

  • ♟️ Des stratégies avancées pour générer des revenus grâce aux cryptomonnaies.

  • 🧑‍🎓 Des explications pour mieux naviguer dans ce milieu complexe.

L’abonnement Premium est à 9€/mois . Merci pour votre soutien 🙏

N’oubliez pas de “liker” l’article et de partager la newsletter pour aider à la faire connaître ! Merci d’avance ! 💖 + 👇

Share


Au programme : Les attaques MEV, le front running, l’attaque sandwich, etc.

🎯Après la lecture de cette newsletter, vous saurez ce qu’est une attaque mev, comment elle peut vous impacter et surtout comment l’éviter.

❗Pourquoi est-ce important ? Tout simplement pour ne pas perdre de l’argent sans même comprendre pourquoi…

C’est parti !

Avant de commencer, je vous rappelle que je fais un petit sondage pour améliorer ma newsletter. N’hésitez pas à y participer, merci d’avance ! Il y a un petit cadeau à la fin ! Spoiler : C’est un bon de réduction de -30% sur un an !

Répondre au sondage

#1 C’est quoi la MEV

MEV est l’acronyme de Miner (ou Maximal) Extractable Value.

Pour ajouter un nouveau bloc de transactions à une blockchain, les mineurs (ou validateurs) doivent atteindre un consensus sur la validité du bloc en question. Seulement un seul mineur aura l’opportunité de miner un nouveau bloc et de l’ajouter à la blockchain. C’est à ce moment que le mineur aura l’occasion de réorganiser les transactions à l’intérieur du bloc.

Quand David envoie quelques ETH à Alice, au moment de cliquer sur “envoyer” une transaction va être créée. Cette transaction, ainsi que toutes les transactions des autres utilisateurs en attentes, est placée dans une réserve qu’on appelle la “mempool”.

Le mineur aura la possibilité de réorganiser les transactions à l’intérieur de la mempool pour savoir dans quel ordre elles seront exécutées au sein d’un même bloc. En réalité, ils ne vont pas “choisir”, ils vont les réorganiser en fonction de la meilleure récompense (en gas donc fees) qu’ils vont recevoir.

Des éléments indépendants qu’on appelle “searcher” vont scanner cette mempool pour tenter d’y intercaler, à l’aide de bots et en payant les fees (gas) appropriés, des transactions qui vont leur permettre de générer un revenu potentiel supplémentaire. C’est cela qu’on appelle la Maximal Extractable Value.

Et cela se fait parfois au détriment ☠️ de l’utilisateur (David ou Alice) qui n’a rien demandé.

#2 Quelques types d’attaques

Le front-running

Cette attaque est relativement simple. Quelqu’un paie plus de gas que vous pour que sa transaction s’exécute juste avant vous. Ce qui signifie que votre requête pourra échouer ou pire…

Le front-running

C’est le cas par exemple lorsqu’il y a un mint d’un nft avec ce qu’on appelle une “gas war”. S’il y a 1000 nfts à minter où le premier arrivé est le premier servi, il est tout à fait possible que des robots soient programmés pour payer énormément de fees afin d’exécuter leurs transactions (de minter) avant les autres. Et vous qui arrivez derrière, en payant un montant de gas normal, vous vous retrouverez peut-être avec une transaction en échec car il n’y a plus rien à minter.

Autre cas possible, bien pire, vous allez payer un prix bien plus important pour l’achat d’un token X que ce que vous aurez dû payer. Et cela, parce qu’une transaction vous a devancé et a acheté une grande quantité de ce token hypothétique X faisant ainsi monter le prix juste avant votre ordre d’achat. D’où l’importance de bien régler le “slippage” (nous y reviendrons).

L’attaque sandwich

L’attaque sandwich, comme son nom l’indique consiste à encercler la transaction d’un utilisateur.

L’attaque sandwich

Le processus est un peu complexe, mais l’idée est de générer un profit entre deux transactions d’un même utilisateur encerclant une troisième transaction d’une autre personne. Par exemple, la transaction 2 va acheter un token X à un certain prix, faisant monter le prix. La transaction 3 va acheter le token X à un prix forcément moins intéressant (puis qu’il vient de monter) faisant tout de même monter le prix (quand il s’agit d’un achat). Enfin, la transaction 4 va vendre le token à un prix plus intéressant que l’achat en transaction 2, générant ainsi un profit.

Il existe d’autres attaques parfois bégnines mais celles-ci sont les plus courantes.

#3 Quand cela se produit ? Quelles sont les conséquences ?

Heureusement, ces attaques n’arrivent pas tout le temps. Aujourd’hui, la plupart des équipes derrières un projet (NFT ou autre) font en sorte de ne pas se retrouver dans une situation où un front run est possible (système de whitelist, allocation maximum etc).

Et les attaques sandwichs sont assez coûteuses à réaliser parce qu’elles se font principalement sur des transactions importantes (en terme de montant). Donc, si vous avez l’habitude de swapper des gros montants, attention !

Twitter avatar for @pmcgoohanCryptoPmcgoohan @pmcgoohanCrypto
I’m going to share what I find as I debug the zeromev explorer. Let's start with this sandwich attack costing its victim $-217,372 in a single transaction. Saitama To The Moon!!! (...and back) The woe begins below 👇🧐
Image

April 4th 2022

29 Retweets123 Likes

Les conséquences peuvent être dévastatrices dans le pire des cas. Vous échanger 100 000$ d’un token A et vous vous attendiez à recevoir plus ou moins 100 000$ en token B et vous vous retrouvez avec seulement 50 000$. Ce n’est qu’un exemple mais ça peut, théoriquement arriver. C’est aussi possible sur des montant bien plus petits !

Pour savoir si vous avez déjà été victime d’une attaque sandwich vous pouvez vous rendre sur https://sandwiched.wtf/.

Personnellement, je m’en sors bien.

#4 Comment éviter les attaques.

Il y a plusieurs manières (complémentaires) pour éviter de se faire avoir avec ces attaques.

Penser à mettre un “slippage” bas.

Le menu slippage dans les paramètres sur l’interface d’uniswap

Le slippage, c’est en, quelque sorte, le pourcentage de variation que vous vous accordez à avoir sur un prix lors d’un swap d’un asset A en un asset B.

Par exemple, si vous échangez 100usdc (donc 100$) en autre chose, vous vous attendez à avoir plus ou moins 100$ (moins les frais). Un slippage de 1% indique que vous êtes prêt à accepter un écart de prix de 1% donc jusqu’à un minimum de 99$.

Pour modifier un “slippage”, vous trouverez en général l’option sur chaque site qui permettent de swapper vos cryptos.

Utiliser des protocoles qui protègent des attaques sandwich.

Certains sites incorporent des outils qui, sous le capot, vous protègent d’une manière ou d’une autre. C’est le cas notamment de CowSwap dont j’ai déjà parlé.

Cowswap vous protège car contrairement aux autres sites cowswap va d’abord récupérer toutes les transactions que les utilisateurs veulent faire par fournées et tenter de les régler lui-même avant de les soumettre au réseau eth.

Pierre veut échanger du X en Y. Parfait, dans la fournée, Julie veut également échanger du Y en X. C’est ce qu’on appelle le Coincidence Of Want (d’où le COW de COWswap).

Si vous voulez swapper des gros montants, cowswap est un moyen fiable pour éviter de se faire sandwicher.

Utiliser un RPC qui va vous protéger comme flashbot (utilisateur avancé).

Un RPC (pour remote procedure call), c’est, en quelque sorte, un connecteur qui va vous relier à la blockchain. Vous pouvez changer le RPC par défaut utilisé par metamask pour y mettre un autre RPC comme flashbot qui va vous protéger en envoyant directement la transaction aux mineurs plutôt que de mettre votre tx dans la mempool (en gros).

Je déconseille la manipulation aux débutants. Préférez plutôt l’utilisation de cowswap.

Dans votre configuration réseau de métamask. Remplacez https://mainnet.infura.io/v3/ (ou ce qu’il y a dans le champs “Nouvelle URL de RPC") en https://rpc.flashbots.net

Voilà vous savez maintenant ce qu’est une attaque MEV et comment vous en protéger. Si vous pensez que cette newsletter peut intéresser n’hésitez pas à la partager. Et si vous aimez mon travail, n’hésitez pas à vous abonner pour me soutenir 🙏

Sources:

  • https://rileygmi.substack.com/ (notamment pour les schémas)

  • StakeDao : qu’est ce que la mev

  • Ethereum.org

  • How to stop being rugged by DeFi Sandwich Attacks

Photo d’illustration Ric Matkowski sur Unsplash

2
Share this post
Les différentes attaques MEV
alphadefi.substack.com
2 Comments

Create your profile

0 subscriptions will be displayed on your profile (edit)

Skip for now

Only paid subscribers can comment on this post

Already a paid subscriber? Sign in

Check your email

For your security, we need to re-authenticate you.

Click the link we sent to , or click here to sign in.

Sylvain T
May 13

Super article!

Expand full comment
ReplyGift a subscriptionCollapse
1 reply by Sylvn
1 more comments…
TopNewCommunity

No posts

Ready for more?

© 2022 Sylvain
Privacy ∙ Terms ∙ Collection notice
Publish on Substack Get the app
Substack is the home for great writing