Published on: 2015-08-26T15:28:45+00:00
Breadwallet, a Bitcoin wallet provider, has implemented the Child Pays for Parent (CPFP) feature when spending unconfirmed non-change inputs. The feature was released in May 2015 and is available on the company's Github page. Meanwhile, Dan Bryant via bitcoin-dev offered a bounty for anyone who can put a CPFP transaction creation feature into any wallet featured on the bitcoin homepage. The funds will be dispersed from a multisig address. A bounty has been offered to anyone who can add a Child Pays for Parent (CPFP) transaction creation feature to any wallet featured on the Bitcoin homepage. The funds for the bounty are being raised by donation and will be dispersed from a specific address once the bounty is claimed. The address is currently not well-funded, but donations are welcome. Proof that the multisig address is not 1 of 1 can be found on Bitcointalk.org. It seems that someone attempted to increase a transaction and succeeded in getting it approved. The hash values of the parent, child, grandchild, great-grandchild, and great-great-grandchild blocks are provided, but the position of the transaction in the block is not a priority or fee cut line.During a conversation between Aaron Voisine and an unknown person on July 9, 2015, Aaron asked if the person knew how much hashing power was using CPFP. This information would be helpful for wallet developers to determine their confirmation times when utilizing CPFP. The other person was unsure of the exact percentage but suggested that at least 4% of hashing power on the Eligius platform was using CPFP.In a Bitcoin development mailing list, Luke Dashjr corrected a misconception in a BIP proposal regarding Child Pays for Parent (CPFP) transaction selection. The proposal assumed that miners were already utilizing CPFP, but Luke clarified that while it is not included in the reference policy, some miners do use it. Aaron Voisine, co-founder and CEO of breadwallet.com, chimed in to mention how knowing the amount of hashing power being used for CPFP could be useful for wallet developers to estimate confirmation times.In a conversation between Dan Bryant and Luke, it was discussed that when Dan wrote the BIP proposal, he assumed that CPFP (Child Pays For Parent) transaction selection was already being done by miners. However, it was pointed out that this assumption was correct, but not included in the reference policy. It was stated that miners are not expected to use the reference policy as-is and some of them do use CPFP.The discussion on Bitcoin development mailing list is about child pays for parent (CPFP) and Replace-by-fee (RBF). CPFP is a transaction selection policy in which the high fee from a child transaction is used to pay for its unconfirmed parent's fee. A pull request, #1647, has been created to implement CPFP but it only addresses miner policy. Matt Whitlock argues that wallets also need to offer users a way to goose up incoming transactions for CPFP to be effective. The sweep transaction UI issue is out of scope for the BIP proposal. Dan Bryant suggests talking with wallet authors to get them interested in this feature enhancement when PR1647 commits. The risks involved if CPFP is not enabled but the sweep tx enters the mempool are discussed and how miners may take the high fee "children" but ignore the low fee "parents," leading to potential issues. Peter Todd's article outlines the two forms of RBF: the countermeasure form and the anyonecanpay form. In the countermeasure form, the spender gives the receiver a partially signed "countermeasure" transaction with juiced-up fees. In the anyonecanpay form, the spender signs the transaction with ANYONECANPAY bit allowing the receiver to add fees at will. It is clarified that a transaction that is not completely signed won't be relayed, correct, and it cannot be mined. Lastly, Dan Bryant states he will try to clean up the draft BIP to include CPFP dependencies and RBF capabilities and will outline his thoughts in a doc.In a Bitcoin-development mailing list discussion, Mark Friedenbach introduced the concept of CPFP or “child pays for parent”. This feature allows miners to prioritize transactions in a block based on the fees attached to them. A pull request from 2015, PR#1647, implemented this feature which indicated that certain trees could bloom the TX selection latency as miners would need to be more dependency aware. However, it only addressed miner policy and did not offer a user-facing side of functionality. Matt Whitlock pointed out that the BIP proposal for CPFP mining policy does very little good if wallets don't offer any way for users to goose up incoming transactions.Mark Friedenbach has suggested a child pays for parent (CPFP) method which would require changes to the P2P layer to support RBF scorched earth.
Updated on: 2023-08-01T14:12:37.349353+00:00