Package relay is a proposed feature for Bitcoin relay nodes that would allow them to send and receive packages of related transactions which would be accepted or rejected based on the feerate of the overall package rather than having each individual transaction in the package accepted or rejected based only on its own feerate.
Without package relay, it’s not possible to effectively CPFP fee bump a transaction that’s below the minimum feerate nodes accept. Nodes will reject the parent transaction for its too low feerate and then ignore the fee-bumping child transaction because the parent transaction is needed in order to validate the child. This is especially problematic because the minimum feerate that a node accepts depends on the contents of its mempool, so a parent transaction that could previously be fee bumped might not be bumpable now. This has significant security implications for LN and other time-sensitive contract protocols that want to depend on CPFP fee bumping.
The main obstacle to adding package relay support to the Bitcoin P2P protocol is ensuring that an implementation of it doesn’t create any new vectors for denial-of-service attacks.
Primary code and documentation
Optech newsletter and website mentions
- Suggest to use CPFP with package relay to address RBF-related free option problem
- CoreDev.tech transcript of discussion about package relay and v3 transactions
- New proposed v3 transactions designed for use with package relay
- Bitcoin Core #24836 adds a regtest-only RPC,
submitpackage, to help test package relay
- Continued discussion of proposed package relay BIP
- BIP proposed for package relay
- Bitcoin Core #22674 adds logic for validating packages of transactions against relay policy
- 2021 year-in-review: mempool package acceptance and package relay
- Proposal of initial rules for mempool package acceptance before implementing package relay
- Bitcoin Core #21800 implements ancestor and descendant limits for mempool package acceptance
- Bitcoin Core #20833 allows
testmempoolacceptto evaluate descendant transaction chains
- Upcoming relay policy workshop to discuss package relay and other topics
- Discussion of solutions for attacks against LN, including package relay
- Change to orphan parent fetching, may be replaced by package relay
- New BIP339 wtxid transaction announcements simplifies package relay
- New LN attack; full solution requires package relay