参考https://hyperledger-fabric.readthedocs.io/en/release-1.2/membership/membership.html
http://www.javatree.cn/news/db31d44e278f40179116ad9f3a5618cc
原文篇幅较长,我们长话短说。
Membership Service Provider(MSP), 用于标记哪些CA签发的证书是可信任的,便可定义可以信任域名下的成员。简单的说MSP就是超级记账本用来配置网络,通道和各节点的成员身份的。
MSP和组织
一个组织可配置一个或多个MSP
组织单元OU和MSP
一个组织可分割为多个组织单元OU(organizational Unit), 可以认为不同的组织单元可以有不同的业务,例如组织ORG1, 有两个单元ORG1-U1和ORG1-U2, 可配置ORG1-U可以采访通道1, 但是ORG1-U2却不能。
MSP分类
MSP可以分为本地MSP和通道MSP.
区块链网络中首先每一个节点和采访用户首先都是本地MSP, 可配置信任的成员。
Peer节点,orderer排序节点都可配置本地MSP, 即该节点的采访权限。
例如Peer节点要安装链码和初始化实例, 不能什么采访者都能操作吧,需要配置信任的采访者.
通道是组织的聚合, 需要配置哪些组织能采访通道,通道的管理权和通道的记账本,通道MSP就派上用场了。
本地MSP和通道MSP最主要的区别不是功能,而是各自使用的范围。
注意:通道MSP在通道范围定义是全局的,即使用到连接到通道的每个节点, 每个Peer节点都有通道的记账本的副本和通道MSP策略的副本。
MSP级别
在网络, 通道,Peer节点,Orderer排序节点各个级别的范围,都需要MSP定义其范围内的信任成员。
MSP结构
MSP具体是有什么内容?我们看下官方例子first-network(BYFN)中组织org1.example.com中的结构.
在msp文件夹下必须要有一个X.509格式的信任的CA证书.
貌似通过命令行cryptogen generate --config=./crypto-config.yaml 不同节点生成的CA都是不一样的。
在/msp/config.yaml中配置
这里定义了ClientOU和PeerOU?
msp只是定义了管理员这个角色, 不代表它可以操作所有资源, 具体的采访权限需要由资源自己去定义。 例如:一个通道的策略可能允许ORG1-MANUFACTURING的管理员拥有增加新组织的权力, 但是ORG1-DISTRIBUTION的管理员却不行。
暂时没见过这个文件夹, 应该放一些过期或取消的证书
通常放的是节点的私钥
Peer和Orderer节点通信, 或者客户端和Peer通信可能会用到TLS网络层的安全传输协议, 类似HTTPS, 连接的服务器都是需要证书的, 如果都部在公网一般还是建议开,毕竟网络传输容易给人抓包监听。
超级记账本的核心概念我们差不多学完了,为了后面更好的理解Hyperledger Fabric众多的配置文件,再继续磨两章基础, 磨刀不误砍柴工。烦请关注。