美文网首页
Hyperledger Fabric 概述

Hyperledger Fabric 概述

作者: 一钱科技 | 来源:发表于2019-11-27 21:30 被阅读0次

Hyperledger Fabric 整理体系:

链码

链码接口
 链码启动必须通过shim包中的start函数,而start函数被调用时需要传递一个类型为Chaincode的参数。这个参数Chaincode是一个接口类型,该接口有两个重要函数Init和Invoke,必须由所有链码实现。
文件位置:/hyperledger/fabric/core/chaincode/shim/interfaces.go

type Chaincode interface {
    Init(stub ChaincodeStubInterface) pb.Response
    Invoke(stub ChaincodeStubInterface) pb.Response
}
  • Init:在链码实例化或者升级时被调用,完成初始化数据工作
  • Invoke:更新或查询提案事务中分类账本数据状态时,Invoke方法被调用,因此响应调用或查询的业务实现逻辑都需要在此方法中编写实现。

必要结构
 shim包为链码实现了链码与账本交互的中间层,提供API用来访问/操作数据状态、事务上下文和调用其他链代码;peer包提供了链码执行后的响应信息。

任务实现
shim包提供给链码的相应接口有如下几种类型:

  • 参数解析API:调用链码时需要给被调用的目标函数/方式传递参数,与参数解析相关API提供了获取这些参数的方法
  • 账本状态数据操作API:提供了对账本数据状态进行操作的方法,包括对状态数据的查询及事务处理等
  • 交易信息获取API:获取提交的交易信息的相关API
  • 事件处理API:与事件处理相关的API
  • 对PrivateData操作的API:对私有数据操作

MSP

MSP定义及实现

MSP
 各个网络参与者之间的通信完全依赖于PKI标准来实现,并确保在区块链上发布的消息得到相应的认证。
 PKI(Public Key Infrastructure)公钥基础结构,由证书颁发机构组成。四大关键要素:

  • 数字证书:包含与证书持有者相关的一组属性的文档。最常见的证书类型是符合X.509标准的证书,允许在其结构中编码一方的识别细节。
  • 公钥和私钥:身份验证和消息完整性是安全通信中的重要概念。身份验证要求确保交易消息的各方创建特定消息的身份。对于具有“完整性”的消息意味着在其传输期间不能被修改。
  • 证书颁发机构:证书颁发机构向不同的参与者分发证书,这些证书由CA进行数字签名。CA是为组织的参与者提供可验证的数字身份的基础。
  • 证书撤销列表:某种原因而被撤销的证书的引用列表。

 MSP类型:

  • 网络MSP:对整个fabric网络中成员进行管理;定义参与组织的MSP,以及组织成员中哪些成员被授权执行管理任务。
  • 通道MSP:对一个通道中的组织成员进行管理。通道在特定的一组组织之间提供私有通道。在该通道的MSP环境中通道策略定义了谁有权限参与通道上的某些行为。
  • Peer MSP:本地MSP在每个Peer的文件系统上定义,并且每个Peer都有一个单独的MSP实例。执行与通道MSP相同的功能,其限制是它仅适用于定义它的Peer。
  • Orderer MSP:与Peer MSP相同,Orderer本地MSP也在其节点的文件系统上定义,仅适用于该节点。
  • User MSP:每个组织都可以拥有多个不同的用户,都在其Organizations节点的文件系统上定义,仅使用该组织。
MSP组成结构
MSP组成结构
  • 根CA(Root CAs):包含根CA的自签名X.509证书列表。用于自签名及为中间CA证书签名。
  • 中间CA(ICA):包含由根CA颁发的证书列表。
  • 组织单位(OUs):这些单位列在$FABRIC_CFG_PATH/msp/onfig.yaml文件中,包含一个组织单位列表,其成员被视为该MSP所代表的组织的一部分。
  • 管理员(B):此文件夹包含一个标识列表,用于定义具有此组织管理员的角色。
  • 撤销证书(ReCA):保存已被撤销参与者身份的信息。
  • 签名证书(SCA):背书节点在交易提案响应中的签名证书。此文件夹对于本地MSP是必需的,并且该节点必须只有一个X.509证书。
  • 私钥(KeyStore):此文件夹是为Peer或Orderer节点的本地MSP定义的,并包含节点的签名密钥。此密钥以加密方式匹配SCA文件夹中包含的签名证书,并用于签署数据。此文件夹对于本地MSP是必需的,并且必须只包含一个私钥。
  • TLS根CA(TLS RCA):包含组织信任的用于TLS通信的根CA的自签名X.509证书列表。此文件夹中必须至少有一个TLS根X.509证书。
  • TLS中间CA(TLS ICA):保存由根CA颁发的中间证书列表。

相关文章

网友评论

      本文标题:Hyperledger Fabric 概述

      本文链接:https://www.haomeiwen.com/subject/xrcmwctx.html