Mempool Bitcoin

En savoir plus sur la Mempool Bitcoin

La Mempool, abréviation de « Memory Pool », est un espace de stockage temporaire partagé par tous les nœuds du réseau, là où les transactions Bitcoin en attente de confirmation sont conservées.
On peut imaginer la Mempool comme une salle d’attente où les transactions Bitcoin attendent leur tour pour être traitées et validées par les mineurs.

Les étapes suivies par une transaction Bitcoin

Lorsqu’un utilisateur valide une transaction, celle-ci est diffusée sur le réseau Bitcoin. Pour ce faire, le wallet envoie la transaction au nœud bitcoin qui lui est lié. Ce dernier procède alors à plusieurs vérifications préliminaires pour s’assurer que la transaction est conforme. Si c’est bien le cas, elle est ajoutée à la mempool du nœud en question. Dans le même temps, le nœud va propager cette transaction à tous les autres nœuds du réseau.

Chaque nœud du réseau vérifie lui aussi la validité de chaque transaction qu’il reçoit et qu’elle respecte les règles du protocole Bitcoin. Ceci afin de s’assurer qu’elle ne provient pas d’un nœud compromis. La transaction est alors ajoutée à la mempool de chaque noeud.

On parle de mempool au singulier, mais en réalité, chaque nœud possède sa propre mempool. La diffusion d’une transaction sur l’ensemble du réseau bitcoin est très rapide, de l’ordre de quelques secondes seulement. On pourrait donc supposer que le contenu de la mempool est identique sur tous les nœuds, mais à un instant t, il y a quelques variations dues à la latence de la synchronisation et aux options locales du nœud bitcoin.

Lorsqu’un mineur valide un bloc, il va y placer un ensemble de transactions les plus rémunératrices pour lui, à savoir celles qui ont les frais les plus élevés. Il va alors pouvoir propager le bloc trouvé sur l’ensemble du réseau afin qu’il puisse être ajouté à la blockchain.

Ceci étant, les transactions présentes dans le bloc ont été déplacées de la mempool pour être inscrites définitivement dans la blockchain.

Illustrations avec TimeChain Calendar et bitfeed.live

Sur TimeChain Calendar, on trouve des informations très générales sur l’état de la mempool, à savoir le nombre de transactions en attentes et la profondeur de blocs, c’est-à-dire le nombre théorique de blocs nécessaires pour purger les transactions actuellement dans la mempool.

capture
TimeChain Calendar

Depuis TimeChain Calendar, on peut lancer Bitfeed.live.

bitfeed
bitfeed

On y trouve, sous forme graphique, la composition du dernier bloc miné. En bas de l’écran, on voit une animation qui montre comment la mempool se remplit en temps réel. Chaque carré y représente une transaction, la taille représentant l’occupation de chaque transaction dans le bloc. En survolant avec la souris et en cliquant, on obtient les détails pour chacune d’elles. On peut ainsi y connaître l’adresse de départ, les adresses de destination, le montant et les frais engagés.

On constate également une différence dans le nombre de transactions estimées dans la mempool, par Bitffeed et TimeChain calendar : outre les différences locales entre les nœuds, il peut y avoir des méhodes différentes sur la méthode de comptabilisation. Certains explorateurs incluent toutes les transactions diffusées sur le réseau, tandis que d’autres peuvent exclure les transactions considérées comme non confirmables ou à faible priorité.