The Mempool

The mempool is a ‘memory pool’ in which correct but unconfirmed transactions wait to be processed. These are outstanding transactions which correctly adhere to the protocol rules. The mempool thus serves as a waiting area for pending transactions submitted for final settlement on the blockchain.

Once transactions are created, they are communicated to participants (full nodes and miners) throughout the network, with each full node verifying all transactions against the protocol rules before relaying them to its peers. Each participant verifies each transaction component by examining their local UTXO set and blockchain database to determine its correctness. If a transaction is deemed correct, it is stored in the full node’s local mempool and relayed to the other network participants to which it is connected (its peers).

As valid transactions get propagated to more and more full nodes across the network, they will be included in more and more mempools. Eventually, a miner will pull transactions from its mempool to include in a candidate block. Once the miner proposes this block to the network, each node will verify the transactions it contains, removing those transactions from their mempool, appending their blockchain and updating their UTXO set.