When a node collects all the unconfirmed transactions that it has seen, it is called a mempool. Mempools are basically waiting rooms for all the transactions that are yet to be included in the block. A transaction is submitted to the miners only when a node has relayed this information across the entire network. This mempool serves as the waiting lobby for all those transactions that are yet to be confirmed. Since mempool can see all the unconfirmed transactions, it decided whether it should relay a new transaction or not.

There is the same number of mempools as there is the number of nodes. This is due to the reason that not all nodes receive the same amount of transactions at a given point in time. Therefore, there are nodes that store more information as compared to the others at that time. Whenever a node receives a new valid block, it does away with all the transactions present in the mempool for that block along with the transactions having conflicting inputs. This often leads to a sharp decline in the size of the mempool.