作者:禅与计算机程序设计艺术
1.简介
区块链(Blockchain)是一个基于分布式数据库技术的数据结构,由多个节点组成的网络。每条区块中的数据记录都包含上一个区块的哈希值,通过这个哈希值将前后两者相连形成一条不可篡改、所有权无法伪造的链条,其独特的特征是对任何人来说都是透明可查的。基于区块链的分布式记账规则,保证了整个网络中数据的一致性、安全、匿名性,为许多商业场景提供底层基础。
Hyperledger Fabric是由IBM公司开源的分布式分类账技术框架,是一种面向企业的区块链解决方案。它的核心组件包括:
- 一套账本结构: Hyperledger Fabric为用户提供了丰富的API接口,可以灵活地实现各种类型的分布式账本。
- 一套共识机制: Hyperledger Fabric支持PBFT、Raft等多种共识算法,可以在高度可用、低延迟的情况下达到共识,并防止分叉攻击。
- 一套通用编程模型: Hyperledger Fabric提供了一套通用的编程模型,可以轻松地构建复杂的应用系统。
本教程基于Hyperledger Fabric 1.4.3版本进行编写。
2.基本概念术语说明
分布式账本
分布式账本是指具有以下特性的账本:
- 可扩展性:分布式账本应当具备扩容能力,能够方便地支持大量节点参与共识;
- 数据不可篡改:分布式账本中各个节点所保存的数据应当保持完整性,任何人都不能随意修改或删除信息;
- 权限控制:分布式账本应当具备细粒度的访问控制机制,确保不同用户在不同