本系列目录:超级账本源码(V1.3)解析目录
介绍
概念 | 介绍 |
---|---|
区块链 | 由对等节点合作维护的分布式账本,记录所有的交易,只能追加,不可修改。 |
共识算法 | 保证所有节点按相同顺序执行相同的交易,确保账本的一致性 |
账本 | 交易日志(File)+世界状态(DB) |
区块链网络
区块链网络是为区块链应用提供服务的基础设施。
网络组件
- 排序服务(ordering service):包含一个网络配置,可以看作是该网络的管理节点,启动时定义了一系列的权限
- 组织(organization):每个组织一个CA
- 联盟(consortium):多个组织形成一个联盟,
- 通道(channel):包含通道配置,其中包含通道内各组织的权限
- 节点(peer):节点是物理机器,持有账本,节点所属的组织的CA向节点发证书,用于加入通道
- 账本(ledger):
- 用户(client):由所属组织的CA发放证书,通过与通道相连加入网络。通过智能合约访问/更新节点的账本。
- 智能合约(smart contract):在节点上安装智能合约,在通道上实例化智能合约(实例化的时候需要指定背书策略)。
在Fabric的网络中,有两个非常重要的配置文件:网络配置和通道配置。
- 系统通道(
system channel
):排序服务上运行了一个小的区块链,用于记录网络配置的更新。 - 应用通道(
application channel
):每个应用都有自己的区块链,用于记录 普通的交易(normal transaction
)和通道配置(configuration transaction
)的更新。
节点类型
- 提交节点(committing peer, committer):所有的节点都是committer,用于验证并提交block。
- 背书节点(endorsing peer, endorser):安装了智能合约的节点,为交易提案背书。
- 领导节点(leading peer, leader):每个组织都有至少一个leading peer,用于从orderer拉取block,分发给其他peer。可以静态配置,也可动态选举。
- 锚节点(anchor peer):每个组织在通道配置文件中定义锚节点(0个or多个),用于跨组织通信。组织A的节点通过组织B的锚节点与组织B的其他节点建立通信。
排序服务
排序服务在Fabric区块链网络中有两个作用:
- 作用于网络层:根据网络配置管理网络资源(谁可以创建通道等)
- 作用于通道层:根据通道配置收集交易、打包成区块,分发给其他节点。