我一直在阅读hyperledger
架构的文档,但是我一直停留在某些东西上。该段的实际含义是:
“渠道与本地MSPs
之间的划分反映了组织管理其本地资源(例如对等节点或订购者节点)以及其渠道资源(例如分类帐,智能合约和联盟)的需求,这些资源
将这些MSPs
视为不同级别是很有帮助的,其中MSPs
处于与网络管理问题相关的较高级别,而MSPs
处于较低的级别处理管理身份私人资源。 MSPs
在每个管理级别都是必需的-必须为网络,渠道,对等方,订购者和用户定义它们。”
答案 0 :(得分:2)
MSP既是Fabric节点(对等方和订购方)中的一个模块,用于验证身份并将其分类为主体,也是该模块的实例。
因此,每个对等方/订购者中可以有多个MSP,它们都属于某个通道,或者它们仅属于节点本身。
Fabric策略和访问控制代码使用MSP的每个实例来定义谁可以做什么。 Fabric策略基础结构以及所有访问控制代码直接或间接使用MSP。
因此,如果节点在某个通道的上下文中使用访问控制检查或策略评估,则它将在该通道中使用某些MSP。
如果它使用与任何渠道都不相关的访问控制检查(或策略评估),则使用本地MSP。
使用通道MSP的示例是-当对等方提交块时,它将检查链码事务的认可策略。从世界状态(位于数据库中)获取认可策略,然后将策略字符串转换为策略实例,该实例使用通道“ MSP管理器”,其中包含为该通道定义的所有MSP。每个这样的MSP-都属于渠道中的某个组织。
使用本地MSP时的一个示例是-在对等方上安装链码时-该操作不在任何通道的上下文中,因此-本地MSP检查gRPC调用是否带有以下签名:由某些对等管理员签名,并且谁是管理员的定义在本地MSP中定义。