Le Mempool : Qu’est-ce que c’est ?
Tous ceux qui ont utilisé le Bitcoin ont utilisé le Mempool, ou un Mempool. Alors, qu’est-ce que le mempool ?
Eh bien, techniquement, il n’existe pas de « Mempool » unique. Chaque nœud Bitcoin complet individuel exploite son propre Mempool, un cache de transactions bitcoin valides qui ont été diffusées sur le réseau mais n’ont pas encore été confirmées dans un bloc. Les nœuds échangent des messages les uns avec les autres pour voir quelles transactions elles ont ou non, et échangent celles qu’elles n’ont pas.
Chaque Mempool est sa propre île indépendante, avec son propre ensemble de transactions non confirmées, et parfois ses propres variables et paramètres de configuration. Il y a une valeur de taille à configurer, définie sur 300 Mo par défaut. En plus de cela, il y a un minimum qui s’ajuste dynamiquement et peut avoir une valeur configurée. Ceci est utilisé pour décider quelles transactions expulser de votre mempool lorsqu’il est complet et que d’autres transactions continuent d’arriver. Il existe quelques autres options configurables, telles que les options Datacarrier et DataCarriersize affectant les transactions contenant des sorties OP_return.
Différents nœuds ont des raisons différentes pour gérer un mempool, et donc des besoins différents. Mais c’est finalement par le biais de tout le monde en synchronie qui exécute ses propres mempools en interagissant les uns avec les autres que ces besoins individuels sont satisfaits.
Considérez chaque mempool comme une piscine littérale, toutes connectées les unes aux autres par des canaux dans le sol. Plus un Mempool est grand, plus la piscine dans le sol est profonde. Les mineurs, les échanges, et les explorateurs de blocs seront tous des piscines les plus profondes. Ils ont tous des raisons différentes de vouloir connaître chaque transaction non confirmée qui attend d’entrer dans un bloc. Les mineurs veulent être sûrs d’avoir les transactions les plus rentables pour leur prochain bloc, tandis que les échanges veulent être conscients de toutes les transactions en cours.
Considérez maintenant chaque transaction comme une goutte de liquide ; plus le feeate est élevé, plus la goutte de liquide est dense. Ces gouttes s’écoulent dans les canaux entre les piscines, et à l’arrivée de chaque piscine, une goutte reçue est dupliquée puis envoyée via les canaux à tout autre pool qui n’a pas déjà obtenu cette goutte. Au fur et à mesure que les piscines se remplissent, les liquides moins denses (frais inférieurs) se répandent sur le bord et hors de la piscine en premier.
Enfin, un mineur chanceux ramasse une quantité limitée de liquide au fond de sa piscine et la jette dans le plus récent réservoir de verre dans une longue série de réservoirs de verre à serpent remplis de liquide pour s’y installer pour toujours (la blockchain). C’est un moyen de penser intuitivement au système et de comprendre la majeure partie de sa dynamique.
Transacteurs
Les utilisateurs qui effectuent des transactions ont deux utilisations pour le Mempool. D’abord et avant tout, il s’agit d’obtenir leurs transactions aux mineurs. S’ils n’atteignent pas un Miners Mempool, il n’y a pas de moyen possible pour eux de se retrouver dans un bloc. Les transactions garantissent qu’une fois qu’une transaction est mise dans un seul mempool, elle se terminera dans les mempools de tous les mineurs. Avoir un réseau décentralisé robuste pour garantir que les transactions passent d’un utilisateur à tous les mineurs, indépendamment des connexions changeantes, est précieux.
La deuxième utilisation est l’estimation des frais, ce qui est particulièrement important pour les utilisateurs de couche 2 qui pourraient avoir besoin d’assurer qu’une transaction soit confirmée en temps opportun. Il est possible d’obtenir une estimation des frais en examinant la feeate des transactions dans ces blocs, mais cela ne dit rien sur l’état actuel du Mempool après le dernier bloc. Cela ne tient pas compte des pointes soudaines ou des acteurs opportunistes qui inondent le mempool. Sans vue complète du Mempool, l’estimation des frais ne peut être fiable.
Récepteurs
Lorsque vous recevez Bitcoin, votre nœud vérifie la transaction ainsi que le bloc entier. La transaction qui vous paie est diffusée, se termine dans le mempool d’un mineur, et ce mineur trouve un bloc, lequel est ensuite diffusé sur le réseau. Ensuite, votre nœud télécharge et vérifie ce bloc.
Cependant, ce n’est pas ainsi que cela fonctionne réellement (sauf si vous désactivez le mempool de votre nœud et que vous exécutez en mode blocksonly). Votre nœud valide chaque transaction lorsqu’elle est reçue pour la première fois dans son mempool et l’enregistre comme une transaction Bitcoin valide. Lorsqu’un mineur trouve un bloc, il ne relaye que le bloc et une petite information compressée qui peut être utilisée pour déterminer les transactions dans un bloc. Votre nœud saisit les transactions pré-validées, vérifie l’en-tête, et si tout est en ordre, il transmet le « bloc compact ».
Cette optimisation explique pourquoi les mineurs ne dépendent plus de réseaux de relais centralisés et autorisés.
Mineurs
Les mineurs veulent évidemment tout voir. Ce sont des entités axées sur le profit qui souhaitent sélectionner parmi le plus grand ensemble de transactions en attente possibles, celles avec les frais les plus élevés. C’est ainsi qu’ils maximisent leurs bénéfices.
Ils tirent littéralement de l’argent du mempool. Leur incitation à acquérir toutes les transactions valides avec des frais est telle qu’ils ont, historiquement et sûrement à l’avenir, construit de nombreux systèmes pour permettre aux utilisateurs de soumettre directement les transactions aux mineurs.
Explorateurs de blocs, Analyse de chaînes, etc.
Comme les mineurs, ils veulent voir chaque transaction en attente. La principale différence est que les mineurs monétisent directement ces transactions, tandis que les explorateurs de blockchain et les sociétés d’analyse le font indirectement en analysant et en fournissant des informations sur ces transactions.
Ils sont connus pour acheter des métadonnées concernant l’activité de transaction en chaîne. Block Explorers monétisent les affichages visuels et leur modèle commercial repose sur cela.
L’information veut couler
Toutes ces classes d’utilisateurs bénéficient d’un Mempool public en raison d’une dynamique simple : l’information circule librement. Tant qu’il y a des frais suffisants pour dépasser les filtres de relais minimum, cela offre de la valeur à chaque utilisateur.
Sans un Mempool public fonctionnel, les alternatives viables sont les solutions centralisées ou le chaos ingérable de mempool fragmenté.
Cela soulève des problèmes potentiels de manipulation des données et d’inquiétudes concernant la valeur extractible par les mineurs. Sans un mempool public sain, Bitcoin devra faire face à ces défis.
Dans un article de suivi, j’examinerai ces problèmes, ainsi que différents types de filtres de mempool et pourquoi ils existent.
Résumé
Le Mempool joue un rôle crucial dans l’écosystème Bitcoin, permettant aux transactions de circuler librement entre les utilisateurs, mineurs, et autres parties. Comprendre son fonctionnement et son importance est essentiel pour naviguer efficacement dans le monde des cryptomonnaies.