Gossip数据传播协议:
- Fabric通过将工作负载划分到事务执行(背书和提交)对等节点和事务排序节点,优化了区块链网络性能、安全性和可伸缩性。这种网络操作的解耦需要一个安全、可靠和可伸缩的数据传播协议,以确保数据的完整性和一致性。因此Fabric实现了gossip数据传播协议。
- 对等节点利用gossip以可伸缩的方式广播账本和通道数据。gossip消息是连续的,通道上的每个对等节点都不断地从多个对等节点接收当前的一致的账本数据。每条gossip消息都是签名过的,因此发送虚假消息的拜占庭式参与者可以很容易被地识别,并防止将消息分发给不必要的的目标。受延迟、网络分区或其他导致块丢失的原因影响的对等节点,最终将通过与拥有这些丢失块的对等节点联系,同步到当前账本状态。
- 基于gossip的数据传播协议在Fabric网络上执行以下三个主要功能:
①通过不断识别可用的成员对等节点,管理节点发现和通道成员资格,并最终检测出脱机/离线的对等节点;
②在通道上跨(所有)节点分发账本数据。任何具有与通道其余部分不同步数据的对等节点都可以识别缺失的块,并通过复制正确的数据来同步自身;
③通过使用点对点状态传输来更新账本数据,使新连接的节点加快同步速度。
基于gossip的广播由对等节点操作——这些对等点接收来自通道上其他对等点的消息,然后将这些消息转发到通道上随机选择的多个对等节点,其中这个数字是一个可配置的常量。对等节点还可以使用pull(拉取)机制,而不是等待消息的传递。这种循环不断重复,其结果是通道成员、账本和状态信息不断保持最新和同步。为了传播新块,通道上的leader节点从排序服务拉取数据,并向其组织中的对等节点发起gossip传播。
* 领导leader选举:
该机制用于为每个组织选举一个??对等节点,该对等节点将保持与排序服务的连接,并在其组织内的对等节点之间开始分发新到达的块。领导选举为系统提供了有效利用排序服务带宽的能力。
领导人选举有两种模式:
①静态:系统管理员</