The user’s USD-wallet in personal account is a simulation wallet. Buying and selling coins in indexes, gains or losses thereon is a virtual simulation. We are not able to conduct any transactions with the currency.
When a bitcoin transaction is sent to the network, first off, it gets checked by nodes — computers, which are members of the Bitcoin network. After this check, it is placed in the space of unconfirmed transactions of the node and stored while waiting to be included in a block by some miner. Such a ‘waiting hall’ is essentially a mempool.
What is Bitcoin Mempool?
Bitcoin Mempool is a combination of all transactions sent by users to a network but not yet included in new blocks by miners. Every bitcoin transaction checked by the network nodes is automatically added to this space for storage and further confirmation. Diagram 1 shows the total number of transactions yet to be confirmed.
There are as many separate mempools as there are nodes. Due to the fact that the Bitcoin network is distributed, not all nodes receive the same batches of transactions simultaneously. That is why some nodes store more transactions than others. Then two to three thousand of them are placed in each 1 MB block.
All working full nodes are connected to the common Bitcoin Mempool. As soon as transactions reach the mempool, miners gradually take them, while solving computational problems on their devices. Records of these transactions constitute a block, and a successful problem solving is considered block generation. Adding a new block to the chain leads to confirmation of all transactions contained in it.
Mempool operating principle
All mempools consist of pending transactions sent by users. Before allowing a transaction, a node must check it according to all criteria. Those that successfully pass the check are placed in a mempool, and the failed transactions are rejected.
When a node receives information about a new block, it removes from its mempool all transactions that were confirmed in this block. It also removes transactions with conflicting inputs. This allows clearing the memory and reducing the size of the mempool. It is worth considering that when the memory is full, the nodes begin to prioritise using the minimum threshold: transactions with a fee below the threshold are immediately removed.
On average, it takes 10 minutes to get the first confirmation, which corresponds to the block mining time. However, in practice, depending on the number of pending transactions in the mempool at any given time, this period can be extended. Such cases cause significant delays in confirmation. It happens because miners also do not take up confirmation of transactions with a small fee. Diagram 2 shows the present fee for pending transactions.
Anyone can launch their own node on existing equipment. This explains the variety of sizes of mempools in the Bitcoin network because each node has a unique memory capacity. Sizes are usually presented as a unit of memory and are measured in MB.
It is easy to determine whether and when a delay is possible. If the size is less than 1 MB, there will be no delays. However, any increase in size will mean that the number of blocks to be mined will multiply, so that the queue reaches the last pending transaction. Accordingly, the average confirmation time will also increase proportionally.
The current size of the mempool is ~4 MB. It means that most transactions will have to wait for at least 3 blocks to be generated until they are confirmed as part of the next one. Given 10 minutes per block, there are about 30 minutes of waiting in the queue. Diagram 3 shows the current mempool size.