RBF (Replace-by-Fee), qu’est-ce que c’est ?

RBF est une fonctionnalité du protocole Bitcoin qui permet de remplacer une transaction non confirmée par une autre version avec des frais plus élevés, pour accélérer sa confirmation par les mineurs.


🧠 Pourquoi utiliser RBF ?

Imagine que tu envoies une transaction avec des frais trop bas :
→ elle peut rester bloquée dans le mempool (la « file d’attente ») pendant des heures, voire des jours.

👉 Avec RBF, tu peux dire à ton portefeuille :
« Remplace cette transaction par une version identique, mais avec des frais plus élevés pour motiver les mineurs à la valider plus vite. »


🛠️ Comment ça fonctionne techniquement ?

  1. La première transaction est émise avec un indicateur « remplaçable » (nSequence < 0xffffffff - 1).
  2. Tant qu’elle n’est pas confirmée, tu peux émettre une nouvelle version avec :
    • les mêmes entrées (les bitcoins dépensés),
    • des frais plus élevés (par exemple en diminuant le montant rendu à toi-même),
    • et, souvent, la même destination.
  3. Le nœud Bitcoin qui reçoit cette nouvelle version remplace l’ancienne dans son mempool.
  4. Les mineurs, attirés par les frais plus élevés, sont plus susceptibles de l’inclure dans un bloc rapidement.

🔒 Est-ce risqué pour le destinataire ?

Un peu, si le destinataire accepte une transaction non confirmée comme paiement immédiat, il s’expose à un risque de double dépense si l’expéditeur utilise RBF pour envoyer les fonds ailleurs.

➡️ Pour cette raison, beaucoup d’utilisateurs attendent un ou plusieurs confirmations avant de considérer un paiement comme définitif.


🆚 RBF vs CPFP (Child Pays For Parent)

  • RBF : le payeur remplace sa propre transaction avec des frais plus élevés.
  • CPFP : le destinataire ou un tiers ajoute une nouvelle transaction (« enfant ») avec de gros frais, pour motiver les mineurs à inclure la transaction parente.

📝 Depuis Bitcoin Core 29.0…

Le Full RBF (c’est-à-dire l’activation de RBF pour toutes les transactions, sans distinction) est désormais le comportement par défaut dans le mempool. Cela signifie qu’un nœud accepte automatiquement qu’une transaction soit remplacée, même si elle ne signalait pas explicitement RBF au départ.