17 / 736MEM

Mempool

la réserve locale de transactions en attente d’un nœud

Où va un paiement après son envoi, pourquoi il attend parfois et pourquoi sa disparition d’un explorateur ne signifie pas qu’il est annulé.

Le Mempool est l’endroit où un nœud Bitcoin conserve les transactions acceptées qui ne sont pas encore confirmées dans un bloc. Un nœud est un ordinateur relié au réseau Bitcoin. Chacun possède sa réserve : il n’existe pas de file commune avec un ordre garanti. Un explorateur est un site qui permet de consulter les transactions et les blocs.

Après avoir appuyé sur Envoyer, le portefeuille transmet une transaction signée au réseau. Les nœuds qui la reçoivent vérifient qu’elle respecte les règles du réseau et leurs conditions locales d’admission. Si elle les remplit, ils peuvent la conserver dans leur mempool et la transmettre. Voir un paiement dans un explorateur signifie donc que son opérateur le connaît, pas qu’il est confirmé. La première confirmation vient seulement de son inclusion dans un bloc valide de la chaîne actuelle. Même cela peut changer lors d’une réorganisation, quand le réseau adopte une autre branche valide ayant accumulé davantage de travail. [2]

Un mempool n’est pas une file à la caisse. La place dans un bloc est limitée et les mineurs ont intérêt à choisir les transactions qui la rémunèrent le mieux. Le taux pertinent est exprimé en sat/vB : des satoshis, les plus petites unités de BTC, par octet virtuel, l’unité utilisée par Bitcoin pour comptabiliser la taille des transactions. Ainsi, 100 vB à 10 sat/vB coûtent 1 000 satoshis. Ce n’est pas un pourcentage du montant envoyé. Si la transaction dépense une sortie d’une autre transaction non confirmée, les frais de l’ensemble des transactions qui dépendent les unes des autres comptent aussi. Même un taux élevé ne promet ni bloc précis ni délai exact. [4]

Les nœuds reçoivent les transactions différemment et peuvent avoir d’autres limites de mémoire ou règles d’acceptation et de transmission. Il leur manque parfois une transaction antérieure dont dépend le nouveau paiement. Le nombre de paiements en attente et les estimations de frais peuvent donc varier. Ces règles locales de fonctionnement sont distinctes du consensus, c’est-à-dire des conditions communes de validité des blocs. Un nœud peut accepter un bloc valide contenant une transaction qui n’a jamais figuré dans son propre mempool. [2]

Une fois confirmée, la transaction n’attend plus dans le mempool. Elle peut aussi en sortir par manque de mémoire, après une attente trop longue ou si une autre transaction dépensant les mêmes fonds la remplace. Son retrait d’un nœud n’est pas une annulation dans tout le réseau : d’autres peuvent la garder et un mineur peut la confirmer plus tard. Un seul enregistrement manquant ne permet donc pas de conclure que payer à nouveau avec d’autres fonds est sans risque. Vérifiez d’abord l’état dans le portefeuille et un éventuel remplacement. Après une réorganisation, certaines transactions retirées de la chaîne peuvent revenir en attente si elles passent de nouveau les contrôles. [1] [2]

Pour une vérification courante, distinguez le paiement non confirmé de celui inclus dans un bloc, puis examinez son taux de frais et ses éventuelles transactions antérieures. Avec votre propre Bitcoin Core, getmempoolentry décrit une transaction connue localement et getmempoolinfo résume la réserve. Ces commandes interrogent votre nœud, pas une liste centrale de tout le réseau. Un explorateur public fournit lui aussi sa propre vue ; son estimation du délai peut changer avec l’arrivée de transactions et de blocs. [3]

Pour une vision complète, lisez aussi Transaction, Transaction Fees, Minage, Full Node, UTXO. Cette entrée est également citée par Minage, Transaction, UTXO, Transaction Fees.

01Existe-t-il un mempool Bitcoin mondial ?

Non. Chaque nœud possède sa réserve, qui dépend des transactions reçues, de ses réglages, de sa mémoire et des transactions qu’il accepte et transmet.

02Que se passe-t-il si une transaction disparaît du mempool ?

Vérifiez d’abord si elle a déjà été confirmée dans un bloc. Sinon, un nœud a pu la retirer ou la remplacer. Un autre peut la conserver et un mineur la confirmer plus tard : disparaître d’un mempool ne suffit donc pas à annuler le paiement.

DOC · 001Bitcoin Core v29.0: mempoolSource primaire DOC · 002Bitcoin Core v29.0: transaction admissionSource primaire DOC · 003Bitcoin Core v29.0: mempool RPCSource primaire DOC · 004Bitcoin Core v29.0: block transaction selectionSource primaire
Révisé le: Sources d’abord · Pas un conseil financier