bitcoin-dev

V3 Transactions are still vulnerable to significant tx pinning griefing attacks

V3 Transactions are still vulnerable to significant tx pinning griefing attacks

Original Postby Greg Sanders

Posted on: December 20, 2023 20:16 UTC

The email from Greg addresses the constraints and considerations involved in implementing a "static" approach for Child Pays for Parent (CPFP) transactions within Bitcoin's protocol.

He highlights the inherent limitation of requiring users to decide beforehand the size of the CPFP layer, which is currently set at an arbitrary value of 1 kilovirtualbyte (kvB). This value permits a reasonable amount of taproot inputs, approximately 14, allowing users some flexibility in executing CPFP transactions. However, Greg acknowledges the need for a more adaptable solution, though it is noted that such alternatives are still at an early conceptual phase and would likely necessitate more foundational changes to the system.

Greg also discusses the concept of "pinning potential," which involves various factors such as the size of the parent transaction, the maximum size of a child transaction, and what he refers to as the "honest" child size. The honest child size considers the scenario where a user may not manage their unspent transaction outputs (UTXOs) efficiently or if the commitment transaction has a high value due to numerous high-value Hash Time-Locked Contracts (HTLCs). In such cases, the potential for pinning—the ability to prioritize certain transactions—could be virtually nonexistent. Conversely, if a user consistently has only one UTXO, the maximum pinning potential could be fully realized. Greg concludes by suggesting that while the worst-case scenario under the current limitations is not ideal, it is still a significant improvement over the existing situation by a factor of about 500 to 1000 times, indicating a moderate level of acceptance for the trade-offs involved.