Transaction Broadcasting
Once a transaction has been created, it needs to be broadcast to the mining
nodes on the network so that it may be included in a block.
A node can broadcast a transaction by sending an inv
message containing the
transaction to all of its peers.
Peers receiving the inv
message will request the full transaction details with
a getdata
message.
If the receiving node considers the transaction to be valid, it will add the
transaction to its local mempool, and it will broadcast the
transaction to all of its own peers with another inv
message.
The transaction continues to propogate around the peer-to-peer network in this
fashion.
If a peer is not involved in a transaction, it will only rebroadcast the transaction once, the first time it becomes aware of it. The sender and receiver of the transaction however, will continue to rebroadcast the transaction until it is mined into a block, or expires.