Hyperledger Fabric实现了完备的权限管理,支持Kafka和PBFT等模块化共识算法,是基于数字事件、交易调用、不同参与者共享的分布式总账技术。Fabric区块链是一种由多个相互通信的节点组成的分布式系统,上面运行链代码(chaincode),或者称为智能合约(smart contract)的程序,这段程序主要功能是保存状态和账本数据,执行交易。
一、整体框架如下图:
整个框架中账本是最核心的结构,负责记录应用信息,应用则通过发起交易来向账本记录数据,交易执行的逻辑通过链码来实现。
二、在部署交易和调用交易过程中,各功能模块工作流程如下:
客户端(App):首先从CA获取合法证书加入网络通道,先构造交易提案(Proposal)提交给Endorser进行背书,获得足够背书支持即可构造一个合法交易请求发给Orderer进行排序,通过事件来监听网络中消息,获知交易是否成功接收。代码路径peer/chaincode。
Endorser节点:主要提供ProcessProposal方法供客户端调用,完成对交易提案的背书处理。
Committer节点:负责维护区块链和账本结构。
Orderer:仅负责排序
CA:负责网络中所有证书的管理,实现标准的PKI架构。
三、核心组件如下图
网络层:面向系统管理人员,实现P2P网络,实现构建区块链网络支撑
共识机制和权限管理:面向联盟和组织管理人员,实现共识机制和权限管理。提供分布式账本基础
业务层:面向业务开发人员。基于分布式账本,支持链码。交易等业务,作为应用开发。