LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 区块链资讯 > 揭秘Hyperledger Fabric(二)

揭秘Hyperledger Fabric(二)

2019-12-10 区块链研究员 来源:区块链网络

导读:Hyperledger Fabric是一个企业级许可制分布式分类帐技术(DLT)平台,该平台以模块化架构为基础,提供高度的机密性,灵活性和可扩展性。它旨在支持不同组件的可插拔实现,并适应整个经济生态系统中存在的复杂性和复杂性。它由 IBM 带头发起,于 15 年底移交给 Linux 基金会,成为开源项目。要真正了解Hyperledger Fabric是如何工作的,需要学习者有多方面的知识,包括:区块链技术、网络和系统架构、DevOps操作、全栈软件开发、测试驱动和行为驱动开发、中级密码学、授权和访问控制、IT安全和商业实例等。本文将探讨Hyperledger Fabric底层架构等相关知识,为区块链开发人员、区块链架构师和系统操作员提供便利。

接上文:揭秘Hyperledger Fabric(一)


注意,每个组件都被涂上不同的颜色,以区别不同的组织。蓝色大框内的组件是链上的Fabric网络实体,而蓝色框外的组件是链外的实体。

图2 许可节点与提交节点

在Fabric中有一个称为链码Chaincode\的智能合约概念。目前,包括GolangNode.jsJava在内的三种语言都可以编写Fabric的链码。要部署链码,网络管理员必须将链码安装到目标节点上,然后调用orderer将链码实例化到特定的通道上。在实例化链码时,管理员可以为链码定义许可策略endorsement policy许可策略定义了在将交易添加到通道上的所有对等节点的分类账之前,哪些节点需要对交易的结果达成一致。

在许可策略中指定的对等点称为许可节点,它由已安装的链码和本地分类账组成,而提交节点只有本地分类账。图2区分了许可节点和提交节点。我们将在达成Fabric共识部分讨论更多。

图3 节点分类帐内部组件

如图3所示,节点分类帐内部组件包括区块链Blockchain和总体状态World State。区块链Blockchain\保存特定通道上每个链码的所有交易历史。World State\维护每个特定链码的变量的当前状态。

Fabric目前支持的两种类型的总体状态数据库,分为LevelDB和CouchDB。LevelDB\是基于Fabric 节点构建的默认键值数据库,而CouchDB\是基于JSON对象支持大量查询操作的基于JSON的数据库。例如,CouchDB允许我们使用特定的键值设置资产,并使用JSON查询语法查询过滤资产。链码开发人员在开发时必须选择使用LevelDB\CouchDB\

图4 附有链码和分类账的Fabric网络

之前的Fabric网络可以用链码和账本进行装饰,如图4所示。正如您所看到的,Org1\的节点和Org2\的节点相互连接到同一个通道。在同一个通道上可以实例化多个链码。此外,如果需要,可以升级实例化的链码。这使得链码可更新或可打补丁。

让我们注意一下Orderer\Orderer\有专门的系统链码和分类账。系统链码收集网络、通道和底层系统配置,以使Fabric虚拟机正常工作;它们反对在单独的docker容器中运行的用户链码。

实际上,系统链码也在bootstrap上注册和部署,但是为了简单起见,没有放到图4中。系统链码包括但不限于:

? QSCC (查询系统链码),用于查询分类帐和与Fabric相关

? CSCC(配置系统链码),帮助规范访问控制

? LSCC(生命周期系统链码),它定义了通道的规则

? ESCC(许可系统链码)用于许可交易

? VSCC(验证系统链码)用于验证交易

图5 更复杂的Fabric网络与多通道

图5演示了一个更复杂的具有多个通道的Fabric网络。Org1\的节点和Org2\的节点一起加入通道A,而Org2\的节点和Org3\的节点相互接入通道b。通过单独的通道,加入同一通道的组织也可以秘密地共享商业交易或信息。

此外,一个链码可以调用同一通道上的另一个链码。而且,如果链码调用是在一个加入了这两个相关通道的许可节点上执行的,一个链码也可以在不同的通道上调用另一个链码,就像Org2\节点正在做的那样。


(待续)


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

我是您身边的区块链研究员,如果您有志于区块链或者交易技术的学习,欢迎和我交流。微信:chanhai13。更多文章请添加微信公众号:链学园。

原文名称:Demystifying Hyperledger Fabric

作者:Phuwanai Thummavet

原创翻译:区块链研究员(区块链Robin)

英文源自Coinmonks,译文有编辑及删减,如有侵权,请联系译者删除。

中文版权所有,转载需完整注明以上内容。

—-

编译者/作者:区块链研究员

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...