Protocolo de fofocas
O termo gossip protocol refere-se a um tipo específico de comunicação P2P (peer-to-peer) que ocorre entre computadores e outros dispositivos digitais. A cunhagem do termo foi inspirada na forma convencional de fofoca que é comum dentro dos grupos sociais.
No contexto da ciência da computação, o protocolo gossip está relacionado a um tipo de comunicação que ocorre quando os dados são transmitidos através de diferentes nós de computadores, que fazem parte de uma rede distribuída. Como o nome sugere, uma comunicação de protocolo de fofocas ocorre quando as informações são transmitidas de um computador para outro até que, eventualmente, sejam espalhadas por toda a rede. Atualmente, existem inúmeras variantes do protocolo Gossip que podem ser aplicadas a diferentes cenários dependendo das necessidades do usuário ou organização.
De acordo com o professor Márk Jelasity, da Universidade de Szeged, existem dois tipos principais de manifestação de fofocas: disseminação de informações e agregação de informações. Esses dois tipos são elementos-chave de sistemas distribuídos de grande escala.
Por um lado, a disseminação de fofocas, também conhecida como multicast, está relacionada à forma tradicional de distribuição de dados (um nó de rede por vez). Por outro lado, os protocolos agregadores de fofocas são os que processam dados, ou seja, primeiro resumem as informações e depois as distribuem (esse tipo de comunicação de fofocas também pode ser chamado de mineração de dados distribuídos).
Um exemplo interessante de um sistema distribuído que usa um protocolo de fofocas é o Hashgraph criado por Leemon Baird em 2016. É uma tecnologia de contabilidade distribuída que emprega um algoritmo de consenso assíncrono de tolerância a falhas bizantinas (aBFT). Os nós de uma rede Hashgraph reúnem e resumem informações sobre transações e outros eventos e espalham esses dados para outros nós vizinhos que são escolhidos aleatoriamente. Então, em vez de construir uma cadeia de blocos, a rede Hashgraph constrói uma árvore de eventos onde todas as informações são registradas (nenhum dado é descartado).