Mempool (Transaction Pool)
The mempool is each node's local pool of unconfirmed transactions waiting for block inclusion — where transactions are validated, prioritized by fee, and selected by block builders, making it a critical site for MEV extraction and fee market dynamics.
Every Ethereum node maintains its own mempool (transaction pool / txpool) of pending transactions. When a user broadcasts a transaction, nodes validate it (correct nonce, sufficient balance, valid signature) and gossip it to peers via the devp2p network. The mempool is not global — each node's view differs based on network topology and latency. Block builders select transactions from the mempool, typically prioritizing by effective priority fee (higher tip = earlier inclusion). The mempool is also where MEV searchers monitor for profitable opportunities — sandwich attacks, arbitrage, and liquidations. Private mempools (Flashbots Protect, MEV Blocker) allow users to submit transactions directly to builders, bypassing the public mempool to avoid frontrunning.
Tradeoffs
Strengths
- Decentralized transaction propagation without central coordinator
- Fee-based prioritization creates an efficient market for block space
- Transaction replacement enables users to speed up or cancel pending transactions
- Private channels protect users from MEV exploitation
Weaknesses
- Inconsistent views across nodes create information asymmetry
- Public mempool enables frontrunning and sandwich attacks
- Mempool flooding can degrade node performance
- Nonce management complexity increases with concurrent transaction submission
Likely Follow-Up Questions
- How does a node decide which transactions to evict when the mempool is full?
- What is the difference between pending and queued transactions?
- How do private transaction channels protect against MEV?
- Explain how block builders optimize transaction ordering for profit.
- What happens to mempool transactions when a new block is mined?
- How does Solana's Gulf Stream differ from Ethereum's gossip-based mempool?
Related Concepts
Source: editorial — Synthesized from Geth source code, Flashbots documentation, and Ethereum networking specifications