Community Submission - Author: Vitor Mesk
The term gossip protocol refers to a specific type of P2P (peer-to-peer) communication that takes place between computers and other digital devices. The coinage of the term was inspired by the conventional form of gossip that is common within social groups.
In the context of computer science, gossip protocol is related to a kind of communication that takes place when data is transmitted through different computer nodes, which are part of a distributed network. As the name suggests, a gossip protocol communication takes place when information is broadcasted from one computer to another until it is eventually spread all across the network. Currently, there are numerous variants of the Gossip protocol that can be applied to different scenarios depending on the needs of the user or organization.
According to professor Márk Jelasity from the University of Szeged, there are two main types of Gossip manifestation: information dissemination and information aggregation. These two types are key elements of large scale distributed systems.
On the one hand, gossip dissemination, also known as multicast, relates to the traditional way of data distribution (one network node at a time). On the other hand, the aggregating gossip protocols are the ones that process data, i.e., that first summarize information and then distribute it (this type of gossip communication may also be referred to as distributed data mining).
An interesting example of a distributed system that uses a gossip protocol is the Hashgraph created by Leemon Baird in 2016. It is a distributed ledger technology that employs an asynchronous Byzantine Fault Tolerance (aBFT) consensus algorithm. The nodes of a Hashgraph network gather and summarize information about transactions and other events and spread this data to other neighbor nodes that are chosen randomly. So instead of building a chain of blocks, the Hashgraph network builds a tree of events where all information is recorded (no data is ever discarded).