Hyperledger-Fabric源码分析(Gossip)
Fabric通过把工作量分解为执行交易(背书和提交)节点和交易排序节点来优化区块链网络性能,安全性和可扩展性。这种解耦网络操作的方式需要一个安全、可靠、可扩展的数据分发协议来保证数据的完整性和一致性。为了满足这些要求,Fabric实现了Gossip数据分发协议。
消息
pull机制
- GossipHello - hello消息
- DataDigest - 消息摘要
- DataRequest - 摘要请求
- DataUpdate - 摘要应答
state消息
- DataMessage - 数据消息
- StateInfo - 状态消息
- StateInfoSnapshot - 状态快照消息
- StateInfoPullRequest - 状态请求消息
- RemoteStateRequest - 远程单点状态请求消息
- RemoteStateResponse - 远程单点状态应答消息
关系消息
- AliveMessage - alive消息
- MembershipRequest - 成员关系请求消息
- MembershipResponse -成员关系应答消息
- LeadershipMessage - leader消息
- PeerIdentity - 身份消息
模块
PullEngine
对节点的block或cert做同步用的,准确的说是查漏补缺。
Discovery
用来维持成员节点的状态,具体说来就是节点alive or dead。
Election
Gossip leader的选举算法
Emitter
Gossip消息发布模块
小结
接下来的篇幅会一一分解,敬请期待。