An overview of the cluster mempool proposal

An overview of the cluster mempool proposal

Original Postby sdaftuar

Posted on: February 2, 2024 14:30 UTC

The email explores the possibility of implementing a sibling eviction policy as an alternative to the CPFP carveout rule, which is used to prioritize transactions in Bitcoin's mempool.

The sender proposes a method where a transaction that cannot join a cluster due to size limits could trigger the eviction of a sibling transaction (a transaction with the same unconfirmed parent) to make room for itself. This would be contingent on the transaction passing the Replace-By-Fee (RBF) rules, ensuring that the new set of transactions (mempool plus new transaction minus the candidate for replacement) is more favorable in terms of fees.

However, the sender identifies a flaw in this proposal: an evicted transaction could potentially re-enter the mempool if it satisfies the size limit without its descendants, failing the intuitive criteria that no evicted transaction should succeed in re-entering the mempool immediately after eviction. To address this, one suggestion is to only consider sibling transactions for eviction if they have no unconfirmed children, but this approach has limitations and does not serve as an effective carveout substitute; it is vulnerable to pinning when the sibling transaction has multiple children.

The complexity increases further when considering which child transaction to evict if there are multiple candidates, as there is no clear criterion for making such a choice. The email references v3 policy rules as a potential solution, noting that these rules require child transactions to have no descendants, thus preventing immediate re-entry into the mempool once evicted.

Throughout the discussion, concerns about the economic implications and usability for users are raised, suggesting the need for a mechanism that provides more options than strict rules without economic ways to bypass them. The sender concludes by acknowledging the value of examining failed ideas, referencing a comment made by another community member, @harding.