The widespread assertion that our digital future is firmly linked to blockchain technology has given rise to confidence in its absolute problem-free nature. However, such a statement slightly does not correspond to the real picture. Without setting ourselves the task of a detailed analysis of all the pros and cons of this technology, we should mention such a ambiguous component of the blockchain network as the mempool. In order to somehow streamline the processing sequence of many transactions performed on the blockchain network before including them in blocks, a mechanism for intermediate storage of unconfirmed transactions is used. It assumes the presence of a certain “gateway” space in the blockchain network, which is called a mempool. Essentially, a mempool is nothing more than a waiting area for each transaction that has entered the network from a user, and needs further verification and processing by a miner before it reaches its final goal – getting into the block of the network. In the mempool, the principle of any storage “first in – first out” is practically not observed, since the priority of moving a transaction from the mempool to a block often depends not only on the time of its arrival into the mempool. In order to be able to navigate well the situation with online transaction processing and further actions, you need to use special tools of Mempool.
Features of nodes` mempools
As you know, any transaction initiated by any network user is not enough to simply distribute and confirm it among other nodes of this network. The transaction requires final acceptance by the miner. Without this, the transaction will not receive its immutable status in the distributed ledger block. And since the number of transactions is huge, and there is no possibility of processing them simultaneously, they must be structured in a mempool while awaiting their final acceptance. However, despite the fact that the mempool is one of the key concepts of the blockchain network, there is no single and universal mempool for all nodes of the network. The reality is that each node has its own unique mempool, and a miner can access the mempool of any node to select an unconfirmed transaction for further action.
There is one nuance that is typical for mempools of various nodes. It consists in the presence of a time imbalance when a transaction propagates among nodes. For example, a transaction launched by a user’s node into the network begins to interact with the nearest neighboring nodes of this network. Those, in turn, interact with their neighboring nodes, etc. Each node mempool has its own memory size, so the number of bits (capacity) of a node can be either the same or different. However, even though the number of bits in neighboring nodes will be the same, the time of arrival of the same transaction in the mempools of neighboring nodes may be different. This means that a miner can see the same transaction in one mempool but not in another. Those who are interested in how the blockchain network works know that miners who select a particular transaction from a node’s mempool and include it in a block themselves inherit the properties of the nodes, since they also store the entire transaction history. What distinguishes miners from ordinary nodes is their right to verify transactions and decide whether to add these transactions to a network block. Let us remember that, unlike miners, ordinary nodes simply check each transaction just for its logicality.
Features of transactions in the blockchain network
One of the differences between transactions in a traditional financial system and transactions in a blockchain network is the commission for the results of each transaction. In the traditional financial system, the transaction fee is a certain percentage of the amount processed. In this case, the commission amount is calculated in national or international currency. In the blockchain network, the amount of the transaction fee depends on the place that this transaction occupies in the block and often does not depend on the size of the transferred funds. In this case, the commission amount is calculated in conventional units of the network in which the transaction is carried out.
Let’s imagine carrying out two transactions, for example, on the Bitcoin network. In the first transaction, one user transfers a large amount of funds to another user. The transaction is checked by nodes for its logicality and placed into the mempool. In the second transaction, several users transfer to several other users amounts of funds that are much smaller than those transferred in the first transaction. The second transaction is also checked for its logicality and placed into the mempool. The amount of commissions in both cases will depend not on the amount of funds, but on the structures of the first and second transactions. Obviously, the second transaction will take up more space in the block than the first, which means that the fee for which the miner will agree to take the second transaction may be significantly higher than the first. The reason for this is not difficult to understand – it is the financial motivation of any miner.