简介
Fabric 是超级账本社区首个项目也是最流行的分布式账本实现,由 IBM、DAH 等会员企业于 2015 年底贡献到社区。
作为面向企业场景的联盟链,Fabric 中有许多经典的设计和先进的理念。包括多通道、身份证书机制、隐私保护、运维管理接口等。另外,其可扩展的架构可以满足不同场景下的性能需求,如虚拟机部署场景下可以达到 3500 tps 的吞吐量和小于 1 秒的延迟(参考《Hyperledger Fabric: A Distributed Operating System for Permissioned Blockchains》),更多物理资源情况下可以达到更大的(10 K+)的吞吐量。
主要版本历史
Fabric 首个主版本 1.0.0 于 2017 年 7 月发布,该版本根据之前测试版的应用反馈,在架构上进行了重新设计,在可扩展性和可插拔性方面都有了不少改进。后续版本基本上按照每季度一个小版本的节奏发布。重点对性能和安全性、隐私性进行了完善和提升。目前最新大版本为 2.0.0 版本。Fabric 的主要版本历史总结如下表所示,也可在 https://github.com/hyperledger/fabric/releases 找到。
网络基本结构
Fabric 网络中存在四种不同种类的服务节点,彼此协作完成整个区块链系统的记账功能:
背书节点(Endorser Peer):一类特殊的 Peer,对交易提案(Transaction Proposal)进行检查,通过执行智能合约计算交易执行结果(读写集合)并对其进行背书;
记账节点(Committer Peer):负责维护账本,检查排序后交易结果合法性,接受合法修改,并写入到本地账本结构,目前所有 Peer 默认都是记账节点;
排序节点(Orderer):正式交易会发给排序节点,排序节点负责对网络中所有交易进行排序处理,并整理为区块结构,之后被记账节点拉取提交到本地账本;
证书节点(CA):提供标准的 PKI 服务,负责对网络中所有的证书进行管理,包括签发和撤销。
节点角色是 Fabric 设计中的一大创新。根据性能和安全需求,不同的节点可以由组织分别管理,共同构建联盟链。
此外,网络账本的基本单位是通道(Channel),每个通道内的成员可以共享账本,不同通道内账本则彼此隔离。客户端可以向网络内发送交易,交易经过共识后被通道内的 Peer 节点接收并更新本地对应的账本。
本章后续将详细介绍安装、部署 Fabric 网络并进行启动的操作过程,建议读者跟随步骤进行实践学习。
最后更新于