基本概念
简介
Hyperledger(超级账本)是Linux基金会主持的一个开源项目,旨在推进跨行业区块链技术。其中Hyperledger Fabric 是企业级区块链平台的一个实现,目标是成为开发应用和解决方案的基础,设计采用了模块化架构,允许组件如共识和成员服务模块,可以插入即用。 如果需要了解更多关于Hyperledger Fabric的信息, 请访问其官方网站。
Peer节点
Peer节点是Fabric区块链网络中的一种记账节点,负责区块数据的校验和保存。同时在Peer节点上,也可以安装和执行Chaincode(智能合约), 对账本进行读写操作。
Orderer节点
Orderer节点依据先到先服务的原则,为区块链网络中的所有channel提供公共服务,将交易排序后组装为区块。Orderer节点独立于Peer节点运行, 其架构被设计为支持可插拔的共识算法实现,包括目前已经实现SOLO、Kafka以及未来的其他共识算法。
通道
通道(Channel)是构建在Fabric区块链网络上的私有区块链,每个channel拥有自己独立的账本,实现了数据的隔离和保密。 通道私有的账本在通道中是与所有参与该通道的对等节点共享的,并且交易方必须通过该通道的相关验证后才能与账本进行交互。
智能合约
Hyperledger Fabric的智能合约是指Chaincode,也有人翻译为链码,其实就是一段实现交易逻辑的程序,在Farbric中所起的作用和其它区块链平台(比如以太坊)的智能合约一样。 它需要安装运行在充当Endorser(背书者)角色的Peer节点上,通过交易指令对账本数据进行修改。目前Fabirc只支持Go语言编写的Chaincode。
共识算法
共识(Consensus)作用于区块链交易的全过程,用于同意交易的排序以及确认区块交易数据集的正确性。共识算法(Consensus Algorithm)是共识过程的软件实现。
MSP
MSP全称为Membership Service Provider,是为区块链应用和Peer节点参与Fabric区块链网络而定义的证书系统的一种抽象组件。 区块链应用用这些证书来对它们的交易做身份认证,Peer节点用证书来对交易结果做签名背书。 Fabric的每个Peeer节点或者Orderer节点都必须属于一个组织(组织可以用来代表某个公司、机构或者行业联盟等), MSP被用作组织和用户(包括管理员和普通用户)在区块链的标识。
EventHub
EventHub是Peer节点用于发送事件通知到区块链应用的网络通信接口。区块链应用可以在Peer节点上注册其希望接收到的事件通知。
区块链组织
区块链组织(Organization)被Hyperledger Fabric用于管理Peer节点、Orderer节点的相互关系。 每个Peer节点或Orderer节点都需要属于某个组织,每个组织可以包含多个Peer或Orderer节点,有自己的管理员和普通用户。
区块链联盟
区块链联盟(Consortium)是包含一个或多个区块链组织的集合。每个Channel被创建时,都需要指定一个与之关联的联盟。 只有在这个联盟中的组织才可以在该channel中执行初始化、调用、查询智能合约等操作。
区块链用户
区块链用户是用来对区块链进行管理、使用和维护的身份设定,每个用户都有代表自己身份的证书和私钥,由某个组织下的根证书签发。 每个组织下面都可以根据需要创建一个或者多个区块链用户。根据用户权限的不同,可以将用户划分为两种角色:
管理员:可以管理属于该用户所在组织的Peer节点或Orderer节点, 通常具有安装、初始化和执行智能合约的权限。
普通用户:通常具有在属于该用户所在组织下的Peer节点上执行智能合约的权限。