# An overview of the cluster mempool proposal

**URL:** <https://delvingbitcoin.org/t/an-overview-of-the-cluster-mempool-proposal/393>\
**Category:** Implementation\
**Tags:** mempool\
**Created:** [January 9, 2024, 5:45pm UTC](https://delvingbitcoin.org/t/an-overview-of-the-cluster-mempool-proposal/393 "2024-01-09T17:45:37Z")\
**Posts on this page:** 1\
**Showing post:** 16

<div class="post-metadata">

**Author:** ![instagibbs](https://delvingbitcoin.org/user_avatar/delvingbitcoin.org/instagibbs/32/28_2.png) [@instagibbs](https://delvingbitcoin.org/u/instagibbs)\
**Post date:** [February 8, 2024, 3:23pm UTC](https://delvingbitcoin.org/t/an-overview-of-the-cluster-mempool-proposal/393/16 "2024-02-08T15:23:54Z")

</div>

> [@sdaftuar](#):
>
> So A, B, C are in the mempool and D arrives. ABC is at the cluster size limit, and the cluster should chunk as [AB, C]. Running your algorithm, we mark C for eviction, and then mark B for eviction – at which point we’ve freed enough space. We compare [AD] to [AB, C] and assuming I made D’s feerate high enough, it gets in. But now there is room for C to be re-added as well.

You’re of course right, since we’re not optimally pruning these effects can still happen. So you might want to have the evicting party pay for it, but then let it back in via re-submission. Or just be more optimal.

> [@sdaftuar](#):
>
> it would be a shame if we were held up in deploying it due to reliance that has developed on existing behavior.

Shower-thought level quality aside, the goal is to give wallets, who maybe don’t even see the cluster limit being hit, a way to improve the mempool and get their transactions confirmed. If we find an even better way later, we should take it.

> [@sdaftuar](#):
>
> then I think it would make sense to motivate the logic with a use case that would need it.

A couple use-cases for motivation in the future, all relying on cluster sizes of [above 2](https://delvingbitcoin.org/t/v3-and-some-possible-futures/523):

1. 0-conf funding transactions in LN. Funding transaction may have descendants added on, so the anchor spend(or slightly larger replacement) is unable to enter the cluster.
2. Ark/Timeout trees. You may want log(n) nodes in the tree published with a single anchor at the end of the chain, but once enough branches are put into the mempool, you’re unable to make attempts at inclusion.

Adding anchors at each step “fixes” these, but significant marginal bytes to protect against scenarios no one has seen in the wild is a hard sell.

---

_[View the full topic](https://delvingbitcoin.org/t/an-overview-of-the-cluster-mempool-proposal/393)._
