In order to understand what the Child Pays For Parent (CPFP) is, how it works and what it is for, it is first important to understand how exactly Bitcoin transactions work.
How Bitcoin transactions work: confirmations, transaction fees, Mempool
When a bitcoin transaction is sent, it begins as an unconfirmed transaction. On average, an unconfirmed transaction receives confirmation within 10 minutes if an appropriate commission is attached. That said, 10 minutes is only an average confirmation time and in reality confirmations can take anywhere from a few seconds to several hours.
An important caveat that occurs when sending bitcoin is that miners’ fees fluctuate constantly. Unconfirmed transactions reside in the bitcoin transaction pool, and if that pool becomes overloaded with unconfirmed transactions, transaction costs increase. Bitcoin users who do not want to wait for all other unconfirmed transactions to be confirmed, which could take hours, can set higher transaction fees so that their transaction is processed first and confirmed in the next block.
Another way of looking at it is that bitcoin transaction fees are a market, with supply being the amount of space available in blocks, and demand being the number of unconfirmed transactions in the mempool. Supply remains on average constant, but demand may increase, forcing bitcoin transaction costs to rise.
The most serious episode of mempool congestion occurred in December 2017, a period when the hype, speculation and commercial activity of bitcoin was perhaps at its peak in history so far. Bitcoin transaction fees have soared above $ 50, or around 1,000 satoshis per byte. This is an abnormal event and since then the highest transaction costs observed were $ 5 to $ 10 at the end of June 2019.
It is quite common to see Bitcoin transaction fees exceed $ 1, but they are often less than $ 1, sometimes even less than a few cents, which represents only a few satoshis per byte.
The problem is, Bitcoin transaction fees can quickly fluctuate between a few satoshis per byte and hundreds of satoshis per byte. This volatility in transaction costs has increased further since the start of the upward movement in March 2019.
A bitcoin user can attach the appropriate transaction fees at the time of sending, but it may take a while for the bitcoin network to find the next block, or a recovery may start in the market resulting in a rapid increase in transactions…
In either case, the mempool is essentially awash with unconfirmed transactions, and the bitcoin user who had set the appropriate transaction fees just a few minutes ago realizes that the transaction fees are now far too low. .
This can result in an unconfirmed Bitcoin transaction getting stuck for hours or days, which can cause serious problems for Bitcoin ATM users and exchange sites since they will not be able to access their money. as long as the mempool is not emptied and the transaction costs do not drop.
One way to reduce the chances of sending a blocked Bitcoin transaction is to keep an eye on the Bitcoin mempool on Johoe’s Bitcoin Mempool Statistics. If you check this website before sending a bitcoin transaction you will know how much transaction fees you need to send to be sure.
Child pays for parents rescues stuck bitcoin transactions
If a transaction does not work, or if you use low transaction fees by accident, then Child Pays For Parent (CPFP) is a technique that can be used to move the transaction forward rather than waiting for the mempool to be empty.
A Bitcoin transaction consists of a set of inputs and outputs. For example, if someone has 1 bitcoin in their wallet and they try to send 0.6 bitcoin, then 1 bitcoin is the input and the output is 0.6 bitcoin at the receiver’s address, with 0.4 bitcoin returning as a change (change) to the sender. The CPFP uses the change in a Bitcoin transaction.
Basically, if a bitcoin transaction is blocked, then another transaction can be sent with the change of the transaction. The original blocked bitcoin transaction is called the parent transaction, and the new transaction using the change is called the child.
Bitcoin mining software is not allowed to confirm a child transaction before the parental transaction, so the software aggregates the transactions and averages the costs between them. As a result, much higher fees are added to the child transaction, which increases the actual transaction fees for the blocked bitcoin transaction and allows it to be confirmed rather than waiting hours or days for the mempool to empty.