1

I'm interesting is there any other protocol that is being used inside Bitcoin network besides "Gossip"? And if there is, in which layer of communication and for which purpose is being used? Thanks!

  • Bitcoin uses many protocols for various purposes. You should perhaps specifiy a purpose. I assume you mean "relaying blockchain data", but it's not clear from the question. If that's the case, there is e.g. FIBRE, which is not strictly used "inside of the Bitcoin network" but check out: Can someone please explain FIBRE to me like I'm 5 and why is it useful? – Murch Sep 20 at 18:03
  • I'm actually interested in various major protocols that are being used and you pointed me to one of them. So, block propagation - FIBRE, message propagation (transactions in mempool) - Gossip. Is there a link to any other protocol important like these two? Thanks a lot Murch, you helped me a lot! – ddavi031 Sep 20 at 18:30
  • 2
    To be clear: the use of "gossip" is just one aspect of the Bitcoin P2P protocol. It's the mechanism by which transactions and IP addresses, and to a lesser extent blocks, get propagated on the network. But the P2P is far more than just gossip of these things. – Pieter Wuille Sep 20 at 20:29
4
  • If you want to read more about the p2p protocol, check out the Bitcoin Developer Guide's overview of all peer-to-peer messages. Besides transaction and block relay, it is used to announce node services, discover peers, communicate content preferences, and request specific content. Only blocks and transactions are gossiped. Node addresses are shared with connections that ask for them. The remaining messages are just for communication on specific connections. Note that other software may support additional messages not supported by the reference client, e.g. to serve UTXO data, or to fulfill service-specific light client requests.
  • FIBRE is a redundant second communication network for relaying newly mined blocks outside of the regular gossip. It used especially by miners and large Bitcoin services.
  • Mining pools use their own protocols (getblocktemplate, stratum, stratumv2) to coordinate contributions of their contributors.
  • The LN uses a whole separate stack of protocols to announce channels and nodes, manage peers, channels, and facilitate payments.
  • I am not sure whether the following strictly fulfill the definition of "protocols", but there are various coordination processes to facilitate multiparty payments such as PSBT, statechains, MuSig, JoinMarket, PayJoin, …

Hope that's sort of what you were looking for, but note that the list is not meant to be exhaustive. Please feel free to amend your question to further narrow down what you are looking for, if I am off target.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.