Overview
Broadcasting is the process of submitting a signed Bitcoin transaction to the peer-to-peer network. When a user's wallet broadcasts a transaction, it sends the raw transaction data to one or more connected nodes, which validate it and relay it to their peers. This propagation continues until the transaction reaches most nodes on the network and enters their mempools.
How Broadcasting Works
Wallet creates and signs a transaction
│
▼
┌─────────┐ ┌─────────┐ ┌─────────┐
│ Node A │────→│ Node B │────→│ Node D │
│(wallet's│ │ │ │ │
│ peer) │ └─────────┘ └─────────┘
└─────────┘ │
│ ▼
│ ┌─────────┐ ┌─────────┐
└────────→│ Node C │────→│ Node E │
│ (miner) │ │ │
└─────────┘ └─────────┘
│
▼
Includes TX in
next block candidate
Validation Before Relay
Each node that receives a transaction validates it before relaying it to peers. Validation checks include:
- The transaction follows proper formatting rules
- Input signatures are valid
- Referenced UTXOs exist and are unspent
- The fee meets the node's minimum relay fee threshold
- The transaction does not conflict with other transactions in the mempool
If any check fails, the node rejects the transaction and does not relay it.
Privacy Considerations
Broadcasting transactions reveals information about the sender. The first node to see a transaction can infer that the broadcasting node is likely the transaction's origin. To mitigate this, privacy-focused users may broadcast through Tor, use Dandelion++ (a protocol that obscures transaction origin), or submit transactions directly to a mining pool.
Common Misconceptions
Broadcasting a transaction does not guarantee confirmation. A broadcast transaction sits in the mempool until a miner includes it in a block. If the fee is too low during periods of high demand, the transaction may remain unconfirmed for an extended period or eventually be dropped from the mempool.