Package relay
Le package relay est l'évolution de la propagation des transactions par paquet (parent + enfants). Indispensable au CPFP fiable et à l'éphémère anchor outputs. Activé progressivement dans Bitcoin Core. Améliore la robustesse de Lightning.
Le problème à résoudre
Avant le package relay, chaque nœud Bitcoin évaluait les transactions individuellement lors du gossip. Conséquence : une transaction parent sous-payée était rejetée par les mempools, même si une transaction enfant (CPFP) compensait largement les frais. Cette limite cassait toute la stratégie Child-Pays-For-Parent pour Lightning, et donnait aux attaquants une marge pour le transaction pinning : épingler une transaction non profitable pour bloquer son remplacement.
Comment ça change
Le package relay permet à un nœud d'évaluer plusieurs transactions ensemble comme un seul paquet :
- Calcul du fee rate agrégé : (somme des frais) / (somme des poids).
- Évaluation conjointe pour la politique mempool.
- Propagation atomique : si le paquet est accepté, toutes les transactions le sont.
Un paquet typique : 1 parent + 1 enfant CPFP. Cas plus complexe : 1 parent + plusieurs enfants pour un commitment Lightning.
Implémentation et timeline
| Version Bitcoin Core | Fonctionnalité |
|----------------------|----------------|
| 24.0 (déc. 2022) | submitpackage RPC pour 1P1C |
| 27.0 (avr. 2024) | Validation de paquets via mempool acceptance |
| 28.0 (oct. 2024) | Package relay (BIP-331) en cours |
| Future | Topologies plus complexes (1PN, multi-parent) |
La fonctionnalité avance progressivement, principalement portée par Gloria Zhao et l'équipe Spiral.
Pourquoi c'est crucial pour Lightning
Sur Lightning, en cas de fermeture forcée, on publie une commitment transaction dont le fee rate dépend du moment de l'ouverture du canal (peut être très bas). Sans package relay, impossible de fee-bumper fiablement avec un CPFP : la commit tx serait rejetée des mempools.
Avec le package relay, la commit + son CPFP forment un paquet qui se propage de manière atomique, même si le fee rate moyen du réseau a explosé entre-temps. C'est le prérequis pour les anchor outputs modernes (BOLT-3) et les ephemeral anchors (proposition en cours).
Use cases élargis
- CPFP plus fiable pour les marchands
- Submarine swaps plus robustes
- DLCs où le règlement final dépend de plusieurs transactions
- Vaults : sortie d'urgence avec parent timelock + enfant fee bump
Limites en cours
- Le standard limite encore à des structures simples (1 parent + 1 enfant ou 1 parent + N enfants).
- Le mining doit aussi prendre les paquets en compte ; Stratum V2 et certains pools sont en train d'adapter leur logique.
- Les eclipse attacks ciblées peuvent encore couper le routage du paquet.
À retenir
Le package relay est un fondement discret mais structurant pour les couches supérieures de Bitcoin. Il rend fiables des stratégies de frais auparavant fragiles, et débloque la robustesse opérationnelle de Lightning à grande échelle.
Termes lies
- CPFP (Child-Pays-For-Parent)CPFP est une technique où une transaction enfant paie des frais élevés pour inciter à miner sa parente. Utile quand on n'a pas activé RBF. Repose sur la sélection par paquet (package) du mineur. Combinaison utile en cas de congestion.
- Ephemeral AnchorsLes Ephemeral Anchors (BIP-431) sont l'évolution des anchor outputs : sorties à 0 sat dépensables sans signature. Économisent de la place et des frais. Nécessitent package relay. Future norme Lightning.
- Transaction pinningLe transaction pinning consiste à bloquer le RBF d'une transaction en y attachant des dépendances volumineuses. Vulnérabilité notable des canaux Lightning. Replacement cycling et package relay sont des contre-mesures à l'étude. Sujet sensible pour les transactions multipartites.
- Anchor outputsLes anchor outputs sont des sorties spéciales d'une transaction d'engagement permettant le CPFP en cas de force close avec mempool plein. Standard moderne des canaux Lightning. Atténue Flood and Loot.
Glossaire inspire du dictionnaire de Loic Morel sur Pandul.fr.