CPFP

Uit BitcoinWiki.nl

CPFP staat voor Child Pays for Parent. Het is een manier om Transacties (sneller) te laten bevestigen. Kortweg komt het erop neer dat je de outputs van een onbevestigde transactie uitgeeft met een hogere fee, om daarmee de onbevestigde transactie te bevestigen.

Waarom werkt dit?

CPFP werkt omdat:

  • Transactie die in een blok komen moeten ALTIJD terugverwijzen naar transacties in een bevestigd blok. Om de nieuwe CPFP-transactie te bevestigen MOETEN miners dus de oude transactie bevestigen, en in het(zelfde) blok zetten.
  • Miners willen geld verdienen en zullen je duurdere CPFP-transactie willen bevestigen.

Welke fee gebruiken bij mijn CPFP?

Het is belangrijk te beseffen dat als je oude transactie 1sat/vB had, en huidige blokken 20sat/vB , dat je een CPFP niet voor elkaar krijgt met 20sat/vB.

Miners willen geld verdienen met hun gelimiteerde blokruimte. Als ze dus jouw CPFP doen, dan bekijken ze hoeveel fee ze ontvangen voor je nieuwe CPFP-transactie, maar ze bedenken ook dat ze ruimte moeten geven aan je oude transactie. Je moet dus meer dan 20sat/vB uitgeven om voor het pakketje transacties (oude + nieuwe CPFP) uit te komen op een goede fee.

Calculator: https://cpfp.djbooth007.com/

Ontvangen bitcoin uitgeven CPFP'en

Je kan als ontvanger van een onbevestigde transactie, deze CPFP'en. Kijk wel eerst of de goedkopere optie RBF een optie is voor je.

Om een transactie te CPFP'en, dient je wallet jou toe te staan Coinselectie te doen. Je selecteert de onbevestigde coins en geeft deze uit voor een hogere fee.

Als verzender de change uitgeven

Als jij bitcoin hebt uitgegeven en je krijgt klachten dat de transactie te lang duurt, dan kan je mogelijk CPFP gebruiken. Controleer eerst of jouw wallet RBF ondersteunt, dat is een goedkopere optie.

Normaalgesproken kan de ontvanger van een transactie deze bitcoin uitgeven op de CPFP-manier. Maar als verzender ben je niet de hoofd-ontvanger van een transactie. Met een beetje geluk is er wel change. Dit is het wisselgeld dat in je (onbevestigde) transactie terug werd gestuurd naar jouw wallet. Deze change is ook onbevestigd, want het zit in dezelfde onbevestigde transactie.

In wallets die Coinselectie toestaan kan je de change selecteren en deze uitgeven tegen een hogere fee, hiermee doe je een CPFP-transactie.

In het geval van Lightning is deze truc ook te gebruiken:

  1. Bij het funden van de wallet van jouw Lightning Node, kan je de onbevestigde tegoeden al gebruiken om kanalen te openen. Hiermee kan je de kanaal-opentransactie ('child') gebruiken, om de funding-transactie ('parent') bevestigd te krijgen. In de commandline kan je dit doen door het argument --min_confs 0 toe te voegen aan het kanaal-open commando. Maar ook in de app/interface 'Ride the Lightning'/RTL zit de optie 'Spend Unconfirmend Output' bij het openen van kanalen.
  2. Als het openen van jouw kanaal te lang duurt, dan kan je de change van de kanaal-opentransactie CPFP'en. Dit is wel een wat geavanceerde manier van werken. Ook dit kan in RTL, middels de optie 'Bump Fee'.