Where does an unconfirmed Bitcoin transaction wait?
Correct answer
Answer B: In nodes' mempools.
Detailed explanation
After receiving a transaction, a node first checks consensus rules and additional relay policies. If it accepts the transaction and it remains unconfirmed, it may store it in its mempool. From there it can relay it to other peers. Miners or mining pools use their local view of unconfirmed transactions to choose candidates for a block.
The mempool is not part of the blockchain or a central waiting room. Each node has its own local state. Nodes may receive a transaction at different times and use different memory limits, minimum fees or other policy settings. When memory is full, low-priority transactions may be removed. A transaction can therefore be in one node's mempool and absent from another's.
In the mempool also does not mean paid and final. An unconfirmed transaction can wait longer, disappear from a local mempool or be replaced under certain policies. Only inclusion in a valid block gives it a confirmation. The mempool is thus a local working set between relay and possible block inclusion.
Sources used
Bitcoin Developer Guide - P2P Network
This source is mainly intended for developers. The relevant information may therefore be harder to find.
Check original sourceBitcoin Core RPC - getmempoolinfo 31.0
This source is mainly intended for developers. The relevant information may therefore be harder to find.
Check original source

