Skip to content

SYSTEM Cited by 1 source

Bitcoin P2P gossip

The Bitcoin P2P network propagates transactions and blocks across a fully-decentralised peer-to-peer mesh via a flood-and-gossip protocol — one of the earliest and most widely-deployed instances of gossip in production on the public Internet.

Why it uses gossip

From sources/2023-07-16-highscalability-gossip-protocol-explained:

"Bitcoin uses the gossip protocol to spread the nonce value across the mining nodes."

More precisely, Bitcoin's P2P layer gossips several kinds of message:

  • Transactions (tx) — newly-broadcast transactions flood the mempool network.
  • Blocks (block) + compact blocks (BIP 152) — newly-mined blocks propagate to miners so the global tip advances.
  • Inventory announcements (inv) — lightweight "I have block/tx X" notifications; peers respond with getdata for the full payload only if they don't already have it. This gossip-of-metadata-first pattern is Bitcoin's bandwidth optimisation, analogous to the anti-entropy digest-first style.
  • Addresses (addr) — peer-discovery gossip so the network graph itself stays well-connected.

The nonce in the source's description is a slight oversimplification — miners don't gossip candidate nonces (that would be counter-productive), they gossip the winning block (which contains the nonce) once they find one. The point the explainer is making is the same: the spread mechanism is gossip.

Design constraints unique to open public gossip

Unlike the intra-datacenter gossip in Cassandra / Dynamo / Fly.io Corrosion, Bitcoin's gossip has to tolerate:

  • Byzantine peers — peers may lie or DOS. Bitcoin mitigates with PoW block validation + transaction signature checks.
  • Network heterogeneity — peers on home broadband links, mobile, Tor, etc.
  • Churn — peers join/leave constantly.

Compact-block relay, FIBRE, and Falcon are later optimisations for latency-sensitive block propagation on top of the base inv / getdata gossip.

Wiki scope

This is a stub anchored to the gossip-protocol use case. For Bitcoin-specific architecture cite the original Nakamoto 2008 paper and the Bitcoin Core developer docs.

Seen in

Last updated · 319 distilled / 1,201 read