区块链Hyperledger Fabric开发区块链

Hyperledger Fabric 学习一:简介

2019-03-10  本文已影响0人  雪飘千里

1、Hyperledger简介

Hyperledger:超级账本,是首个面向企业应用场景的分布式账本平台,包括了:IBM、Intel、Cisco、DAH、摩根大通、R3等在内的众多科技和金融巨头的贡献参与,在银行、供应链等领域得到了广泛的关注和发展,目前已经拥有超过200家企业成员。

作为一个联合项目,旗下由面向不同的场景的子项目构成:包括Fabric、Sawtooth、Iroha、BlockChain Explorer、Cello、indy、Composer、Burrow等8大顶级项目。

image.png

2、Fabric介绍

Hyperledger Fabric是一个提供分布式账本解决方案的平台,目标是实现一个通用的权限区块链(Permissioned Chain)的底层基础框架,为了适用于不同的场合,采用模块化架构提供可切换和可扩展的组件,包括共识算法、加密安全、数字资产、智能合约和身份鉴权等服务。

Hyperledger Fabric被设计成支持不同的模块组件直接拔插启用,并能适应在经济生态系统中错综复杂的各种场景

Fabric 克服了比特币等公有链项目的缺陷,如吞吐量低、交易公开无隐私性、无最终确定性以及共识算法低效等问题,使得用户能够方便地开发商业应用。

另一方面,Fabric 也存在不足之处,如 v1.2 的共识算法尚不支持 BFT 类型,交易过程还有并发控制的局限性,整体性能还有待提高等。

3、Fabric应用场景

4、Fabric名词解释

5、Fabric链码介绍

chaincode(链码)是部署在 Hyperledger fabric 网络节点上,可被调用与分布式账本进行交互的一段程序代码,也即狭义范畴上的“智能合约”。

链码分为系统链码和用户链码。

6、fabric 通道

image.png

目前通道分为系统通道(System Channel)和应用通道(Application Channel)。排序节点通过系统通道来管理应用通道,用户的交易信息通过应用通道传递。对一般用户来说,通道是指应用通道。

通道的配置信息都被打包到一个区块中,并存放在通道的共享账本中。该区块除了配置信息外不包含其他交易信息,称之为通道的配置区块(Configuration Block)。通道可以使用配置区块来更新配置,因此在账本中每新添加一个配置区块,通道就按照最新配置区块的定义来修改配置。

通道账本的首个区块一定是配置区块,也称为初始区块(Genesis Block)。

7、分布式账本

Fabric 里的数据以分布式账本的形式存储。账本由一系列有顺序和防篡改的记录组成,记录包含着数据的全部状态改变。账本中的数据项以键值对的形式存放,账本中所有的键值对构成了账本的状态,也称为“世界状态”( World State )。

每个通道中有唯一的账本,由通道中所有成员共同维护着这个账本,每个确认节点上都保存了它所属通道的账本的一个副本,因而是分布式账本。对账本的访问需要通过链码实现对账本键值对的增加、删除、更新和查询等的操作。

账本由区块链(File System)和状态数据库(Level DB)两部分组成。如下图所示,

image.png

Frabric 账本逻辑结构

image.png

8、Fabric网络模块

Fabric P2P算法用的是Gossip算法。

image.png
上一篇 下一篇

猜你喜欢

热点阅读