Post-clustermempool package RBF: per-chunk processing

Post-clustermempool package RBF: per-chunk processing

Original Postby instagibbs

Posted on: May 24, 2024 18:13 UTC

The email discusses a specific issue within the context of Replace-By-Fee (RBF) mechanics, highlighting a scenario where a higher fee transaction (V) is replaced by a lower fee transaction (E), which contradicts the original intent behind RBF rules.

This situation is problematic for several reasons. First, it disrupts user expectations by facilitating a non-incentive compatible RBF, akin to an ANYONECANPAY transaction, leading to a legacy mempool problem. Secondly, even setting aside anti-Denial-of-Service (DoS) measures, this practice necessitates that the original transaction V be rebroadcast only to be evicted and then re-admitted into the mempool, suggesting that maintaining V without replacement would have been more efficient.

The communication further explores potential solutions and ideas to address such issues, albeit with varying degrees of feasibility. One suggestion involves TRUC (Transaction Replacement Under Consensus), modified to restrict the network topology to certain sizes or shapes, ensuring optimal linearization of transactions. Another concept proposes the introduction of a "top block" (v4) mechanism, where the transaction E exists in a top-block chunk, implying its preemption in processing despite RBF rules. Additionally, the email mentions refining the RBF process when a transaction connects to a cluster not optimally linearized by imposing potentially burdensome RBF constraints. Lastly, it suggests a method for allowing the existing mempool diagram to "learn" about new transaction chunks (denoted as $[P,B,C]$) simultaneously with the introduction of new diagrams, thereby leveraging additional work done by new transactions for the benefit of the existing mempool.