Every node maintains a separate, particular person mempool. Whereas the default limits its dimension to 300 MiB, every node operator can set their very own worth. Be aware that the mempool dimension restrict doesn’t pertain to the serialized information or the transaction weight of the queued transactions (which is what’s written to the block and what you see listed on a mempool displays respectively), however to the precise reminiscence utilization of the deserialized transaction information on the node. This reminiscence utilization is platform dependent. In outcome, transactions begin getting dropped when mempool displays attain a block depth of about 80-95 blocks.
When a node’s mempool restrict is reached, it would drop the transactions with the bottom feerate and improve its minMempoolFeeRate
. It’ll talk its new minMempoolFeeRate
to its friends, mainly telling friends to not ahead transactions under that feerate in the intervening time. Be aware that each node does this individually, so a node with a bigger mempool or completely different structure might drop transactions earlier or later. Nodes will make a copy of transactions which are related to their very own pockets. Even when all different nodes have dropped a transaction, the sender and recipients of a transaction would retain a duplicate. The sender can both pressure his node to drop the unique transaction and ship one other conflicting transaction to replace it, or their node will proceed to attempt to broadcast the transaction so that it’s going to ultimately get relayed on the community once more as soon as the queue has receded.
After the queue decreases below the 300 MiB restrict and with some added delay, a node will decrease their minMempoolFeeRate
and begin accepting transactions once more that it beforehand expelled.
You’ll be able to presently observe this occurring e.g. on Johoe’s mempool monitor¹:
As you possibly can see, the 1-2 sat/B band dropped round 7am that morning when the node’s mempool exceeded its restrict.
¹Note that there are two BTC views and the linked and related on this case is BTC (default mempool)
)