Mempool or memory pool refers to a backlog of pending and unconfirmed transactions in a blockchain.
These unconfirmed transactions wait in the mempool to get validated and finalized in the upcoming block.
When you transact on a blockchain network, your crypto payments or transfers are not immediately confirmed. Your transactions have to be validated by miners on proof-of-work (PoW) blockchains and by validators on proof-of-stake (PoS) blockchains, who compile pending transactions into blocks.
Your transactions are only considered final once it is included in a block. Until then, your transactions will wait in a queue alongside all the other unconfirmed transactions in a place called the mempool.
The time taken to finalize a transaction will depend on the following factors:
- Blockchain network
- Time between blocks
- Gas fee
- Network congestion
The journey of a transaction from initiation to confirmation involves several steps. When a transaction is executed on a blockchain, it is broadcast to the entire network and queued in a mempool.
It is important to note that mempools are not standardized. Each blockchain node has its own mempool with transactions that may or may not differ from the transactions in a mempool of another node. A node may be configured in a way to receive transactions at different times, while some nodes may use lower-end hardware which can limit the amount of transactions it can store in its mempool.
Another important fact about the mempool is that not all the transactions in a mempool are treated equally. A miner or validator has the discretion to choose and pick which transactions to prioritize when creating a block.
Users often pay higher-than-average gas fees and offer tips to incentivize miners and validators to prioritize their transactions. Miners and validators are always looking to extract the maximum value (Maximal extractable value (MEV)) from a block due to the limited blockspace.