01 基本概念
1.1 逻辑架构
- 成员服务
- 从网络和channel级别上操纵和控制了数据访问控制
- 保证了Hyperledger Fabric 的安全性,解决了机密性和隐私性的问题
- 提供了成员注册、审核、管理的主要功能
- 区块链服务
- 提供了平台的底层支持
- 实现了共识管理、分布式账本实现、账本的存储以及p2p的通信实现
- 网络运行架构详见 1.2
- 交易流程详见 1.3
- 链码(智能合约)服务
- 提供链码的部署以及运行环境
- 链码实现业务逻辑,在世界状态中写入、修改、删除,查询不可修改的交易日志
1.2 运行架构
-
架构示意图
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0iwjERcJ-1619434763662)(http://blog.mdecade.site/images/Fabric/%E8%BF%90%E8%A1%8C%E6%9E%B6%E6%9E%84.png)]各组件的解释:
- APP
- 客户端:CLI 或 SDK
- 在创建交易并获得背书后向Orderer(排序服务节点)提交交易请求
- CA
- 对网络中的所有证书进行管理
- 提供标准PKI(Public Key Infrastructure,公钥基础服务)
- MSP
- Membership Service Provider, 成员服务提供者
- 为客户端和Peer节点提供证书的系统抽象组件
- Channel
- 通道,连接指定peer或order节点的保密信息通道。
- 将整个网络分隔成不同的私有子网。
- 加入Channel需要MSP提供的证书
- Organization
-
- 组织,多个成员的集合
- 一个或多个组织构成联盟
- 一个组织所有成员拥有共同信任的根证书(根CA证书或中间CA证书)
- Orderer
- 排序服务节点
- 采用指定的排序策略,对客户端提交的请求进行排序
- 将并发的请求线性排列,防止双花问题
- 将生成的区块广播给指定通道Channel内的Peer节点
- Peer
- 以区块的形式从Orderer接受有序状态更新,维护状态和账本
- 在Fabric网络中Peer节点存在以下4中角色
- 背书(Endorser)节点:对结果进行背书,返回提案相应到客户端
- 提交(Committer)节点:验证数据,并保存至账本
- Leader节点:连接到 Orderer,将接收到的区块广播给组织内的其他节点
- 锚(Anchor)节点:每个组织都有锚节点,锚节点允许同一Channel中不同组织的Peer节点发现同组织的Peer节点
- 只有部分Peer节点为背书节点
- 所有Peer节点均为提交节点
- Chaincode
- 链码,即智能合约
- 提供API与账本数据进行交互
- Ledger
- 账本,由排序节点构建的一个全部有序的交易哈希链块
- 保存在同一Channel所有的Peer节点中
- 保存了所有成功的状态操作(有效交易)和不成功的状态操作(无效交易)
- APP
-
Fabric网络示意图
Fabric官方文档的一个例子,详见Blockchain network