Fabric的多账本特性

在Fabric之前的区块链平台比如比特币或者以太坊,一般都只有一个账本,所有的记录都在一个账本中。这样导致这个账本非常大,比如现在比特币的账本已经有160G左右。这种设计在比特币这样的公有链中是没有问题的,但是在Fabric这样的公有链中则是有问题的。因此Fabric采用了多账本的设计方式。

在Fabric中有一个被称为通道(channel)的概念。通道本质是一个账本的逻辑概率。一个通道包含若干成员,这些成员之间共享同一个账本。通道内所有成员共享账本数据并且共同维护账本。一个通道可以包含多个会员,一个会员也可以在权限允许的情况下加入多个通道。同时不同的通道中账本数据的格式也是不一样的,Fabric中账本的存储方式被设计成插件的形式,账本的数据可以选多种存储格式。不同的会员可以根据自己的实际情况选择不同的数据存储方式。

Fabric的账本有以下特点:

•使用基于Key的查询、范围查询、复合键查询来查询或更新账本。

•只读查询支持丰富的查询语句(CouchDB)。

•只读的历史查询——实现数据追溯场景。

•交易包含读取链码键值对(读集),以及写入链码键值对(写集)的版本。

•交易包含所有背书节点提交至排序服务的签名。

•交易被打包排序成区块,并通过通道从共识节点传至对等节。

•对等节点通过背书政策标准来验证交易。

•在增加区块前,需要执行版本检查以确保数据在链码执行时间段没有被篡改。

•当交易被验证并承诺后,便不可改变。

•每个通道的账本都包含配置区块,它定义了政策标准、访问控制列表与其他相关信息。

•通道包含了会员服务提供商实例,因此加密证书能传递到不同的证书颁发机构。

Fabric的账本结构图如图4-1所示。

Fabric的账本结构图

868区块链学习网为您整理《Fabric的多账本特性》仅供参考。