What is the Bitcoin Mempool? A Beginner’s Explanation
Last updated: 4/5/19
If you’ve been into Bitcoin long enough, you may have heard the term “Mempool” being thrown around. In this post I’ll explain exactly what the Mempool is and why it’s important.
The Mempool is a “waiting area” for Bitcoin transactions that each full node maintains for itself. After a transaction is verified by a node, it waits inside the Mempool until it’s picked up by a Bitcoin miner and inserted into a block.
If you want a more detailed explanation about the Mempool keep on reading, here’s what I’ll cover:
Before we begin, here’s a short and important video about how Bitcoin transactions get confirmed:
When a Bitcoin transaction is transmitted to the network, it first gets verified by all of the Bitcoin nodes available. After it successfully passes verification by a node, it sits inside that node’s “Unconfirmed Transactions” area called the “Mempool” (short for Memory Pool). The transaction patiently awaits until a miner picks it up and includes it in the next block.
The Mempool is basically the node’s holding area for all the pending transactions.
Each node has a different capacity for storing unconfirmed transactions. As a result, each node has its own rendition of the pending transactions. This explains the variety of Mempool sizes & transaction counts found on different sources.
You may be wondering: how do nodes keep from crashing due to overload of pending transactions in the Mempool?
The answer is simple. Once the Mempool reaches full capacity, the nodes start prioritizing transactions by setting up a minimal transaction fee threshold. Transactions with a fee/kB lower than the threshold are immediately removed from the Mempool and only new transactions with a large enough fee are allowed access to the Mempool.
The Mempool is part of BIP 35 (Bitcoin Improvement Proposal). The idea was that outside nodes would be able to access other nodes’ Mempool. This is useful for several cases:
- SPV clients (aka lite wallets), wishing to know about transactions before they were confirmed and entered into a block.
- Miners who want to check for lucrative fees or download the current “transaction waiting list” in order to start confirming transaction.
- Remote network diagnostics.
The Mempool is the “waiting room” of the Bitcoin network. The faster transactions are cleared from it and added into blocks on the Blockchain, the better experience users will get. In other words, if new transactions arrive at a higher rate than they are cleared from the mempool into blocks, a “traffic jam” will occur and transactions can take a long time to get approved (depending on their size and attached fee).
When a node receives the latest mined block from the miner, it removes all the transactions contained in this block from its mempool. This results in a sharp drop in the Mempool size.
If you want to see the current status on the Mempool you can take a look at this graph
If, for example, the Mempool size is around 3MB then most transactions will have to wait at least one or two blocks until they get confirmed. This is since each block is 1MB in size so it can take up to 3 confirmations to clear the whole mempool (assuming no new transactions are coming in).
Keep in mind that some of the Mempool transactions are low priority transactions that their sender knows they will take a long time to be confirmed – for example “dust transactions” (sending really small amounts of Bitcoin).
The Mempool is a very important part of the Bitcoin network. It allows us to understand how crowded the network is and if there are “transaction traffic jams” which result in slower confirmation times and higher fees.
Got more questions about the Mempool? Leave the in the comment section below!
Bitcoin Video Crash Course
Dummy-proof explainer videos enjoyed by over 100,000 students. One email a day for 7 days, short and educational, guaranteed.
We hate spam as much as you do. You can unsubscribe with one click.