Category Archives: CPFP

Auto Added by WPeMatico

How to Push Through a Stuck Bitcoin Payment with the Child Pays for Parent (CPFP) Technique

How To Push Through A Stuck Bitcoin Payment With The Child Pays For Parent (CPFP) Technique

In order to understand what Child Pays For Parent (CPFP) is, how it works, and what it is useful for, it is first important to discuss how exactly Bitcoin transactions work. 

How Bitcoin Transactions Work: Confirmations, Transaction Fees, Mempool

When a Bitcoin transaction is sent it starts out as an unconfirmed transaction. On average an unconfirmed transaction receives a confirmation in 10 minutes if an appropriate miners fee is attached. That being said, 10 minutes is just 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 the appropriate miners’ fee is constantly fluctuating. Unconfirmed transactions reside in the Bitcoin mempool, and if this mempool becomes overloaded with unconfirmed transactions then the transaction fee rises. Essentially, Bitcoin users who do not want to wait for all of the other unconfirmed transactions to confirm, which could take hours, can set a higher transaction fee so that their transaction is given the highest priority and confirmed in the next block. 

Another way to think about it is that Bitcoin transaction fees are a marketplace, with the supply being the amount of room available in blocks, and the demand being the number of unconfirmed transactions in the mempool. Supply on average remains constant, but demand can increase, forcing Bitcoin transaction fees upwards. 

The most severe episode of mempool congestion occurred in December 2017, a time when Bitcoin hype, speculation, and trading activity was perhaps at its highest point in history so far. Bitcoin transaction fees skyrocketed above USD 50, or about 1,000 satoshis per byte. This was an anomalous event, and since then the highest transaction fees observed were USD 5-10 in late June 2019.

In general, it is quite common to see Bitcoin transaction fees rise above USD 1. Also, Bitcoin transaction fees are often lower than USD 1, sometimes dropping as low as a few cents, which is only a few satoshis per byte. 

The problem is that Bitcoin transaction fees can rapidly fluctuate between a few satoshis per byte to hundreds of satoshis per byte. This transaction fee volatility has become even more amplified since the bull run started in March 2019. 


The number of unconfirmed transactions in mempool between late June and late July 2019, with fees in satoshis/byte, colored. Chart courtesy of Johoe’s Bitcoin Mempool Statistics

A Bitcoin user may attach the proper transaction fee at the time they send, but then maybe it takes a while for the Bitcoin network to find the next block, or a rally starts on the market causing a rapid increase in transaction activity.

In either case, the mempool essentially becomes flooded with unconfirmed transactions, and the Bitcoin user who had attached an appropriate transaction fee only minutes ago realizes that the transaction fee is 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 and cryptocurrency exchange users since they will not be able to access their money until the mempool clears out and transaction fees drop, which could take a long time. 

One way of lessening the chance of sending a Bitcoin transaction that will get stuck is by keeping track of the Bitcoin mempool at Johoe’s Bitcoin Mempool Statistics. If you check this website before sending a Bitcoin transaction then you will know how much of a transaction fee you have to send to be safe. 

Child Pays for Parent Rescues Stuck Bitcoin Transactions

If that doesn’t work, or you use a low transaction fee by accident, then Child Pays For Parent (CPFP) is a technique that can be used to push through the transaction, rather than waiting for the mempool to clear out. 

A Bitcoin transaction consists of a set of inputs and outputs. For example, if someone has 1 Bitcoin in their wallet and they are trying to send 0.6 Bitcoin, then the 1 Bitcoin is the input, and the output is 0.6 Bitcoin to the receiver’s address, with 0.4 Bitcoin coming back as the change to the sender. CPFP utilizes the change in a Bitcoin transaction. 

Basically, if a Bitcoin transaction is stuck, then another transaction can be sent with the change from the transaction. The original stuck Bitcoin transaction is called the parent, and the new transaction using the change is called the child. 

Bitcoin mining software is not allowed to confirm a child transaction before the parent transaction, so the software aggregates the transactions and averages out the fees across them. Therefore, a much higher fee is added to the child transaction, raising the effective transaction fee for the stuck Bitcoin transaction, allowing the stuck Bitcoin transaction to be confirmed rather than waiting hours or days for the mempool to clear out. 

glad to see CPFP (child pays for parent) finally implemented in #bitcoin https://t.co/YOcCyI9llu

— Stephen Pair (@spair) June 17, 2016

The Bitcoin Core wallet, which is the official Bitcoin wallet, offers the capability to do CPFP. Also, Electrum and the Samurai Wallet are compatible with CPFP.

Coinbase began offering CPFP to users in Fall 2018. If a Bitcoin transaction remains unconfirmed for 4 blocks then Coinbase will send out a child transaction with a high enough fee to push through the stuck parent transaction. This has apparently saved numerous customers from having to wait for hours or days, improving the customer experience at Coinbase. 

Clearly, CPFP is a powerful technique that Bitcoiners should be aware of, since if a Bitcoin transaction ever gets stuck in unconfirmed status, then CPFP can be used to push the transaction through. This increases the efficiency of the Bitcoin economy and improves the Bitcoin experience as users who know how to utilize CPFP will not have to deal with their funds being tied up in an unconfirmed transaction for an extended period of time. Perhaps in the future CPFP will become an option in every Bitcoin wallet, which would create a smoother user experience for everyone and possibly increase Bitcoin adoption. 

BitcoinNews.com is committed to unbiased news and upholding journalistic codes of ethics. For more information please read our Editorial Policy here.

Follow BitcoinNews.com on Twitter: @BitcoinNewsCom
Telegram Alerts from BitcoinNews.com: https://t.me/bconews

Image Courtesy: Pixabay

The post How to Push Through a Stuck Bitcoin Payment with the Child Pays for Parent (CPFP) Technique appeared first on BitcoinNews.com.

CPFP Deployed by Coinbase to Rescue Stuck Bitcoin Transactions

Coinbase announced on 2 October 2018 that it is using Child Pays for Parent (CPFP) to push through Bitcoin transactions that get “stuck” due to fee volatility. Bitcoin transactions sent right before fees suddenly rise often get pushed down the queue in favor of transactions with higher fees; CPFP solves this issue, drastically improving the user experience.

Bitcoin transaction fees are not fixed, rather, the highest bidder gets their transaction confirmed the quickest. Therefore, if someone sends a Bitcoin transaction and the fee rapidly rises by the time the next block is found, the Bitcoin transaction can wait for confirmation for many hours. Essentially, a stuck Bitcoin transaction has to wait for transaction fees to go down before it goes through, since any Bitcoin transaction with higher fees is prioritized.

CPFP solves this problem by broadcasting another transaction connected to the original one. Most Bitcoin transactions have a change output, which is the total amount of Bitcoins from the inputs minus the amount being sent. This is similar to how in a grocery store someone gives USD 20 for USD 5 of milk and receives USD 15 of change.

Bitcoin change is sent back to the original wallet. With CPFP, another transaction is conducted with the change from the original transaction, with a much higher fee added. The second transaction is known as the child, while the original is the parent. Child transactions cannot be confirmed before a parent transaction, but they can be confirmed at the same time as miners will recognize the CPFP association. Bitcoin mining software usually groups pending child and parent transactions together, since they are dependent on one another, and combine their fees.

Thus, if the child transaction has a high enough fee, then the parent transaction will be confirmed. Coinbase uses CPFP after four blocks of a Bitcoin transaction being pending, an average of 40 minutes. Other crypto exchanges will likely adopt CPFP since it drastically improves user experience.

Coinbase reports that over the past few months they have rescued thousands of stuck Bitcoin transactions, and often batch together CPFP transactions to make them more efficient.

Bitcoin users using wallets that puts them in control of their own private keys, such as Electrum or Bitcoin Core, typically can perform their own CPFP transactions easily.

 

Follow BitcoinNews.com on Twitter: @bitcoinnewscom

Telegram Alerts from BitcoinNews.com: https://t.me/bconews

Want to advertise or get published on BitcoinNews.com? – View our Media Kit PDF here.

Image Courtesy: Pixabay

The post CPFP Deployed by Coinbase to Rescue Stuck Bitcoin Transactions appeared first on BitcoinNews.com.