fabric 架构
系统逻辑架构图是从不同的逻辑上来划分的
1,应用程序角度
应用程序可以接触到的接口服务
身份管理:用户登录注册后,获取用户注册证书,用其关联的私钥进行签名,验证自身身份
账本管理:授权的用户是可以使用多种方法查询账本数据的
交易管理:应用程序可以提交提案给背书节点;提交交易给排序服务节点;利用用户证书本地生产交易号(以便节点检查是否存在重复交易)
智能合约:实现智能合约的业务逻辑,可以更新账本数据
2,底层角度
底层的模块化功能为应用程序提供区块链服务
成员管理:每个MSP(menbership service provider)建立一个根信任证书体系,利用PKI(public key infrastructrue)对成员进行身份认证和管理。
概念:证书分为 注册证书(用户或者节点),交易证书,通信证书
MSP:是一个提供虚拟成员操作的管理框架的组件,MSP可以配置有一组根证书颁发机构(rCA), 以及可选的一组中间证书颁发机构(iCAs),包含证书吊销列表或CRL
PKI:它解决的是证书声明周期相关的认证和管理问题,PKI包括如下核心组件:RA(registration authority)对用户身份进行验证登记,审核过了就发给CA;CA(certification authority)负责证书的颁发和作废;证书数据库,存放证书。
共识服务:共识机制由三个阶段完成:客户端向背书节点提交提案进行签名背书;客户端将交易提交给排序服务点进行交易排序;生成区块后广播给记账节点验证交易后写入本地账本。
链码服务:智能合约,使用docker管理普通的链码,支持多种语言,扩展性好
安全和密码服务:使用BCCSP(blockchain cryptographic service provider)实现密钥密钥生成,hash运算,签名验证,加密解密等。
3,网络节点
节点是区块链的通信主体,是逻辑概念。节点之间通过gRPC消息进行通信
客户端节点:也就是应用程序,它必须连接到一个peer节点或者排序服务节点才能与区块链网络进行通信。他有两大职责:操作fabric网络;操作运行在网络中的链码。需要具有submitter的能力
peer节点:一般包括两种类型:背书节点(endorser)是动态的,根据背书策略选择,它们负责对交易和提案进行检查和背书然后发送各自的response给客户端 ; 记账节点(Committer)!所有的peer节点都是记账节点,负责对排序服务节点传过来的区块进行各种验证然后写入账本,更改数据库
排序服务节点(orderer):接收有背书签名的交易,进行排序生成区块,广播给记账节点(peer节点)。一个区块含有多个交易。kafka集群实现交易排序的功能。orderer支持多通道,彼此相互隔离。它不需要知道交易的内容,提高安全性隐私性
CA节点:由服务器和客户端组成,用于对fabric内成员身份进行管理,每次操作验证用户身份。也可以用第三方CA
---------------------
作者:梨休休
来源:优快云
原文:https://blog.youkuaiyun.com/sinat_23588337/article/details/80766890
版权声明:本文为博主原创文章,转载请附上博文链接!