美文网首页
Fabric网络的构成

Fabric网络的构成

作者: AI科技智库 | 来源:发表于2020-04-28 22:20 被阅读0次

    1 示例网络

    示例网络.png

    四个组织 R1、R2、R3 和 R4,他们共同决定,并且达成了一个协议,他们将会设置并开发一个 Hyperledger Fabric 网络。R4 被分配作为网络的初始者,它有权设置网络的初始版本。R4 不会在网络中去进行任何的业务交易。R1 和 R2 在整个网络中有进行私有通信的需求,R2 和 R3 也是。组织 R1 有一个客户端的应用能够在通道 C1 中进行业务的交易。组织 R2 有一个客户端应用可以在通道 C1 和 C2 中进行类似的工作。组织 R3 可以在通道 C2 中做这样的工作。节点 P1 维护了 C1 的账本 L1 的副本。节点 P2 维护了 C1 的账本 L1 和 C2 的账本 L2 的副本。节点 P3 维护了 C2 的账本 L2 的副本。这个网络是根据在网络配置 NC4 中指定的规则来进行管理的,整个网络由组织 R1 和 R4 管理。通道 C1 是根据在通道配置 CC1 中指定的规则来管理的,这个通道由组织 R1 和 R2 管理。通道 C2 是根据在 通道配置 CC2 中指定的规则来管理的,这个通道由组织 R2 和 R3 管理。这有一个排序服务 O4 作为这个网络 N 的一个网络管理员节点,并且使用系统通道。排序服务同时也支持应用通道 C1 和 C2,来对交易进行排序、加入区块然后分发。每个组织都有一个首选的 CA。

    2 创建网络

    创建网络.png
    • 根据网络配置NC4来配置Orderer排序服务O4
    • O4 最初被配置并且由组织 R4 的一个管理员来启动,并且由 R4 管理。
    • CA4 它会被用来给管理者和网络节点颁发证书
    • CA 颁发的证书也可以用来为交易提供签名,来表明一个组织对交易的结果进行背书
    • 每一个组织对应一个CA
    • 通过MSP将证书与组织对应起来,网络配置 NC4 使用 MSP 来识别由 CA4 颁发的证书的属性

    3 添加网络管理员

    添加网络管理员.png
    • 组织 R4 更新了网络配置来使组织 R1 也成为了管理员,R1和R4具有相同的权限
    • 证书颁发机构 CA1 用来标识 R1 组织的用户

    4 定义联盟

    定义联盟.png
    • 网络管理员定义了一个包含两个成员的联盟 X1,包含组织 R1 和 R2。联盟的定义被存储在了网络配置 NC4 中。
    • 由于 NC4 的配置方式,只有 R1 和 R4 能够创建新的联盟。
    • 联盟定义了网络中的一部分组织,他们共享了彼此能够交易的需求,R1 和 R2 更够进行交易。

    5 为联盟创建通道

    为联盟创建通道.png
    • 通道是提供了一个联盟成员之间进行私有通信和私有数据的机制。
    • 联盟 X1 为 R1 和 R2 创建的的通道 C1。通过通道配置 CC1 来进行管理,CC1 由 R1 和 R2 管理
    • 这个通道仅仅是为了处理在 R1 和 R2 之间进行的交易
    • CC1 包含了赋予 R1 和 R2 在通道 C1 上的权利的规则,R1和R2具有往C1添加新的组织的权限

    6 节点和账本

    节点和账本.png
    • 一个 Peer 节点 P1 加入了通道 C1。物理上 P1 会存储账本 L1 的副本。P1 和 O4 可以使用通道 C1 来进行通信
    • 可以想象 L1 会被物理地存储在 P1 上,但是 逻辑上 是存储在通道 C1 上
    • P1 的配置中一个关键部分就是一个由 CA1 颁发的 X.509 身份信息,它将 P1 和组织 R1 关联了起来
    • 当 P1 启动之后,使用排序 O4 加入通道C1。当 O4 收到这个加入请求,CC1 决定 P1 是否能够向账本 L1 中读取或写入信息

    7 应用程序和智能合约链码

    应用程序和智能合约链码.png
    • 智能合约 S5 被安装在了 P1 上。在组织 R1 中的客户端应用 A1 可以通过 Peer 节点 P1 使用 S5 来访问账本。
    • A1、P1 和 O4 都加入了通道 C1,他们都可以使用由这个通道提供的通信设施。
    • 组织 R1 中的管理员必须要把智能合约 S5 安装到节点 P1 上,P1 能够看到 S5 的实现逻辑
    • 当一个组织在一个通道中有多个 Peer 节点时,可以选择在哪个节点安装,而不需要每个 Peer 节点上都安装
    • R1 的管理员可以提交 S5 的链码定义到通道 C1。提交后,S5 就可以被客户端应用 A1
    • 通道上的每个组件现在都可以访问 S5,但是他们只能看到接口,不能看到它的程序逻辑
    • 安装智能合约将它物理地存储在 Peer 节点上,而实例化智能合约将它逻辑地存储在通道中
    • 将链码定义提交到通道的同时背书策略也会被放置在通道账本上,通道中的每个成员都可以访问该策略。

    8 完成网络

    完成网络.png
    • R2 添加了 Peer 节点 P2,它会存有账本 L1 的一个副本,和链码 S5。R2 像 R1 一样批准了相同的链码定义。P2 也加入了通道 C1,也有一个客户端应用 A2。
    • A2 和 P2 使用由 CA2 颁发的证书来标识 A2 和 P2。所有这些都说明了 A1 和 A2 能够使用 Peer 节点 P1 或者 P2 来调用在 C1 上的 S5

    9 添加另外一个联盟定义

    添加另外一个联盟定义.png
    • R1 或者 R4 的网络管理员添加了一个新的联盟定义 X2,其中包含了 R2 和 R3。这将会被用来为 X2 定义一个新的通道
    • 新通道只能够由网络配置策略 NC4 中指定的组织比如 R1 或者 R4 来创建

    10 添加一个新的通道

    添加一个新的通道.png
    • 联盟定义 X2 为 R2 和 R3 的创建的新通道 C2。这个通道具有通道配置 CC2,完全同网络配置 NC4 以及通道配置 CC1 分离。通道 C2 由 R2 和 R3 来管理,他们两个就像 CC2 中的一个策略定义的那样具有相同的权利。R1 和 R4 在 CC2 中是没有任何权利的。

    11 添加另外一个Peer节点

    添加另外一个Peer节点.png
    • 客户端应用程序 A3 能够使用 C2 同节点 P3 和排序服务 O4 进行通信。
    • 通道 C2 的目的是为联盟 X2 的成员提供私有通信,并且账本 L2 是他们的交易的私有存储。
    • 智能合约 S6 安装在 Peer 节点 P3,定义在通道 C2 上,用来为账本 L2 提供可控的访问

    12 把一个 Peer 节点添加到多个通道中

    把一个 Peer 节点添加到多个通道中.png
    • R2 是唯一一个同时属于两个通道成员的组织!它能够在通道 C1 上跟组织 R1 进行交易,也能够同时使用另外一个通道 C2 来跟组织 R3 进行交易。

    13 网路已经完全形成了

    网路已经完全形成了.png
    • 这个 Fabric 区块链网络包括了两个应用程序通道以及一个排序通道。组织 R1 和 R4 负责排序通道,R1 和 R2 负责蓝色的应用程序通道,R2 和 R3 负责红色的应用程序通道。客户端应用程序 A1 是组织 R1 的元素,CA1 是它的证书颁发机构。注意到组织 R2 的节点 P2 可以使用蓝色的通信设施,也可以使用红色的应用程序通道。每个应用程序通道具有它自己的通道配置,这里是 CC1 和 CC2。系统通道的通道配置是网络配置 NC4 的一部分。

    参考

    https://hyperledger-fabric.readthedocs.io/zh_CN/latest/network/network.html

    相关文章

      网友评论

          本文标题:Fabric网络的构成

          本文链接:https://www.haomeiwen.com/subject/hhfiwhtx.html