transactions : Qu'entend-on par poussière de Bitcoin ?


La poussière est souvent utilisée familièrement pour désigner toute petite quantité d'UTXO. En revanche, la définition précise de la poussière de Bitcoin Core est utilisée dans la politique de mempool pour définir un minimum pour les montants de sortie dans les transactions standard.

Bitcoin Core considère le résultat d'une transaction comme de la poussière, lorsque sa valeur est inférieure au coût de sa création et de sa dépense au taux dustRelayFee. La valeur par défaut de dustRelayFee est de 3 000 sat/kvB¹, ce qui donne les mêmes valeurs de poussière que la définition de poussière précédente utilisée avant Bitcoin Core 0.15.0. La définition précédente de la poussière liait la limite de poussière au taux minRelayTxFee et au coût de dépense d'une production dépassant 1/3 de sa valeur.

Avec le dustRelayFee par défaut de 3 000 sat/kvB, étant donné que la taille d'une entrée P2PKH est de 148 octets et que la taille d'une sortie P2PKH est de 34 octets, les sorties P2PKH valent moins de 546 satoshi sont considérés comme de la poussière par Bitcoin Core (546 satoshi étant la plus petite valeur sans poussière). Pour les sorties P2WPKH, Bitcoin Core considère les sorties valant moins de 294 satoshis² poussière. Étant donné que les tailles d'entrée des sorties scripthash et taproot sont inconnaissables, Bitcoin Core combine leurs tailles de sortie réelles avec les tailles d'entrée des types de keyhash correspondants pour les seuils de poussière de 540 satoshi pour P2SH, et 330 satoshi pour P2WSH et P2TR.

transactions : Qu'entend-on par poussière de Bitcoin ?

Le dustRelayFee peut être défini avec l'option de ligne de commande cachée -dustrelayfee.

Le throw_rate correspond à l'estimation du taux de frais cible la plus longue (actuellement l'estimation du taux de frais par bloc de 1 000), mais est limité à au moins dustRelayFee et au plus 10 000 satoshi/kvB. Tout résultat de changement qui serait de la poussière au taux de rejet, c'est-à-dire qui coûterait plus cher à dépenser que sa valeur au taux de rejet, sera automatiquement ajouté aux frais au lieu d'être créé en tant que résultat de changement.

Autres utilisations de la « poussière »

Notez que le terme « poussière » est également utilisé familièrement pour désigner a) tout UTXO d'une valeur extrêmement faible et b) les UTXO qui ne sont pas rentables à créer ou à dépenser au tarif actuel.

¹ La taille de la transaction a été mesurée en octets avant le segwit. Depuis le segwit, la mesure pertinente est le poids de la transaction qui est soit donné en octets virtuels (vbyte, vB) soit en unités de poids (wu) où 4 wu = 1 vB. Pour les transactions non-segwit, leur taille est égale à leur taille virtuelle : 1 B = 1 vB. Pour les transactions segwit, leur taille virtuelle est inférieure ou égale à leur taille. Vous pouvez en savoir plus sur ces unités sur Y a-t-il une différence entre les octets et les octets virtuels (vbytes).

attendre à ce que la limite de poussière pour les sorties P2WPKH soit de 297 satoshis car les sorties P2WPKH font 31 octets et les entrées P2WPKH environ 68 voctets, mais il semble que lorsque la limite de poussière pour les sorties P2WPKH a été implémentée, le code contenait une erreur d'arrondi. dans la taille de l'entrée qui l'a fait supposer un vbyte plus petit qu'il ne l'est réellement. (Chapeau à Crypt-iQ pour l'avoir signalé.)