- What is Mempool
‘Mempool’ (a compound of two words, ‘Memory’ and ‘Pool’) is a very important part of the Bitcoin Network (the network of computers and devices which are connected to the internet and are running the Bitcoin Core software). As its name suggests, it is a pool of memorized, held data. The data that is being stored on the Mempool are unconfirmed transactions that are currently stuck on the Bitcoin Network. Every piece of Mempool is stored on a special electronic device and its contents can be accessed and observed in real time. To explain how the Mempool works, we will first need to take a look at what happens during one Bitcoin transaction.
- How does Mempool work
Lets say you decide to send someone your Bitcoins. You will do so by completing a transaction. In order for this transaction to happen, you will first need to instruct your wallet to make said transaction by detailing the ammount of Bitcoin you wish to send and the location (another wallet) you wish to send your Bitcoin to. Confirming that you want to make your transaction will make your wallet do the following things, in order they are listed in:
- it will sign the transaction with your private keys
- it will pick one of your unspent transaction outputs required to construct the transaction
- it will broadcast the transaction onto the Bitcoin Network and prepare it to become fully verified
And this is where Bitcoin Mempool comes into play. Your transaction is not going to be completed the moment your wallet broadcasts it. Instead, it will be stored in the Mempool. It is called the ‘Mempool’ because the nodes on which it is stored do so in their RAM memory. A ‘node’ is an electronic device that is a part of the Bitcoin Network. Every node is running the Bitcoin Core software and holds a complete copy of the Blockchain. At the same time each node contains its own unique set of unconfirmed transactions, meaning that its nearly impossible for a single node to contain the entirety of the mempool. The number of these nodes around the world varies greatly from time to time due to many reasons, most of them being related to costs of keeping a node operational and bulkiness of the Bitcoin Core.
List of available nodes around the world as of January 2018
For your transaction to become completed, it needs to be confirmed/verified. For it to become verified, at least one miner needs to pick it up from the Mempool and validate it. Miners are people who use their computers to process and confirm Bitcoin transactions. The more times a single transaction is confirmed, its less likely that it will be compromised. Ideally, a transaction from the Mempool will be verified 6 times before it becomes a part of the Blockchain. Once your transaction is verified 6 times there is a 99,90% probability that it is valid.
Confirming Bitcoin transactions is a task which requires plenty of computational power and electricity so every time a miner validates a transaction he will receive a compensation for his efforts which will be paid out in Bitcoin. This compensation is called a transaction fee. This fee is presented in satoshis (1 satoshi = 0.00000001 BTC) per KB ot transaction data and is usually set by the transactor. Not all transactions come with identical transaction fees so the miners are free to look into the Mempool and choose which transactions they want to validate. Obviously most of them will be motivated by financial gain so higher the transaction fee, more likely it is that the transaction is going to be taken and validated by a miner.
Bitcoin mempool, as shown on https://dedi.jochen-hoenicke.de/queue/#24h. Different transaction fees are represented by different colours
After your transaction is validated enough times it becomes a part of the next block on the Blockchain. A ‘block’ is basically a set of unique Bitcoin transactions that were recently verified. Once one block is completed (filled with confirmed transactions) it is added to the Blockchain and will itself confirm all the blocks that predate it. Upon the addition of this block to the Blockchain, all the transactions that became a part of this block will be removed from their respective mempools. This will sharply reduce the size of the mempool and create space for information about new unconfirmed transactions to be stored.
Information about Mempool size and transactions, as shown on bitcointicker.co
The main issue that Mempool faces is its size. Since there is a limited number of nodes out there, there is only so much memory that can be used to store unconfirmed transactions on. Mempool size will also vary as number of nodes, as well as their capacity varies all the time. This size limitation becomes a problem especially if you consider the fact that Blockcain blocks are limited as well. Currently, a single Blockchain block is limited to a size of 1 MB. Also, there are limits on how long it takes to mine a new block, with the most recent one being 10 minutes. All these measures were put in place deliberately to create a bottleneck in the Bitcoin network. This bottleneck is a regulatory mechanism for Bitcoin trading which stops overmining of blocks and ensures that the value of Bitcoin doesnt plummet. The problem with this slow rate of transaction confirmation is that it can cause the Mempool to grow (become more filled with data). Once a certain size treshold is reached Mempool will, in order to avoid becoming overfilled, start dropping certain low priority transactions (mostly the low value transactions, also called ‘dust’ transactions). A dropped transaction does not dissapear entirely; all it takes for it to become a part of the Mempool again is that gets rebroadcasted.
A look at Bitcoin Mempool size variations from January 2017 to January 2018
Bitcoin Mempool is a part of the Bitcoin design document called BIP 35. BIP-s(Bitcoin Improvement Proposal) are used as the standard way of communicating ideas for improvement of Bitcoin technology. These documents are very valuable for Bitcoin development since Bitcoin doesnt have a formal, centralized structure. Mempool became an important part of the Bitcoin Network as it brought increased transparency and better control over unconfirmed transactions. It has also led to creation of lightweight SPV wallets which dont require devices to hold the entire Blockchain data. This was a big breakthrough as it allowed mobile phones and other space restricted devices to become a part of the Bitcoin Network. In the future, it is expected for Mempool to remain an integral part of the Bitcoin network, with plans being made to transfer the entire node network into Earth’s outer space.
If you are hardcore crypto-fanatic, you probably hold some of these coins as well. Here are the wallet solutions for them:
- Read here about best bitcoin wallets.
- Read here about best ETH wallets.
- Here is our list of best dashcoin wallets.
- Wonder what is the best wallet for Litecoin? Click here to find out.
- Read here about best NEO and GAS wallets.
- Here is our list of best Bitcoin Cash wallets.
- Read here about best PIVX wallets.