LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 行情分析 > 揭秘Hyperledger Fabric(三)

揭秘Hyperledger Fabric(三)

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

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

接上文:揭秘Hyperledger Fabric(二)


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



Hyperledger Fabric的共识

Fabric共识具有丰富的多阶段、多层次的许可、有效性和版本检查。在将一笔交易写入总账本之前,有多个阶段来确保交易顺序,修改的正确性以及所有参与者之间的权限、许可和数据同步。

Hyperledger Fabric使用了一种基于投票的共识,该共识假定网络中的所有参与者都是部分可信的。共识可分为以下三个阶段。

1. 许可Endorsement(下面图6中的步骤1-3)

2. 订单Ordering(下面图6中的步骤4-5)

3. 验证Validation和提交Commitment(下面图6中的步骤6)

图6 Fabric交易调用流程

图6描述了Fabric交易调用的逐步工作流程:

1、Client\发起一笔交易提案,使用用户User\的证书签名该建议,并将该交易提案发送到特定通道上的一组预先确定的许可节点。

2. 2、每个许可节点Endorsing Peer \都验证来自发起提案的用户User\身份和授权。如果验证检查通过,则Endorsing Peer\模拟交易,与读写集一起生成响应,并使用其证书许可生成的响应。

3、Client\收集并检查来自Endorsing Peer\的已批准提案响应。

4. 4、Client\将该交易连同已认可的提案响应发送到Orderer\

5.5、Orderer\对接收到的交易进行排序,生成一个新的有序交易区块,并使用其证书对生成的区块进行签名。

6. 6、Orderer\将生成的区块广播给相关通道上的所有节点(包括许可节点和提交节点)。然后,每个节点Peer\确保接收区块中的每个交易都由适当的许可Endorsing\ 节点 Peer\ (即,从调用的链码的许可策略确定)和足够的许可。之后,将进行版本检查(称为多版本并发控制MVCC检查),以验证接收块中每个交易的正确性。也就是说,每个节点将把每个交易的读集readset与其账本的全局状态world state进行比较。如果验证检查通过,交易将被标记为有效,并且每个节点的全局状态将被更新。否则,交易将被标记为无效而不更新全局状态。最后,将接收到的区块追加到每个节点的本地区块链中,而不管该区块是否包含任何无效交易。

7. 7、Client\从EventHub服务EventHub service\收到任何订阅的事件。



Hyperledger Fabric
的订单服务

更新:在撰写本文时,Hyperledger Fabric (v1.4.1)刚刚悄然启动了基于Raft协议的新订单ordering服务。有趣的是,基于raft的订单服务允许不同的组织为分布式订单服务贡献节点。如果我有机会,我将写一篇关于这个有趣的订单服务的文章。

Orderer\可能是Hyperledger Fabric中最重要的组件之一。它充当一个集线器,将交易区块分发给相关通道上的所有节点。因此,Orderer\可能被认为是Fabric网络中最薄弱的环节。

当前的Fabric Orderer\实现支持两种订单服务,即SoloKafka。在开发环境中推荐使用了基于solo的订单服务,因为这种服务由一个服务于所有客户端的进程组成。这很容易成为生产环境中的单点故障。

在生产中,推荐使用基于kafka的订单服务。使用Kafka,我们可以建立一个Kafka集群和一个ZooKeeper集合来提供一个崩溃容错(CFT)的订购服务。


(待续)


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

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

原文名称:Demystifying Hyperledger Fabric

作者:Phuwanai Thummavet

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

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

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

—-

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

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

LOADING...
LOADING...