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

度量侠
• 阅读 3047

八卦数据传播协议

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

八卦协议

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

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

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

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

领导选举

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

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

静态领导选举

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

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

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

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值是不明确的,将导致错误。

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

点赞
收藏
评论区
推荐文章
Easter79 Easter79
3年前
stellar区块链JavaScript开发包简介
StellarJSSDK封装了Stellar交易的提交,以及与StellarHorizonAPI服务器的交互过程,可以运行在Node.js环境或Web浏览器中。jsstellarsdk主要有两个作用:1、通过HorizonAPI服务器查询Stellar区块链数据2、构建Stellar交易、签名并提交到Stellar网络中。相关推荐:汇
Stella981 Stella981
3年前
Defi数据引擎The Graph调用方法【含源码】
当你尝试访问以太坊智能合约以及DApp产生的区块链数据时,可能会发现很难将数据转换为一种可读的格式。TheGraph提供了一种用于查询以太坊和IPFS网络数据的索引协议,任何人都可以基于其提供的开放API创建并发布索引数据,即subgraph,这使得区块链数据更容易访问。在这个教程中,我们将学习如何使用TheGraph来查询Aave协议数据,使用的技术
Stella981 Stella981
3年前
Fabric区块链官方浏览器【中文版】
blockchainexplorer是Hyperledger官方提供的区块链浏览器,目前支持Fabric1.4.x区块链,中文版由汇智网提供,下载地址:https://github.com/ezpod/blockchainexplorer/(https://www.oschina.net/action/GoToLink?urlhttps%3A%2
Stella981 Stella981
3年前
Fabric CA证书管理教程
FabricCA是HyperledgerFabric自带的证书管理工具,对于开发和测试非常方便。在这个教程中我们将探索FabricCA的使用方法并利用它完成用户的注册/Register和登记/Enrollment。HyperledgerFabric是一个许可制的区块链平台,在访问Fabric网络之前必须先进行身份识别并获得访问许可。Fabric网
Stella981 Stella981
3年前
Hyperledger Explorer官方安装文档中文版
HyperledgerExplorer是一个简单易用的开源工具,可以用于监视区块链网络中的活动。HyperledgerExplorer支持Fabric、Iroha等多种区块链,可以运行在MocOS和Ubuntu下。HyperledgerFabric区块链开发教程:Fabric区块链Node.js开发详解(https://
Stella981 Stella981
3年前
Fabric多通道网络实战
HyperledgerFabric支持在一组相同的机构之间的多通道部署,每个通道都相当于一个单独的区块链。Fabric的多通道特性不仅可以满足机构之间不同的数据共享需求,同时也可以提高整个Fabric网络的吞吐量。本文将演示如何使用HyperledgerFabric1.4.3搭建一个多通道的区块链网络、部署并访问链码。1、HyperledgerF
Stella981 Stella981
3年前
Hyperledger Caliper
在这个教程中,我们将学习如何使用HyperledgerCaliper对包含多个排序节点的Fabric网络进行基准测试,我们使用DockerSwarm作为容器编排工具。HyperledgerFabric区块链开发教程:Fabric区块链Node.js开发详解(https://www.oschina.net/action/G
Wesley13 Wesley13
3年前
NEO从源码分析看UTXO交易
_0x00前言_社区大佬:“交易是操作区块链的唯一方式。”_0x01交易类型_在NEO中,几乎除了共识之外的所有的对区块链的操作都是一种“交易”,甚至在“交易”面前,合约都只是一个小弟。交易类型的定义在Core中的TransactionType中:源码位置:neo/Core/TransactionType
Stella981 Stella981
3年前
Hyperledger Fabric节点Gossip实验完整记录
Gossip在HyperledgerFabric中发挥着重要的作用。在这个教程中,我们将分阶段考察Fabric网络启动时gossip的运行机制,学习Fabric中的一些核心概念,例如主导节点/leader、锚节点/anchor等,理解gossip是如何帮助HyperledgerFabric成为一个可伸缩的联盟链平台。HyperledgerFa
搭建平台吧 搭建平台吧
2年前
哈希竞猜游戏技术方向-区块链技术游戏
哈希是区块链技术和防篡改潜力的核心基础和最重要的方面,通过哈希算法可以保持记录以及查看数据的真实性和区块的完整性。这就是区块计数最重要技术特征的一部分。区块链指的是一个又一个区块组成的链条,该链条被保存在所有的服务器中,但凡整个系统中有一台服务器可以工作,那么整条区块链就是安全的;这些服务器在区块链系统服务中被称为节点,是为整个区块链系统提供储存空间和算力支
幂简集成 幂简集成
5个月前
精选区块链技术API,助力创新应用
从最初作为数字货币交易的基础技术,到如今涵盖金融、供应链管理、医疗保健、物联网等多个行业,区块链技术正逐渐成为改变世界的重要力量。在金融领域,区块链技术可以实现更安全、透明、高效的资产交易和结算,提高交易的可信度和效率。在供应链管理中,区块链可以追溯产品的