A Stroll through Fee-Bumping Techniques : Input-Based vs Child-Pay-For-Parent



Summary:

The post discusses fee-bumping techniques for second-layer protocols. It compares the input-based and Child-Pay-For-Parent (CPFP) approaches, which are known but raise security issues in trustless contract protocols. Input-based bumping can be done via SIGHASH_ANYONECANPAY/SIGHASH_SINGLE malleability flags but doesn't work for first stage transactions with multiple outputs. To overcome this limitation, the post suggests deploying the SIGHASH_ANYPREVOUT softfork proposal. This proposal allows fee-bumping without invalidating previous signatures. The post further suggests that advanced sighash malleability flags such as SIGHASH_IOMAP could improve the proposed solution.The post compares onchain footprint, tx-relay bandwidth rebroadcast, batching, and mempool flexibility between the two approaches. Additionally, the post mentions a tx mutation scheme as another class of solutions.In recent news, a proposal was made on the bitcoin-dev mailing list to go beyond the revault architecture. The proposal was shared through a link to a practical-revault document on Github. This is not the first time such a proposal has been made as it was proposed earlier on bitcointalk.org. The proposal discusses how already-relayed transactions shouldn't pass Core's `filterInventoryKnown` in theory but in practice, if the transaction is announced as part of a package_id, the child might have changed, not the parent, leading to a redundant relay of the latter.


Updated on: 2023-06-14T22:16:39.009722+00:00