Ever wondered what happens to your Bitcoin transaction before it is confirmed? It is added to a waiting room with several other unconfirmed transactions. This waiting room is called a mempool and it is an integral part of the Bitcoin mining process. A mempool or a memory pool is a mechanism for storing information on unconfirmed transactions. These transactions have been verified but have not yet been included in the blockchain.
Transactions are not added to a blockchain as soon as you make a payment. They are first sent to peer nodes for verification. Each node verifies the cryptographic signatures, checks if the funds are available, etc. Once the checks are done, the transaction is again broadcasted to nearby nodes. The goal is to send the transaction data to as many nodes as possible. This can help the nodes reach a consensus regarding the validity of a transaction.
If the transaction is invalid, then a node would simply drop it. This can happen if the sender has an insufficient balance in their wallet or the recipient’s public key is invalid. On the other hand, if a node is able to deem that a transaction as valid, it will be moved to the mempool, where a mining node can pick it up and package it into a block.
What happens to your transaction once it reaches the mempool?
In a utopian world, a miner will pick up your transaction as soon as it reaches the mempool and add it to the blockchain in 10 minutes (the block time of Bitcoin is 10 minutes). However, this usually never happens. This is because there are thousands of other transactions in the mempool waiting to be confirmed.
Therefore, if the size of the mempool is very large, your transaction can remain unconfirmed for a while. Further, if a transaction remains in the mempool for too long, it will eventually be removed. This is because mempools have an expiry time of two weeks. Any transitions that remain in the mempool for more than two weeks will be cancelled, and the funds will return to your wallet.
What is mempool size?
Each transaction sent into the mempool is a data package no larger than a few kilobytes (kb). When we add these bytes, we arrive at the current size of the mempool. A larger size means that several transactions are waiting to be confirmed. It could also indicate increased network traffic, where more transactions are added to the mempool than confirmed. In this case, you will have to pay more transaction fees to confirm your transaction on priority.
While there is no maximum size as such, nodes can set a size limit to the mempool. This limit is usually 300MB. Once the mempool reaches this limit, nodes might assign a minimum transaction fee. Any transactions that do not meet this limit will be removed from the mempool. Further, the transactions will also be prioritized based on their transaction fee. This helps miners pick up prioritized transactions.
Seeing how mempool size can affect transaction times and fees, checking this factor before sending in a transaction is a smart move. Several websites allow you to check mempool sizes on the Bitcoin network. Some of the more popular options include BitcoinTicker.co, Jochen-hoenicke.de, Blockchain.com, etc.
Importance of mempools
Mempools are of advantage for both miners and users. They help miners pick up transactions based on priority, which can be helpful when there is a lot of traffic on the network. Miners can also download the current “transaction waiting list” to start confirming transactions. For users and the network, mempools provide resistance against DDoS attacks. These attacks occur when bad actors flood the network with minuscule transactions to create unmanageable congestion.
Read More:Explained: Mempools and their importance in the Bitcoin mining process