Aller au contenu
buybitcoinsmart

Glossaire / Confidentialité et sécurité

Limite de poussière

Aussi appelé Seuil de poussière.

Qu'est-ce que la limite de poussière ?
La limite de poussière est le montant le plus faible qu'une sortie bitcoin peut contenir avant que les nœuds refusent de relayer la transaction qui la crée, actuellement 546 satoshis pour une adresse legacy.

Les nœuds rejettent les transactions qui créent des sorties trop petites pour valoir la peine d'être dépensées, ce qui évite que le réseau ne se remplisse de miettes inutilisables. Bitcoin Core fixe la limite à trois satoshis par octet virtuel de la future dépense : 546 satoshis pour une sortie pay-to-public-key-hash, 294 pour du SegWit natif, 330 pour Taproot. Si un portefeuille refuse d'envoyer un montant, c'est généralement cette règle qui l'explique.

Comment cela fonctionne

Bitcoin Core applique la limite de poussière à chaque sortie séparément, et pose une seule question : dépenser cette sortie plus tard coûterait-il plus que ce que vaut la sortie ?

Le calcul se trouve dans GetDustThreshold dans src/policy/policy.cpp. Le nœud additionne la taille de la sortie telle qu'elle figure dans le registre et la taille de l'entrée qui la dépensera un jour, puis multiplie par DUST_RELAY_TX_FEE, une constante de politique de 3 000 satoshis par kilo-octet virtuel, soit 3 sat/vB. Reprenez le calcul pour les trois types de script courants :

  • Une sortie pay-to-public-key-hash fait 34 octets et demande 148 octets virtuels à dépenser, donc 182 vbytes à 3 sat/vB donnent 546 satoshis.
  • Une sortie SegWit native (bech32, commençant par bc1q) fait 31 octets et son entrée est réduite à environ 67 vbytes, ce qui donne 98 vbytes et 294 satoshis.
  • Une sortie Taproot (bc1p) fait 43 octets avec la même entrée réduite, ce qui donne 110 vbytes et 330 satoshis.

Deux détails comptent. D'abord, il s'agit d'une politique de relais, pas d'une règle de consensus : un mineur qui reçoit hors canal une transaction poussiéreuse peut l'inclure dans un bloc, et tous les nœuds accepteront ce bloc. Ensuite, les sorties OP_RETURN sont exemptées, car elles sont prouvablement non dépensables, il n'y a donc aucune entrée future à payer.

Le seuil est aussi resté inchangé alors que le marché des frais, lui, a bougé. Lors d'un pic à 200 sat/vB, dépenser cette même sortie legacy coûte environ 29 600 satoshis, elle est donc économiquement morte bien avant que le réseau ne la qualifie de poussière.

Où cela se voit

La limite de poussière apparaît sous forme de message d'erreur, presque jamais comme un concept.

Les portefeuilles la formulent par « montant inférieur au seuil de poussière », « sortie trop petite », ou grisent simplement le bouton d'envoi. Bitcoin Core et la plupart des logiciels de portefeuille l'appliquent aussi silencieusement à la monnaie : si le reste d'un paiement passe sous le seuil, le portefeuille supprime la sortie de monnaie et verse cette valeur au mineur en frais supplémentaires plutôt que de créer quelque chose que personne ne peut dépenser.

Les plateformes d'échange se situent de toute façon bien au-dessus de la limite. Leurs minimums de retrait sont fixés par leur propre coût de traitement d'une demande, pas par la politique, vous atteindrez donc un plancher de 0,0001 BTC ou de 10 dollars bien avant d'atteindre 546 satoshis.

Lightning a sa propre version de la règle. Chaque canal négocie une valeur dust_limit_satoshis, et le BOLT 2 exige au moins 354 satoshis sur les canaux utilisant des sorties à ancres. Tout paiement inférieur à cette limite n'obtient aucune sortie dans la transaction d'engagement : si le canal se ferme de force pendant qu'un tel paiement est en cours, le montant va aux mineurs en frais.

Limite de poussière vs poussière

La poussière est une somme de bitcoins ; la limite de poussière est une règle sur les bitcoins. Dans l'usage courant, la poussière désigne toute sortie trop petite pour valoir la peine d'être dépensée aux frais actuels, une frontière qui bouge chaque fois que la mempool se remplit. La limite de poussière est une constante de politique fixe qui ne bouge pas du tout. Cet écart explique pourquoi vous pouvez détenir une sortie que le réseau a relayée sans problème et la trouver malgré tout non rentable à dépenser.

Limite de poussière vs frais de relais minimum

Les frais de relais minimum sont un plancher sur l'ensemble de la transaction, par défaut 1 000 satoshis par kilo-octet virtuel, soit 1 sat/vB. La limite de poussière est un plancher sur une seule sortie, et elle utilise un taux délibérément plus élevé de 3 sat/vB pour qu'une sortie ne soit créée que si elle restera dépensable dans des conditions légèrement moins bonnes que celles de sa création. Une transaction peut dépasser confortablement les frais de relais et être tout de même rejetée parce qu'une sortie de 200 satoshis a échoué au contrôle de poussière.

À ne pas confondre avec

Questions fréquentes

Pourquoi la limite de poussière est-elle de 546 satoshis ?

Parce que 546 est le coût de dépense d'une sortie legacy pay-to-public-key-hash à 3 satoshis par octet virtuel. La sortie plus l'entrée qui la dépensera totalisent 182 octets virtuels, et Bitcoin Core multiplie ce total par ses frais de relais de poussière de 3 000 satoshis par kilo-octet virtuel.

Puis-je encore dépenser une sortie inférieure à la limite de poussière ?

Oui, si vous en détenez déjà une. La limite empêche la création de telles sorties au moment du relais ; elle ne gèle pas les sorties qui existent déjà. Dépenser une telle sortie coûte généralement plus en frais que sa valeur, et c'est précisément le point que la règle souligne.

La limite de poussière change-t-elle avec les frais du réseau ?

Non. C'est une constante de politique fixe, elle reste donc à 546, 294 ou 330 satoshis selon le type d'adresse, tandis que les frais réels varient entre 1 et plusieurs centaines de satoshis par octet virtuel.

Termes associés

Plus de termes : Confidentialité et sécurité

Lire cette page en anglais