In yesterdays post I talked about the difference in how fees work between Bitcoin and Ethereum but I left one question unanswered:
When does a Bitcoin transaction expire?
Well, transaction on the Bitcoin blockchain don't have a time associated with them. Transactions spread across the network of all Bitcoin blockchain nodes and keep spreading. Nodes have something referred to as mempool
that stores transactions. There are ways for nodes to remove transactions from their own mempool but it just might happen the the transaction gets propagated to them again from another pool.
TLDR; For a Bitcoin blockchain transaction to expire it needs to be removed from the mempool of all nodes that participate in mining new blocks and it needs to stop propagating to such nodes from other nodes that might still remember the transaction but don't mine blocks themselves.