Lately I’ve been trying to move beyond the “Bitcoin number go up” side of things and actually understand what’s happening under the hood.One area that’s been messing with my brain a bit is the mempool and how transactions are prioritized.
At first I thought it was simple:
You send a transaction → it enters the mempool → miners pick it → confirmed.
But the deeper I read, the more complicated it seems.
Here are a few things I’m honestly still confused about and would love clarification on from people who’ve actually run nodes or studied the protocol deeply.
1. Is transaction selection only about fee rate?Everyone always says “higher sat/vByte wins,” but is that the full story?
Do miners strictly sort transactions by fee rate, or are there other things involved like:
[]transaction size
[]age
[]transaction dependencies
[]mempool policies
- or even private agreements?
For example, could a miner deliberately include a lower-fee transaction first for some reason?
2. Does all nodes have the exact same mempool?This part surprised me when I started reading.
I used to imagine Bitcoin had one giant global mempool everyone shared equally, but apparently that’s not really how it works.
So now I’m wondering:
[]can two nodes have completely different mempool contents?
[]can one node see a transaction while another hasn’t received it yet?
- during congestion, do nodes start dropping different transactions independently?
If that’s true, then the mempool is more like a local view each node maintains rather than a perfectly synchronized global queue.
3. What actually happens to low-fee transactions during congestion?Say I broadcast a transaction with a terrible fee.
Does it:
[]just sit there indefinitely,
[]eventually get dropped,
- or keep bouncing around the network until someone mines it?
And if nodes drop it from memory, does the transaction basically become “invisible” unless rebroadcast?
I’ve seen people say:
“Your transaction is stuck.”
But technically, what does “stuck” even mean inside the network?
4. Replace By Fee (RBF) still confuse me.I understand the idea that you have to rebroadcast the same transaction with a bigger fee to attract miners.
But I still don’t fully understand the mechanics.
Is RBF automatically honored by all nodes?
Can some nodes reject replacements?
Can miners completely ignore the replacement and mine the original anyway?
What happens if different nodes accept different versions temporarily?
The more I think about it, the more it feels like mempool policy is partially standardized but also partially discretionary.
5. Can miners include transactions “out of order”?This is something I rarely see discussed.
Imagine someone contacts a mining pool privately and says:
“I’ll pay you directly if you include my transaction immediately.”
Could a miner:
[]prioritize that transaction regardless of mempool ordering,
[]include a low-fee transaction intentionally,
- or even mine transactions that never propagated widely?
In other words, how much of transaction selection is consensus… and how much is simply miner preference?
6. About block templates…I recently learned miners build something called a block template before mining.
From what I understand, they’re basically trying to maximize total fee revenue within the block size/weight limit.
If that’s true, are miners effectively running an optimization algorithm every time they assemble a block?
Because once transaction dependencies, package fees, CPFP, and weight limits come into play, it sounds way more complicated than:
“Pick highest fee transactions first.”
7. Does mempool age matter at all?This is the question that really got me thinking.
Suppose:
Transaction A has a low fee but has been waiting for 5 days
Transaction B has a higher fee and was broadcast 10 seconds ago
Does the older transaction gain any priority over time?
Or is Bitcoin mempool logic basically:
“Fees rule everything forever”?
Because if age doesn’t matter at all, then the mempool behaves less like a queue and more like a continuous fee auction.
I’d really appreciate insights from people who:
[]run full nodes,
[]monitor mempool activity,
[]mine,
[]or understand Bitcoin Core internals better than the average user.
The more I study Bitcoin, the more I realize the mempool is probably one of the most misunderstood parts of the system.