Cluster mempool tracking issue #30289

issue sipa opened this issue on June 14, 2024
  1. sipa commented at 1:21 PM on June 14, 2024: member

    Plan:


    Ideas for future follow-ups:

    • Clean up the comparison operators of FeeFrac, especially the operator<< and operator>>: #34257 (review)
    • Support registering a weight limit, and have txgraph track lower/upper bound for how much fees can be gathered within that size. With callbacks when it changes, waiting block template clients can be notified perhaps.
  2. glozow referenced this in commit 37bd70a225 on Jul 26, 2024
  3. ?
    added_to_project_v2 glozow
  4. ?
    project_v2_item_status_changed glozow
  5. glozow referenced this in commit bba01ba18d on Aug 5, 2024
  6. ?
    removed_from_project_v2 achow101
  7. glozow referenced this in commit c38e9993de on Sep 16, 2024
  8. glozow referenced this in commit 489e5aa3a2 on Oct 10, 2024
  9. glozow referenced this in commit f34fe0806a on Nov 20, 2024
  10. summraznboi commented at 8:00 AM on December 4, 2024: none

    Wow, no ancestor/descendant limit would be great for unblocking UX hurdles in creating transactions! (Commenting to watch, also curious how someone like myself could help out here).

    Edit: I see, this is going to be replaced with a cluster size limitation instead. What's the order of magnitude in which this number could be increased up to?

  11. sipa commented at 3:04 PM on December 12, 2024: member

    @summraznboi We are thinking of a cluster size limit of 50 or 64, depending on benchmarks when the full code is done. The limit is set by how fast we can run the basic cluster linearization algorithm (ancestor sort, chunking, post-processing, ...) quickly enough to run it at transaction relay time (taking into account that a single transaction may affect many clusters).

  12. glozow referenced this in commit f1d129d963 on Mar 26, 2025
  13. glozow referenced this in commit 247e9de622 on Apr 17, 2025
  14. glozow referenced this in commit c9ab10910c on May 13, 2025
  15. glozow referenced this in commit 87ab69155d on Jul 7, 2025
  16. glozow referenced this in commit 5ef0d4897b on Jul 10, 2025
  17. glozow referenced this in commit 2f410ad78c on Jul 29, 2025
  18. glozow referenced this in commit 593d5fe37d on Sep 11, 2025
  19. glozow added the label Tracking Issue on Oct 9, 2025
  20. glozow referenced this in commit fdcf67de80 on Oct 14, 2025
  21. fanquake added this to the milestone 31.0 on Nov 25, 2025
  22. fanquake referenced this in commit 0c862bc7ea on Dec 19, 2025
  23. fanquake referenced this in commit c60f9cb66e on Jan 6, 2026
  24. fanquake referenced this in commit baa554f708 on Jan 15, 2026
  25. fanquake referenced this in commit c134b1a4bc on Feb 11, 2026
  26. fanquake referenced this in commit 59e10a5463 on Feb 18, 2026
  27. fanquake added the label Mempool on Feb 19, 2026
  28. fanquake referenced this in commit b9bf24cfe2 on Feb 25, 2026
  29. sipa commented at 1:18 PM on February 25, 2026: member

    I declare victory!

    Closing, though there are some follow-ups still interesting here.

  30. sipa closed this on Feb 25, 2026

Contributors

Milestone
31.0

Linked (view graph)
#28676 Cluster mempool implementation#29242 Mempool util: Add RBF diagram checks for single chunks against clusters of size 2#30126 cluster mempool: cluster linearization algorithm#30160 util: add BitSet#30161 util: add VecDeque#30285 cluster mempool: merging & postprocessing of linearizations#30286 cluster mempool: optimized candidate search#30392 Fee Estimation via Fee rate Forecasters tracking issue#30535 feefrac: add support for evaluating at given size#30605 Cluster linearization: separate tests from tests-of-tests#30857 cluster mempool: extend DepGraph functionality#31003 Add waitFeesChanged() to Mining interface#31122 cluster mempool: Implement changeset interface for mempool#31140 RPC: `getblockstats` might not return the *effective* percentile fee rate#31363 cluster mempool: introduce TxGraph#31444 cluster mempool: add txgraph diagrams/mining/eviction#31553 cluster mempool: add TxGraph reorg functionality#32151 Follow-ups for txgraph #31363#32177 TxGraph: Increase fuzz coverage#32191 Make TxGraph fuzz tests more deterministic#32240 feefrac test: avoid integer overflow (bugfix)#32263 cluster mempool: add TxGraph work controls#32300 feefrac: avoid integer overflow in temporary#32545 Replace cluster linearization algorithm with SFL#33157 cluster mempool: control/optimize TxGraph memory usage#33335 txgraph: randomize order of same-feerate distinct-cluster transactions#33354 txgraph: use enum Level instead of bool main_only#33469 TxGraph: change m_excluded_clusters#33591 Cluster mempool followups#33629 Cluster mempool#33862 txgraph: drop move assignment operator#34023 Optimized SFL cluster linearization#34085 cluster mempool: exploit SFL properties in txgraph#34138 Cluster mempool: more accurate cost model for SFL#34257 txgraph: deterministic optimal transaction order#34259 Find minimal chunks in SFL#34384 Remove epoch logic from mempool#34615 mempool: expose optimality of mempool to log / rpc#34616 Cluster mempool: SFL cost model (take 2)

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-05-01 06:13 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me