Hyperledger Fabric(八卦数据传播协议)

八卦数据传播协议

Hyperledger Fabric优化了区块链网络性能,安全性,经过跨交易执行(承认和提交)对等点和交易排序节点划分工做负载来实现可伸缩性。这种网络操做的分离须要安全,可靠且可扩展的数据传播协议以确保数据的完整性和一致性。为了知足这些条件,Fabric实现了八卦数据传播协议安全

八卦协议

对等点利用八卦以可扩展的方式广播分类账和通道数据,八卦消息是连续的,而且通道上的每一个对等点不断地从多个对等点接收当前和一致的分类账数据,每一个八卦的消息都已签名,从而容许拜占庭参与者轻松识别发送伪造消息,并防止将消息分发给不须要的目标。受延迟,网络分区或致使错过块的其余缘由影响的对等点最终将经过联系拥有这些丢失块的对等点同步到当前分类账状态。网络

基于八卦的数据传播协议在Fabric网络上执行三个主要功能:并发

  1. 管理对等点发现和通道成员资格,经过不断识别可用的成员对等点,并最终检测已脱机的对等点。
  2. 在通道中的全部对等点中传播分类账数据,具备与通道其他部分不一样步的数据的任何对等点识别丢失的块并经过复制正确的数据来同步自身。
  3. 经过容许分类账数据的点对点状态传输更新,使新链接的对等点加速。

基于八卦的广播操做是由对等点接收通道中其余对等点的消息,而后将这些消息转发给该通道上的多个随机选择的对等点,其中此数量是可配置常量。对等点也可使用拉取机制而不是等待消息的传递,这个循环重复,通道成员资格、分类账和状态信息的结果不断保持最新和同步。用于传播新块,通道上的领导对等点从排序服务中拉取数据,并向其本身组织中的对等点发起八卦传播。性能

领导选举

领导选举机制用于为每一个组织选择一个对等点,该对等点将与排序服务保持链接并发起在其本身组织的对等点之间分发新到达的区块,利用领导选举为系统提供了有效利用排序服务带宽的能力,领导选举模块有两种可能的操做模式:区块链

  1. 静态的 - 系统管理员手动将组织中的一个对等点配置为领导,例如一个与排序服务保持开放链接。
  2. 动态点 - 对等点执行领导选举程序选择组织中的一个对等点成为领导,从排序服务中拉取块,并将块传播给组织中的其余对等点。

静态领导选举

使用静态领导选举容许在组织内手动定义一组领导对等点,能够将单个节点定义为领导或全部可用的对等点,应该考虑到这一点 - 使用太多的对等点链接到排序服务可能会致使带宽利用效率低下,要启用静态领导选举模式,请在core.yaml部分中配置如下参数:优化

peer:
    # Gossip related configuration
    gossip:
        useLeaderElection: false
        orgLeader: true

或者,可使用环境变量配置和覆盖这些参数:code

export CORE_PEER_GOSSIP_USELEADERELECTION=false
export CORE_PEER_GOSSIP_ORGLEADER=true
如下配置将使对等点处于待机模式,即对等点不会尝试成为领导:
export CORE_PEER_GOSSIP_USELEADERELECTION=false
export CORE_PEER_GOSSIP_ORGLEADER=false

CORE_PEER_GOSSIP_USELEADERELECTIONCORE_PEER_GOSSIP_USELEADERELECTION设置为true值是不明确的,将致使错误。排序

在静态配置组织中,管理员负责在出现故障或崩溃时提供领导节点的高可用性。ip

相关文章
相关标签/搜索