Aller au contenu principal
Transactions

RBF (Replace-By-Fee)

RBF (BIP-125) permet de remplacer une transaction non confirmée par une autre payant plus de frais. Sortie unstuck quand le réseau est congestionné. Le full RBF (Bitcoin Core 24+) accepte le remplacement même sans signal. Sujet de débats philosophiques sur la finalité.

Remplacer une transaction non confirmée

RBF (Replace-By-Fee, BIP-125) est le mécanisme qui permet de remplacer une transaction non confirmée par une nouvelle, payant plus de frais. Indispensable quand ton paiement est bloqué dans le mempool depuis trop longtemps : tu signes une transaction de remplacement avec un fee rate plus élevé, le réseau l'accepte à la place de l'ancienne, le mineur prend la nouvelle.

Opt-in vs Full RBF

Historiquement (BIP-125, 2015), une transaction devait signaler explicitement qu'elle était remplaçable, en mettant un nSequence inférieur à 0xfffffffe sur au moins un input. Sinon, les nœuds refusaient le remplacement. C'est le opt-in RBF.

Depuis Bitcoin Core 24+ (et activé par défaut en 26), le full RBF est disponible : tout transaction non confirmée peut être remplacée, sans signal préalable. Cette évolution a fait débat, en particulier pour les marchands acceptant des paiements zero-conf : un acheteur peut techniquement faire un double-spend rétroactif.

Les conditions du remplacement

Pour qu'un remplacement soit accepté, il doit :

  1. inclure tous les inputs originaux ;
  2. ne pas inclure de nouveaux UTXO non confirmés ;
  3. payer un fee rate strictement supérieur à l'ancien ;
  4. payer un total de frais strictement supérieur ;
  5. respecter une fee bump suffisante (incremental_relay_fee).

Ces règles évitent qu'un attaquant puisse pinguer indéfiniment des transactions.

RBF en pratique

Tous les wallets modernes proposent RBF :

  • Sparrow Wallet, Electrum, Bitcoin Core ont des boutons "fee bump".
  • Phoenix, BlueWallet l'activent par défaut.
  • Sur mobile, c'est généralement transparent.

Si tu envoies une transaction et qu'elle stagne, RBF est ton premier réflexe.

Risques

RBF a des effets de bord :

  • Zero-conf moins fiable : un commerçant qui accepte une transaction avant confirmation peut être victime d'un double-spend.
  • Lightning : le replacement cycling exploite RBF pour évincer rétroactivement des transactions. Mitigé par anchor outputs et package relay.

Alternative : CPFP

Si tu n'as pas activé RBF (ou que la transaction est déjà signée par un autre signataire d'un multisig), tu peux faire un CPFP : créer une transaction enfant qui consomme l'output non confirmé avec un gros fee. Le mineur choisira alors d'inclure les deux ensemble pour maximiser ses revenus.

Termes lies

← Retour au glossaire complet

Glossaire inspire du dictionnaire de Loic Morel sur Pandul.fr.