整个Hyperledger Fabric 网络中有
一个排序服务 O4 ;
一个网络配置策略 NC4;
四个组织 R1、R2、R3 、R4 和对应的证书颁发机构 CA1、CA2、CA3、CA4;
两个通道 C1、 C2 和通道的账本 L1、L2,以及通道配置 CC1、CC2;
两个智能合约 S5 、 S6;
三个节点 P1、P2、P3;
三个客户端 A1、A2、A3;
NC4是网络配置中策略,这个网络受NC4的规则管理,并且由组织 R1 和 R4 控制。通道 C1、C2 是根据在通道配置 CC1 、 CC2 中指定的规则来管理的,分别由组织 R1 和 R2组成的联盟、R2和R3组成的联盟管理。
这有一个排序服务 O4 作为这个网络 N 的一个网络管理员节点,并且使用系统通道与NC4相连。排序服务同时也支持应用通道 C1 和 C2,来对交易进行排序、加入区块然后分发。每个组织都有一个首选的 CA。
S5、S6为智能合约,由A1、A2、A3等客户端应用程序在通道C1、C2上进行调用,结果经过排序后写入对应的分类账L1、L2。节点 P1 维护了 C1 的账本 L1 的副本。节点 P2 维护了 C1 的账本 L1 和 C2 的账本 L2 的副本。节点 P3 维护了 C2 的账本 L2 的副本。
Peer 节点是存储区块链账本副本的网络组件,可以认为 L1 会被物理地存储在 P1 上,但是逻辑上是存储在通道 C1 上。当 P1 启动之后,它就可以使用排序 O4 加入通道C1。当 O4 收到这个加入请求,它会使用通道配置 CC1 来决定 P1 在这个通道中的权限。
节点分为提交节点、背书节点、领导节点和锚定节点。
通道中的每一个对等节点都是提交节点,它们接收生成的交易区块,随后这些区块在被提交到节点的账本副本之前先被验证。
安装了智能合约对等方可以成为背书节点。但一个真正的背书节点,其节点上的智能合约必须要被客户端应用使用,来生成一个被签名的交易响应。
领导节点负责将交易从排序节点分发到组织中其他对等节点,一个节点可以选择参与静态或动态的领导选举。
锚定节点可以与另一个组织中的对等节点进行通信,需要在通道配置中定义。
智能合约可以被每个组织的应用开发者创建来实现一个在联盟成员间共享的业务流程,它必须被安装,然后在通道中被定义。一个智能合约定义了交易逻辑,它控制了在世界状态中包含的一个业务对象的生命周期。然后它会被打包进一个链码中,这个链码会被部属到一个区块链网络中。从概念上讲,这意味着实际上是定义并提交了智能合约的接口到通道,而不是安装了只能合约的实现。为了强调这个想法,安装智能合约展示了我们是如何将它物理地存储在 Peer 节点上,而实例化智能合约展示了我们是如何将它逻辑地存储在通道中。
背书策略描述了在交易被其他的组织接受并存储在他们的账本副本上之前,哪些组织必须要同意此交易。在我们的示例网络中,只有当 R1 和 R2 对交易进行背书之后,交易才能够被接受并存储到账本 L1 中。