通过学习 二、Identity ,我们知道PKI可以通过信任链提供可验证的身份。现在,让我们看看如何使用这些身份来表示区块链网络的受信任成员。



1、MSPs 和 Organizations


一个organization是一个管理成员的组。它可以是一个关系复杂的跨国公司,也可以是一个小型的花店,他们都可以是organization。

一个组织,通过MSP来管理他们的成员。

MSP的命名方式一般为在组织名后面加上MSP:

a、一般的,组织ORG1,会有对应的一个ORG1-MSP。

b、在某些情况下,一个组织可能需要多个成员组,例如,公司之间处理非常不同的业务功能。这种情况下,组织ORG2会有多个MSPs,例如ORG2-MSP-NATIONAL , ORG2-MSP-GOVERNMENT。

下图为两种组织与MSP的管理对应关系


2、OU 和 MSP


一个组织经常会被切分为许多组织单元(OU),每个组织单元都有一系列具体的职责。

当CA颁发X.509认证时,证书的OU字段表明了这个identity的所属业务线。


有时,联盟中的不同组织可以使用OU来区分彼此。


3、本地MSP 和 channel MSP


在区块链网络中有两处MSPs,一处是在channel configuration,另一处在实体本地。


每一个node和user必须有本地MSP,它在node、user级别定义了谁有超管权限以及各自对应的合适权限。

channel MSP,定义了在channel级别谁有超管权限以及各自对应的合适权限。


每个参与channel的组织都必须为其定义MSP。一个channel内的peers和orderers共享相同的channel MSPs。如果一个组织希望加入channel,那么这个组织的MSP需要包含在channel configuration中。

上图描述Local和channel MSPs。每个peer的信任域是由peer的本地MSP定义的。

一个组织加入channel,实际上就是将组织的MSP加入到channel configuration里。


场景描述:

管理员B连接到Peer ,使用由RCA1颁发的证书,并且存储到本地的MSP。 当B试图在peer上安装智能合约时,peer会检查它的本地MSP ORG1.MSP,来确认B确实是ORG1组织的一员。验证成功则允许执行安装命令。

接下来,B希望将这个只能合约实例化到channel上,因为这是一个channel方面的操作,所以channel上的所有组织都必须同意才能进行。因此,peer必须检查channel的MSP来判定是否允许执行这个实例化操作。



4、MSP Levels


区分local和channel MSP反映了组织区别管理本地资源和channel资源的需求。

本地资源有:peer、orderer nodes等

channel资源有:ledgers、smart contracts、

  • Network MSP
  • Channel MSP
  • Peer MSP
  • Orderer MSP

5、MSP结构





https://hyperledger-fabric.readthedocs.io/en/release-1.4/membership/membership.html


  • No labels