Hyperledger Fabric 文档

8.2 架构 - 通道

2019-12-05  本文已影响0人  furnace

通道 (Channel)

Hyperledger Fabric 通道 (channel) 是两个或多个特定网络成员之间进行通信的专用子网,目的是进行隐私和机密交易。通道由成员 (组织),每个成员的锚点对端节点,共享帐本,链码,应用程序和交易排序服务节点定义。网络上的每个交易都在一个通道上执行,在该通道上必须对各方进行身份验证并授权在该通道上进行交易。加入通道的每个对端节点都有成员资格服务提供者 (Membership Services Provider, MSP)赋予自己的身份,该成员身份提供商将每个对端节点与其通道对端节点和服务进行身份验证。

为了创建新通道,客户端 SDK 调用配置系统链码和引用属性,如:锚点对端节点 (anchor peers) 和成员 (组织) 之类的。该请求为通道帐本创建一个创世区块 (genesis block),该区块存储有关通道策略,成员和锚点对端节点的配置信息。将新成员添加到现有通道时,此创世区块或更新的配置区块 (如果适用) 将与新成员共享。

注意

有关配置交易的属性和原型结构的更多详细信息,请参见 通道配置 (configtx) 部分。

通道上每个成员的主要对端节点 (leading peer) 的选择确定哪个对端节点代表该成员与交易排序服务进行通信。如果没有识别出领导者 (leader),则可以使用算法来识别领导者。共识服务对交易进行排序,然后将其以区块的形式交付给每个主要对端节点,然后再使用 gossip 协议跨整个通道将其分配给其成员对端节点。

尽管任何一个锚点对端节点都可以属于多个通道,因此可以维护多个帐本,但是没有帐本数据可以从一个通道传递到另一个通道。账本按通道划分是由配置链码,身份成员服务和 gossip 数据分发协议定义和实现的。数据的分发 (包括有关交易,帐本状态和通道成员资格的信息) 仅限于通道上具有可验证成员身份的对端节点。通过通道对对端节点和帐本数据的这种隔离,允许需要隐私和机密交易的网络成员与业务竞争者和其他受限制成员在同一区块链网络上共存。

Reference

项目源代码

项目源代码会逐步上传到 Github,地址为 https://github.com/windstamp

Contributor

  1. Windstamp, https://github.com/windstamp
上一篇下一篇

猜你喜欢

热点阅读