什么是Hyperledger Fabric中的会员服务提供商(MSP)?

20
阅读Hyperledger Fabric文档时,我不明白MSP是什么。我真的不清楚MSP到底是什么以及它与CA有何不同?
据我所知,CA发放证书,而MSP表示哪些证书有效并属于某个组织。但是,它到底是什么?
MSP是一种服务器还是一堆包含配置的目录,其他对等方和排序器使用它的界面,或者它到底是什么?我该如何查看它?
文档描述了其作用以及如何适应区块链网络。但没有说明它到底是什么。
当我运行一个简单的开发fabric网络时,decker包含对等方、排序器和CA的进程。那么MSP在哪里?
我已经检查了这些问题,但没有一个解释MSP实际上是什么。
3个回答

21

好的,我希望我能够回答我的问题。我将用几点来回答。

  • 我认为“MSP”的命名不太合适。“服务”这个词意味着有一个已经运行的过程/程序/服务器,如Web服务、Rest服务等。而“提供者”这个词也意味着它提供会员服务,最后我想象一下,这可能是一种OAuth或LDAP服务器或类似的东西,但实际上不是。 它是一堆数字证书目录。可能更好的名称应该是成员证书目录(MCD)或成员证书注册表(MCR)。
  • 在阅读文档后,我意识到这些是目录

为了设置本地MSP(无论是对等方还是订购方),管理员应该创建一个文件夹(例如$MY_PATH/mspconfig),其中包含六个子文件夹和一个文件

同时设置意味着启动和配置一个进程/服务器或类似的东西。

  • 因此,我进入了为Hyperledger Composer开发创建的Dev Servers的对等方容器,搜索$FABRIC_CFG_PATH

这里输入图片描述

  • /msp目录是MSP目录,其中包含在文档中解释的目录。它按照文档要求进行配置:

MSP配置文件夹的路径应该相对于FABRIC_CFG_PATH,并作为peer的参数mspConfigPath的值和orderer的LocalMSPDir提供。

这里输入图片描述

这里输入图片描述

我希望这篇文章能为其他人带来更多的清晰度,就像它为我所做的那样,并且Fabric的文档可以更新以提供更多的明确性。


2
我有完全相同的问题,并得出了你提到的相同结论。 Msp只是一个目录。 - 久保圭司
@engineerk 一个选择不当的名称会导致你抓头数小时才能理解它是什么。 - Adelin
1
不要将其功能与其实现混淆。是的,它只是一组包含证书的目录,但这只是一个实现细节。实现可以被替换和扩展,因为基本上MSP只允许您定义谁是管理员,谁只是普通认证用户。当前实现的价值在于每个参与者都能决定他们认为别人是什么,即管理员还是用户。相当粗糙,但它有效。 - Toddinpal
它不仅仅是一堆目录,它由一套API和接口组成来处理它们。 - malajisi

4

Hyperledger Fabric 2.2文档根据被接受的答案进行了解释。

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

MSP是什么

Membership Service Provider(MSP)虽然名字中带有“提供者”,但它实际上并不提供任何东西。相反,MSP要求的实现是一组添加到网络配置中的文件夹...证书机构生成代表身份的证书,MSP则包含一个权限清单

两种类型的MSP:

本地MSP表示为文件系统上的文件夹结构

通道MSP在通道配置中描述。


1
终于他们修复了它!太好了! - Adelin

1
混淆可能来自于HLF既定义了MSP作为一个抽象层,又提供了一个简单的实现(使用目录)。MSP文档 -上面的链接- 明确说明:在本文档的其余部分中,我们详细阐述了Hyperledger Fabric支持的MSP **实现**的设置。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接