The Ethereum 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, by a miner, on the blockchain.

Once transactions are created, they are broadcast 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 considered verified, 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 own mempool to include in a candidate block. Once the miner proposes their candidate block to the network, each node will determine its correctness. If a block is deemed correct, the full node will remove the transactions contained within it from their mempool, append their blockchain and update their UTXO set to reflect the new state of bitcoin ownership.