Cluster Mempool divise la mempool en composantes connexes de parents et d’enfants, construit pour chacune une linéarisation topologiquement valide et l’emploie de manière cohérente pour le minage, l’éviction, le relay et les règles de remplacement.
Un cluster est une composante connexe du graphe des transactions non confirmées liées par des relations parent–enfant. Les clusters indépendants peuvent être évalués séparément : une modification de l’un n’impose donc pas de recalculer le reste de la mempool. [2]
Pour chaque cluster, le nœud construit une linéarisation topologiquement valide et la divise en chunks dont le taux de frais décroît depuis le plus avantageux. Il prend en tête les meilleurs chunks pour un bloc et évince en queue les moins avantageux. [2]
Les anciennes limites d’ancêtres et de descendants, associées à des approximations différentes pour le minage et l’éviction, ne reflétaient pas toujours la valeur réelle d’un paquet complexe. Borner le cluster permet de rechercher un meilleur ordre avec une quantité de travail prévisiblement limitée. [5]
Il s’agit d’une politique locale de mempool et de minage, et non d’une nouvelle règle de consensus. Des nœuds peuvent recevoir des transactions différentes, utiliser une autre version ou configuration et avoir des mempools distinctes ; la validité d’une transaction confirmée dans un bloc ne change pas. [2]
Bitcoin Core 31.0 a remplacé l’ancienne implémentation de la mempool par Cluster Mempool. Il a aussi ajouté les RPC getmempoolcluster et getmempoolfeeratediagram pour examiner un cluster, sa linéarisation et son diagramme de taux de frais. [1]
La politique par défaut limite un cluster à 64 transactions et 101 kB de taille virtuelle. Des arguments du nœud permettent de modifier ces limites, mais l’acceptation ou le relay par son propre nœud ne garantit pas la même politique chez les pairs et les mineurs. [1]
Le modèle harmonise la sélection pour le minage, l’éviction, les annonces de transactions et RBF. Un remplacement doit produire un diagramme de taux au moins aussi bon en tout point et strictement meilleur quelque part, tout en respectant les autres règles ; l’ancien CPFP carve-out a été supprimé au profit de TRUC et de sibling eviction. [3]
Avant d’affirmer le comportement d’une transaction donnée, il faut vérifier la version et la configuration du nœud, le cluster complet et ses chunks, le diagramme de taux ainsi que les autres conditions RBF. Un portefeuille ne doit pas supposer que tout le réseau applique la même politique locale. [4]
Pour une vision complète, lisez aussi Mempool, Package Relay, CPFP (Child Pays for Parent), Replace-by-Fee (RBF), Transaction Fees, Block Template.
01Cluster Mempool modifie-t-il le consensus ?+
Non. Bitcoin Core 31.0 a modifié sa mempool locale, la sélection pour le minage et la politique de relay ; la validité consensuelle des transactions incluses dans un bloc n’a pas changé.
02Qu’est-ce qui change pour augmenter les frais ?+
Le nœud évalue les transactions dépendantes par chunks et exige, pour RBF, un diagramme de taux strictement meilleur ainsi que les autres conditions de remplacement. Le résultat dépend toujours de la politique du nœud concerné.