Quand vous envoyez des Ether ou déployez un contrat intelligent sur Ethereum, votre transaction ne part pas directement dans un bloc. Elle passe d’abord par un endroit invisible mais essentiel : le mempool. C’est là que toutes les transactions en attente se regroupent, comme des voitures en file d’attente avant un péage. Mais comment ça marche vraiment ? Pourquoi certaines transactions avancent plus vite que d’autres ? Et pourquoi certaines disparaissent sans raison apparente ?
Qu’est-ce que le mempool ?
Le mempool, ou memory pool, est une mémoire temporaire sur chaque nœud Ethereum. Il stocke toutes les transactions valides qui n’ont pas encore été incluses dans un bloc. Ce n’est pas une base de données centrale, mais une collection distribuée : chaque nœud a son propre mempool, et ils échangent les transactions entre eux via le réseau P2P.
Imaginez que vous êtes un mineur (ou un validateur, depuis le passage à la preuve d’enjeu). Vous ne voyez pas toutes les transactions du monde en même temps. Vous voyez celles qui arrivent à votre nœud, et qui ont passé les vérifications de base : signature valide, solde suffisant, format correct. C’est ça, le mempool : une liste de transactions prêtes à être choisies, mais pas encore confirmées.
Comment les transactions entrent dans le mempool ?
Quand vous cliquez sur « Envoyer » dans votre portefeuille (MetaMask, Argent, etc.), votre transaction est signée avec votre clé privée et envoyée à un nœud Ethereum. Ce nœud vérifie :
- La signature est valide (vous êtes bien le propriétaire des fonds)
- Vous avez assez d’Ether pour payer le gaz et la transaction
- Le nonce est correct (le numéro de transaction de votre compte)
- La taille du code n’excède pas les limites
Si tout est bon, le nœud ajoute la transaction à son mempool. Ensuite, il la transmet à ses pairs. Dans les secondes qui suivent, cette transaction peut atteindre des centaines de nœuds à travers le monde. Mais attention : ce n’est pas une garantie. Si votre transaction est mal configurée (par exemple, un gaz trop bas), elle peut être rejetée par certains nœuds et ne jamais se propager.
Les règles du mempool : qui passe en premier ?
Le mempool n’est pas un ordre d’arrivée. Il est trié. Et le critère principal ? Le gas price, c’est-à-dire combien vous êtes prêt à payer par unité de gaz.
Les validateurs (anciennement les mineurs) choisissent les transactions qui leur rapportent le plus. Ils prennent celles avec le plus haut gas price en premier. C’est pourquoi, en période de forte congestion, les utilisateurs qui paient 50 Gwei voient leurs transactions traitées en 2 minutes, tandis que celles à 5 Gwei peuvent attendre des heures - ou disparaître.
Les nœuds ont aussi des règles internes. Certains refusent les transactions avec un gaz inférieur à un seuil minimum (souvent 1 Gwei). D’autres limitent le nombre de transactions par adresse pour éviter les attaques par spam. C’est pourquoi une transaction peut apparaître sur Etherscan mais pas sur votre portefeuille : votre nœud l’a rejetée, même si d’autres l’ont acceptée.
Le nonce et l’ordre des transactions
Chaque compte Ethereum a un nonce, un numéro qui augmente à chaque transaction envoyée. Si vous envoyez deux transactions en même temps, la première doit avoir un nonce de 42, la suivante de 43. Si vous envoyez la transaction avec nonce 43 avant la 42, le mempool la rejette. Elle reste bloquée jusqu’à ce que la transaction 42 soit incluse.
C’est un piège courant pour les utilisateurs qui envoient plusieurs transactions rapidement. Si la première échoue (par exemple, parce que le gaz était trop bas), la deuxième ne peut pas avancer. Elle reste coincée dans le mempool, même si elle est bien configurée. La solution ? Remplacer la transaction bloquée en envoyant une nouvelle avec le même nonce, mais un gas price plus élevé - ce qu’on appelle un CPM (Replace-by-Fee).
Les transactions disparaissent… pourquoi ?
Vous avez envoyé une transaction. Elle est visible sur Etherscan. Mais 24 heures plus tard, elle n’est toujours pas confirmée. Et soudain, elle n’apparaît plus. Où est-elle passée ?
Les nœuds nettoient régulièrement leur mempool. Si une transaction reste trop longtemps sans être incluse dans un bloc, elle est supprimée. Le délai varie selon les nœuds : certains retirent les transactions après 2 heures, d’autres après 48 heures. Si votre transaction est supprimée du mempool, ce n’est pas un échec. C’est juste qu’elle a été oubliée. Vous pouvez la resoumettre - et cette fois, avec un gas price plus élevé.
Il y a aussi un autre cas : les transactions en double. Si vous envoyez deux fois la même transaction avec des gas prices différents, les nœuds gardent la plus rentable. L’autre est automatiquement ignorée. C’est pourquoi il ne faut jamais envoyer deux fois la même transaction sans comprendre ce que fait votre portefeuille en arrière-plan.
Le mempool et les MEV
Le mempool n’est pas seulement un simple file d’attente. C’est une zone d’or pour les chercheurs de Maximal Extractable Value (MEV). Les validateurs peuvent observer les transactions en attente et réorganiser leur ordre pour en tirer un profit. Par exemple, s’ils voient une transaction d’achat sur un DEX, ils peuvent placer leur propre transaction avant pour faire un arbitrage et s’approprier la différence de prix.
Cela peut sembler injuste, mais c’est légal dans le protocole Ethereum. Les outils comme Flashbots ont été créés pour rendre ce processus plus transparent et réduire les abus. Les utilisateurs peuvent maintenant envoyer des transactions directement aux validateurs via des canaux privés, évitant ainsi le mempool public - et donc les front-runners.
Comment optimiser votre transaction ?
Voici ce que vous pouvez faire pour éviter les retards et les échecs :
- Utilisez un estimateur de gaz fiable (MetaMask, Etherscan, ou 1inch)
- Ne fixez pas manuellement un gas price trop bas - surtout en heures de pointe (18h-22h UTC)
- Si votre transaction stagne, remplacez-la avec un gas price 20-30% plus élevé
- Évitez d’envoyer plusieurs transactions en série sans vérifier le nonce
- Sur les réseaux comme Arbitrum ou Optimism, le mempool est moins saturé - les frais sont plus stables
Les meilleurs utilisateurs surveillent les tendances du mempool en temps réel. Des sites comme Etherscan Mempool ou Blocknative montrent combien de transactions sont en attente, leur gas price moyen, et les pics de congestion. C’est comme regarder la météo avant de sortir : vous savez quand il vaut mieux attendre.
Le mempool après le merge et la mise à jour de Shanghai
Depuis le passage à la preuve d’enjeu en septembre 2022, les validateurs remplaçent les mineurs. Mais le mempool fonctionne toujours de la même manière. Ce qui a changé, c’est la capacité du réseau à gérer les pics de demande.
La mise à jour de Shanghai en avril 2023 a introduit la possibilité de retirer des Ether stakés. Cela a augmenté la liquidité sur le réseau, et donc les transactions. Le mempool a été plus chargé que jamais. Mais les outils de gestion du gaz ont aussi progressé. Les portefeuilles modernes proposent désormais des options « rapide », « normal », et « économique », basées sur les données réelles du mempool.
En 2025, Ethereum traite en moyenne 1,2 million de transactions par jour. En période de forte activité (comme le lancement d’un nouveau NFT ou d’un token), le mempool peut contenir plus de 50 000 transactions en attente. La clé ? Ne pas paniquer. Les transactions finissent toujours par être traitées - si elles sont bien configurées.
Le mempool, un système vivant
Le mempool n’est pas un simple tampon. C’est un écosystème dynamique, influencé par les comportements des utilisateurs, les stratégies des validateurs, et les mises à jour du protocole. Il reflète la santé du réseau : un mempool vide, c’est un réseau calme. Un mempool saturé, c’est un réseau vivant - mais cher.
Comprendre comment il fonctionne, c’est comprendre comment Ethereum prend ses décisions. Ce n’est pas un système centralisé. Ce n’est pas un ordinateur qui décide. C’est des milliers de nœuds, des milliers de validateurs, et des millions d’utilisateurs qui, par leurs choix de gaz et de nonce, façonnent ensemble l’ordre du monde Ethereum.
La prochaine fois que vous envoyerez une transaction, souvenez-vous : vous n’envoyez pas juste de l’Ether. Vous envoyez une voix dans un grand débat. Et votre gas price, c’est votre vote.
Quelle est la différence entre le mempool et un bloc ?
Le mempool est une liste temporaire de transactions en attente, tandis qu’un bloc est un ensemble de transactions validées et enregistrées définitivement sur la blockchain. Le mempool contient des transactions non confirmées ; un bloc contient celles qui ont été acceptées par les validateurs et ajoutées à la chaîne.
Pourquoi ma transaction reste-t-elle dans le mempool pendant des heures ?
Votre transaction a probablement un gas price trop bas par rapport à la demande du réseau. Les validateurs priorisent les transactions avec les frais les plus élevés. Si vous avez fixé un gaz de 5 Gwei pendant un pic d’activité, votre transaction peut attendre des heures - voire être supprimée du mempool après 24 à 48 heures.
Comment puis-je annuler une transaction bloquée ?
Vous ne pouvez pas l’annuler directement. Mais vous pouvez la remplacer en envoyant une nouvelle transaction avec le même nonce, mais un gas price plus élevé (au moins 10-15% de plus). Cela incite les validateurs à choisir la nouvelle version et à ignorer l’ancienne. C’est ce qu’on appelle un Replace-by-Fee (RBF).
Toutes les transactions entrent-elles dans le mempool ?
Non. Seules les transactions valides (signature correcte, nonce dans l’ordre, solde suffisant) sont acceptées. Les transactions mal formées, avec un gas trop bas, ou en double sont rejetées par certains nœuds. De plus, certains nœuds filtrent les transactions selon leurs propres règles, ce qui peut expliquer pourquoi une transaction apparaît sur certains sites mais pas sur d’autres.
Le mempool est-il le même sur tous les réseaux Ethereum (mainnet, Goerli, Sepolia) ?
Chaque réseau Ethereum a son propre mempool indépendant. Ce que vous voyez sur le mainnet n’a aucun lien avec le mempool de Sepolia ou de Goerli. Les transactions sur les réseaux de test ne sont pas transférées sur le réseau principal. C’est pourquoi vous pouvez envoyer des transactions gratuites sur Sepolia sans affecter le mainnet.