本文基于 Fabric v2.0.1
一、Gossip 简介
参见 Gossip 协议
二、Gossip 在 Fabric 中的应用
Fabric 使用 Gossip 作为 Peer 间的数据共享网络。在其上划分 Channel 进行消息交换,主要用于 Fabric 网络成员发现、组织内区块数据交换、私有数据的分发、及同步 Peer Channel 当前状态等。
Peer 间建立连接时握手过程会交换彼此的证书、并使用对方的证书进行身份认证。
Gossip 中交换的消息类型见 message.proto
oneof content {
// Membership
AliveMessage alive_msg = 5;
MembershipRequest mem_req = 6;
MembershipResponse mem_res = 7;
// Contains a ledger block
DataMessage data_msg = 8;
// Used for push&pull
GossipHello hello = 9;
DataDigest data_dig = 10;
DataRequest data_req = 11;
DataUpdate data_update = 12;