4

When a bitcoin node receive a new transaction, it rebroadcast it and stores it in its mempool. If the transaction gets into a block, then it is removed from the node's mempool.

But what happen when it is still unconfirmed after some blocks? How does it check which transactions to rebroadcast? Is there a priority list to choose which transaction to broadcast?

Murch
  • 71,155
  • 33
  • 180
  • 600
arnaud
  • 173
  • 4

1 Answers1

1

Nodes typically do not rebroadcast transactions. They have no reason to do so, it is not their problem if a transaction is not confirmed.

However if a wallet will likely rebroadcast its transactions, and only its transactions. Rebroadcasting works in the exact same way that broadcasting a transaction works. If nodes still have the transaction in their mempools, then they will ignore the transaction. Of course this means it will not propagate well if all of the nodes that a wallet is connected to already has the transaction but other nodes don't.

Andrew Chow
  • 67,209
  • 5
  • 76
  • 149
  • Since the asker used "rebroadcast" to also refer to the first time a node relays a transaction, it sounds like you're saying they don't relay tx at all. – G. Maxwell Oct 03 '18 at 22:37