目标
1.Hyperledger Fabric 多链&多通道
2.多链&&多通道的实现
任务实现
7.3.1 多链及多通道
在 Hyperledger Fabric 0.6 版本中,所有节点都属于同一个链中,由此产生了数据处理、存储及访问安全的问题。在后期的 Hyperledger Fabric 1.0 版本中,新增加了对多链实现。
链是由一个通道 + 一个共享账本 + N个 peer 节点组成;不同的链将参与者和数据(包含chaincode)进行隔离;在由多个 Peer 节点组成的网络中,不同的 Peer 节点加入到不同的应用通道中,便产生了多个不同的链。真正实现了对数据的隔离。
加入到同一个应用通道中的 Peer 节点共同维护相同的区块数据,与加入其它应用通道的 Peer 节点相互隔离,也就意味着不能访问其它应用通道中 Peer 节点的数据,有效保护了隐私数据,并且提高了对数据的并行处理效率及对数据存储空间的利用。
7.3.1.1 多链环境
现在假设我们有一个 Hyperledger Fabric 网络环境,该网络中包含由4个 Orderer 节点组成的一个 Ordering Service 集群,三个 Org 组织;其中 Org1 Peers中包含6个 Peer 节点;Org2 组织中包含4个 Peer 节点;Org3 组织中包含3个 Peer 节点。
如上面的多链示意图所示:
Chain1:由 Org1、Org2 两个组织中的 1.1,1.2,2.1,2.2 四个 Peer 节点组成。
Chain2:同 Org1、Org2 、Org3三个组织中的 1.1,1.3,2.1,2.3,3.1,3.2,3.3 七个 Peer 节点组成。
Anchors:由 1.3,2.3,3.1 三个不同组织的 Peer 节点代表。
Leaders:由 1.1,2.1,3.1 三个不同组织的 Peer 节点代表 。
7.3.1.2 多通道环境
如上图所示:网络中有三个通道,分别由红色、蓝色、黑色三种颜色代表;多个 Peer 节点加入不同的应用通道中形成多个账本。
- Peer 1,Peer 2 和 Peer N 加入到红色通道,并共同维护红色账本;
- Peer 1 和 Peer N加入到蓝色通道,并共同维护蓝色账本;
- Peer 2 和 Peer N加入到黑色通道上并共同维护黑色账本。
7.3.2 应用多通道
如果当前网络开发测试模式,请先关闭:
FAQ
1.是一个通道对应一个账本吗?
对,一个通道中所包含的所有 Peer 节点共同维护同一个账本。
2.多个不同的链码会对应一个账本吗?
简单的说,一个链码也同样对应一个账本。
3.多通道一般应用在什么场景之下?
考虑多个不同行业、不同组织、数据隐私的不同访问策略等等的情况下应用多通道及多链。
4.一个 Peer 节点对应一个账本吗?
不一定,这需要考虑此 Peer 节点加入了几个应用通道,部署了几个链码等等这些情况。