0 sats \ 4 replies \ @kenn_b 29 Sep 2023 \ parent \ on: Transaction dropping from mempool bitcoin
That is what I always assume too. Also, for example mempool.space has this in their FAQ:
So basically, no transaction ever leaves the big node :).
Yeah, but Bitcoin Core nodes only relay each transaction once to their peers when they first learn about it. Nodes do not rebroadcast foreign transactions, even when they may have transactions that other nodes have already forgotten about.
reply
Interesting. Thanks for sharing this info.
Wouldn't this mean though that if the tx is at least in one mempool which does not drop it, then it is still alive, ready to be mined?
reply
Exactly.
reply
Yes, any valid Bitcoin transaction that has been broadcast to the network stays valid indefinitely, unless a conflicting transaction that spends some of the same inputs is mined into a block. That means even if most nodes forget about transactions, you cannot rely on the default behavior of nodes (i.e. the two week timeout and the not rebroadcasting), you need to expect that any transaction you have ever submitted to the network might still get mined, unless it has been replaced. Optimally if you repeat a payment in a new transaction because the old got stuck and eventually dropped, you should use one of the same inputs in the replacement transaction: that way the two attempts at paying the recipient are exclusive, only one can get into the blockchain. Alternatively, you might just want to explicitly spend one of the inputs as soon as you get around to it after a transaction is dropped from the mempool, unless you’re still trying to get it confirmed.
reply