Gossip协议,又称为流行病协议,是一种用于分布式数据库同步及信息扩散的通信协议。该协议通过周期性地在节点间传播信息来实现数据的一致性。本文介绍了Gossip协议的工作原理、优缺点以及在区块链领域的应用。 摘要生成于 ,由 DeepSeek-R1 满血版支持,

Gossip Protocol

Gossip protocol 也叫 Epidemic Protocol (流行病协议)。Gossip protocol在1987年8月由施乐-帕洛阿尔托研究中心发表ACM上的论文

《Epidemic Algorithms for Replicated Database Maintenance》中被提出。原本用于分布式数据库中节点同步数据使用,后被广泛用于数据库复制、信息扩散、集群成员身份确认、故障探测等。

Gossip Protocol和DHT(Distributed Hash Table)一样是P2P网络中的通信协议。

Gossip和P2P的区别

  • 每个节点都存全量的数据,本地检索
  • 每个节点从Peer拉取数据,达到和Peer数据一致
  • 节点收到或产生新数据的时候,会转发给Peer,最终经过Multi-hop之后到达全网

Gossip 的完整过程

为了表述清楚,我们先做一些前提设定

  1. Gossip 是周期性的散播消息,把周期限定为 1 秒
  2. 被感染节点随机选择 k 个邻接节点(fan-out)散播消息,这里把 fan-out 设置为 3,每次最多往 3 个节点散播。
  3. 每次散播消息都选择尚未发送过的节点进行散播
  4. 收到消息的节点不再往发送节点散播,比如 A -> B,那么 B 进行散播的时候,不再发给 A。

注意:Gossip 过程是异步的,发消息的节点不会关注对方是否收到,即不等待响应;不管对方有没有收到,它都会每隔 1 秒向周围节点发消息。异步是它的优点,而消息冗余则是它的缺点。

  • 享有P2P网络抗单点故障的优点
  • 相比DHT更不容易受到网络阻隔(partition)

缺点

  • Multi-hop造成消息的延迟。这也是区块链挖矿、浏览器经常需要解决的问题
  • 重复接收相同消息,造成了消息的冗余,也增加了收到消息的节点的处理压力

改进方向1:消息延迟

1. 增加Peer数量

需要解决的问题:Peer数量不够,节点则容易失去同步

  • 在网络中设置一些固定的节点,与大量的Peer进行连接
  • 其他节点Peer数量不够的时候,从这些固定节点获取Peer列表

2. 应对网络峰值

需要解决的问题:节点收到新数据后立刻转发给所有Peer,Peer多的情况下会造成瞬间的网络拥堵

解决:分批有序进行广播

a. Diffusion:广播时候对各个Peer加随机的延时

b. Fan-out:每秒随机选几个Peer发出消息

网络 协议 10 - Socket 编程(上):实践是检验真理的唯一标准 网络 协议 11 - Socket 编程(下):眼见为实耳听为虚 网络 协议 12 - HTTP 协议 :常用而不简单 网络 协议 13 - HTTPS 协议 :加密路上无尽头 网络 协议 14 - 流媒体 协议 :要说爱你不容易     “兄弟,有种子吗?”     “什么种子?小麦种吗?”
P2P 通信标准 协议 ( ) 中,介绍了TURN的基本交互流程,在上篇结束部分也有说到,TURN作为STUN 协议 的一个拓展,保持了STUN的工具性质,而不作为完整的NAT传输解决方案,只提供穿透NAT的功能, 并且由具体的应用程序来使用.虽然TURN也可以独立工作,但其本身就是被设计为ICE/RFC5245 的一部分,本章就来介绍一下ICE 协议 的具体内容. ICE信息的描述格式通常采用标准...
如果你想下一个电影,一般会通过什么方式呢? 当然,最简单的方式就是通过HTTP 协议 进行下载,但是通过浏览器下载的时候,只要文件稍微大点,下载的速度就奇慢无比。 还有种下载文件的方式,就是通过FTP,也就是文件传输 协议 。FTP采用两个TCP连接来传输一个文件: 控制连接: P2P 网络 如果我们简单来看 P2P 技术 ,它的应用领域已经非常广泛了,从流媒体到点对点通讯、从文件共享到协同处理,多种领域都有它的身影出现。 同样的, P2P 网络 协议 也有很多,比较常见的有 BitTorrent、ED2K、Gnutella、Tor 等,也就是我们常说的 BT 工具 电驴。 比特币、以太坊等众多数字货币都实现了属于自己的 P2P 网络 协议 ,但是这种模式并不同于以上讨论的 P...
区块链 技术 大量依赖于 P2P 网络 ,可以说没有 P2P 就没有 区块链 现在的发展。而 区块链 拥有去中心化的应用理论,所以对 P2P 的过程有着近似严苛的安全要求。本文围绕 P2P 网络 的基础架构以及安全 协议 展开论述。内容是通过我的大量文献阅读之后进行的提炼。希望大家多多交流! 一、概述 P2P 网络 1 、何为 P2P P2P (peer-to-peer) 网络 又称为对等式 网络 ,或者点对点 网络 。这是一种无中心的...