CPFP carve out
CPFP carve out is a transaction relay policy implemented in Bitcoin Core that allows a single transaction to moderately exceed the node’s maximum package size and depth limits if that transaction only has one unconfirmed ancestor.
This makes it possible for two-party contract protocols (such as the current LN protocol) to ensure both parties get a chance to use Child Pays For Parent (CPFP) fee bumping. The first party can use fee bumping up to the package limits, but can’t pin the transaction because the second party is able to use CPFP carve out.
Primary code and documentation
- CPFP carve-out proposal
- Bitcoin Core PR#15681: [mempool] Allow one extra single-ancestor transaction per package
Optech newsletter and website mentions
2024
- Idea to apply RBF rules to v3 transactions to allow removing CPFP carve-out for cluster mempool
- Discussion about the incompatibility between cluster mempool and CPFP carve-out
2021
2019
- Bitcoin Core 0.19 released with CPFP carve-out
- Continued discussion of LN anchor outputs using CPFP carve-out
- LN simplified commitments using CPFP carve-out
- Bitcoin Core #16421 merged allowing carve outs to be RBF replaced
- Bitcoin Core #15681 merged with CPFP carve out
- Proposal to override some BIP125 conditions, alternative to carve out
2018
See also
- Transaction pinning
- Anchor outputs
- Version 3 transaction relay
-
Bitcoin Core #16421 allowing RBF replacement of carve outs
Previous Topic:
Covenants
Next Topic:
Child pays for parent (CPFP)