Aller au contenu
buybitcoinsmart

Glossaire / Transactions et frais

Politique de mempool

Aussi appelé Politique de relais.

Qu'est-ce que la politique de mempool ?
La politique de mempool est l'ensemble de règles supplémentaires qu'un nœud applique avant d'accepter et de relayer une transaction, plus strictes que le consensus et modifiables par celui qui exploite le nœud.

Le consensus détermine ce qu'un bloc peut légalement contenir ; la politique détermine ce qui est transmis au préalable. Bitcoin Core plafonne une transaction standard à 400 000 unités de poids et refuse tout ce qui paie en dessous de son seuil de relais, et aucune de ces deux limites n'apparaît dans les règles de consensus. Une transaction peut être parfaitement valide et ne circuler nulle part.

Comment cela fonctionne

La politique est une seconde barrière placée devant le contrôle de consensus. Une transaction qui arrive à un nœud doit être valide, et elle doit aussi ressembler au type de transaction que l'exploitant est prêt à stocker et à transmettre. Échouez au premier test et la transaction est invalide partout ; échouez au second et elle est simplement indésirable ici, et peut être parfaitement acceptable pour le nœud voisin.

Les valeurs par défaut de Bitcoin Core couvrent plusieurs types de limites. La standardité restreint les types de scripts relayés, afin que des conditions de dépense nouvelles ou mal formées ne se propagent pas avant que le réseau ne les comprenne. Les limites de taille plafonnent une transaction standard à 400 000 unités de poids, soit un quart de bloc. Les limites de frais fixent le seuil de relais, abaissé de 1 sat/vB à 0,1 dans la version 30.0, ainsi que le seuil de poussière sur les sorties individuelles, qui est resté à son ancien prix de 3 sat/vB. Les limites de topologie plafonnent les groupes connectés de transactions non confirmées à 64 membres et 101 kilo-octets de taille virtuelle, les règles de cluster qui ont remplacé les anciens décomptes de 25 ancêtres et 25 descendants dans la version 31.0.

Chacun de ces chiffres est un réglage plutôt qu'une loi. Un exploitant peut relever le seuil de relais avec -minrelaytxfee, modifier la quantité de données qu'une sortie OP_RETURN peut transporter avec -datacarriersize, ou exécuter Bitcoin Knots, qui livre des valeurs par défaut délibérément plus strictes. Le plafond de 83 octets sur les sorties de transport de données est devenu l'argument de politique le plus retentissant depuis des années et s'est terminé avec Bitcoin Core 30.0 relevant la valeur par défaut à 100 000 octets, le supprimant de fait tout en laissant -datacarriersize=83 disponible à quiconque veut l'ancien comportement.

La politique évolue aussi plus vite que le consensus. Le remplacement intégral par les frais est devenu la valeur par défaut dans Bitcoin Core 28.0 en octobre 2024, et la même version a ajouté le relais opportuniste d'un parent et d'un enfant ensemble, ces deux changements prenant effet dès que les exploitants ont mis à jour, sans aucune forme de fork.

Où cela se voit

La politique se manifeste par un message d'erreur de votre propre portefeuille, bien avant qu'un mineur n'intervienne. Les rejets mentionnant les frais de relais, les sorties de poussière, un cluster trop volumineux de dépenses non confirmées ou un script non standard relèvent tous de la politique, et chacun signifie que la transaction n'a jamais été transmise à un seul pair.

Cela explique aussi pourquoi une transaction existe parfois sur un explorateur et pas sur un autre. Les explorateurs signalent le mempool de leur propre nœud, donc une transaction filtrée par la politique de ce nœud y est invisible alors qu'elle se confirme normalement ailleurs. Les mineurs peuvent recevoir des transactions directement via des points de soumission, en contournant entièrement le relais, ce qui explique que des transactions non standard apparaissent parfois dans des blocs sans avoir jamais été vues en attente.

Pour qui achète et conserve, le conseil pratique est étroit mais utile. La politique explique pourquoi un portefeuille refuse de créer une sortie de 300 satoshis, pourquoi une chaîne de dépenses non confirmées finit par cesser d'accepter un nouvel enfant, et pourquoi une transaction bloquée doit parfois être rediffusée plutôt que relancée par des frais plus élevés.

Politique de mempool vs règles de consensus

Enfreindre une règle de consensus rend un bloc invalide et le fait rejeter par l'ensemble du réseau, définitivement. Enfreindre une règle de politique signifie simplement que votre transaction attend, ou ne circule pas du tout, tout en restant parfaitement légale à miner. La politique est aussi le lieu où les soft forks sont répétés : les nouveaux types de dépense sont généralement rendus standard pour le relais avant ou en même temps que leur activation, afin que le réseau puisse les transporter en toute sécurité. Le consensus est la constitution ; la politique est le style maison de chaque nœud.

À ne pas confondre avec

Questions fréquentes

Une transaction peut-elle être valide et tout de même être rejetée ?

Oui, et cela arrive tous les jours. La politique se place devant le consensus, donc une transaction qui n'enfreint aucune règle de consensus peut tout de même se voir refuser le relais pour avoir payé en dessous du seuil, créé une sortie de poussière ou prolongé un cluster non confirmé au-delà de sa limite.

Qui décide de la politique de mempool ?

Chaque exploitant de nœud, en choisissant son logiciel et ses réglages. Bitcoin Core livre un jeu de valeurs par défaut et Bitcoin Knots en livre un plus strict, et les deux peuvent être ajustés avec des options de ligne de commande sans changer les blocs que le nœud accepte.

Termes associés

Plus de termes : Transactions et frais

Lire cette page en anglais