Adding a transaction to a mempool begins when a Bitcoin node receives the transaction from another node in the network. However, before a transaction may be added to a Bitcoin’s mempool, it must pass a few tests to ensure it is syntactically correct and authentic.
Verify + Broadcast
First, the node will check the syntax of the transaction to ensure that the input and output values are not empty. It will also establish that the transaction size doesn’t surpass the maximum block size, among other tests. If the transaction clears all verification checks, it’s added to the mempool and broadcasted to other connected nodes where the same process is repeated.
Why was my transaction dropped?
When the size of a mempool nears its storage limit, transactions with fees lower than a predefined threshold are eliminated from the mempool. This precaution helps to protect the mempool from crashing. When a mempool crashes, it has to start over with zero transactions.
Validate + Repeat
After a miner validates a new block, all transactions recorded on the approved block are removed from the mempool of each node across the Bitcoin network. This creates additional space in each node’s mempool for new transactions and also synchronizes the nodes before a new block is created on the blockchain.