Overview#Gossip protocol is a procedure or process of computer-computer communication that is based on the way social networks disseminate information or how epidemics spread.
Gossip protocol is a telecommunications protocol. Modern distributed Data Stores often use Gossip protocol to solve problems that might be difficult to solve in other ways, either because the underlying network has an inconvenient structure, is extremely large, or because Gossip protocol solutions are the most efficient ones available.
Gossip protocol uses a Peer-to-peer Gossip protocol network that maintains membership information and provides a messaging and broadcast service. For a clean separation of concerns, this layer does not make use of cryptography.
Gossip protocol implements peer exchange such that nodes can be given the IP Address of a single node that is part of the network, and after that, the joining node can automatically discover peers that are a part of the network.
This is done through a simple peer exchange protocol where nodes periodically poll known peers for their peer lists. After learning about new peers, the nodes verify that the peers are reachable and add them to their own peer list. Periodically, nodes ping peers, and if no response is received, the peers are marked as dead and the node stops sending them messages.
The protocol also implements a messaging and broadcast service. Nodes using the protocol can send a message to a single peer or broadcast a message to all known peers. Due to the nature of dynamic membership, the messaging protocol does not provide guaranteed message delivery. Fault tolerance in this area is implemented in higher layers.
More Information#There might be more information for this subject on one of the following:
- [#1] - Gossip_protocol - based on information obtained 2017-11-25-
- [#2] - Hydra: A Trustless Decentralized Digital Identity System - based on information obtained 2018-09-13-