LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 新闻观点 > 揭秘Hyperledger Fabric(八)

揭秘Hyperledger Fabric(八)

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

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

接上文:揭秘Hyperledger Fabric(七)


如果有任何节点Peer\是确切的私有数据集合exact private data collection的成员,但是在进行许可时丢失了确切的私有读写集exact private read-write set\,该节点Peer\会通过gossip数据传播协议向其他成员节点member Peers\发送丢失的私有读写集missing private read-write set\的合并请求pull request (图4的步骤5)。私用读写请求集requested private read-write set\将通过gossip协议和临时存储数据库Transient Store Database\被转移到请求节点requesting Peer\(图4的步骤6)。

稍后,有问题的节点将使用相应哈希corresponding hash\来验证接收到的私有读写集。如果验证成功,节点将根据其私有状态数据库Private State Database\验证接收到的私有读集received private readset\,并将私有写集private writeset\提交到其私有写集存储Private Writeset Storage\中。同时,节点还更新私有状态数据库Private State Database\,并最终从临时存储数据库Transient Store Database\中删除私有读写集private read-write set\ (图4中的步骤7)。



私有数据的交易调用流程

图5 私有数据的交易调用流程

使用私有数据的Fabric交易调用的逐步工作流程如图5所示:

1. 客户Client\生成一个包括函数参数和临时数据的交易提议,并用用户证书签署该建议,并将交易提议发送到特定通道上的一组预先确定的许可节点Endorsing Peers\

2. 每个许可节点Endorsing Peer\都验证来自提议负载的用户身份和授权。如果验证检查通过,则Endorsing Peer\将模拟交易。来自模拟结果的私有读写集Private read-write set\存储在节点分类帐内的临时存储数据库Transient Store Database\中。

3. 出于数据冗余的目的,每个许可节点Endorsing Peer\都通过gossip协议将私有读写集private read-write set\传播给其他授权节点authorized Peers\

4. 一旦大量私有数据传播成功达到私有数据集合定义中指定的最小需求数,许可节点Endorsing Peer\将生成提议响应,包括私有读写集的哈希hash of the private read-write set\。然后,许可节点使用它的证书认证生成的响应,最后将生成的响应发送回客户Client\

5. 客户Client\收集并检查来自许可节点Endorsing Peers\的已许可提案响应。然后,客户Client\提交交易,并将已批准的建议响应提交给排序者Orderer\

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

7. 排序者Orderer\将生成的区块广播给相关通道上的所有节点Peers\。每个节点根据调用的链码许可策略验证接收区块中每个交易的许可,然后验证每个交易的公共状态数据库Public State Database\的公共写集public readset\。如果验证成功,每个交易的公共写集将更新到每个节点的公共状态数据库中。接收到的区块也被附加到每个节点的公共区块存储Public Block Storage\中。稍后,每个授权节点authorized Peer\将针对私有读写集的哈希验证临时存储在其临时存储数据库Transient Store Database\中的私有读写集private read-write set\(如果有)。如果所有验证和验证过程都成功,私有写集private writeset\将更新到Peer的私有状态数据库Private State Database\。私有写集也被提交到节点的私有写集存储Private Writeset Storage\中。最后,节点从其临时存储数据库中删除私有读写集。

8. 如果在许可期间有任何授权节点authorized Peer\丢失了私有读写集,该节点将通过gossip协议向其他授权节点authorized Peer\发送丢失私有读写集missing private read-write set\的合并请求pull request

9. 丢失私有读写集missing private read-write set\将通过gossip协议从被请求的节点requested Peer\传输到请求的节点requesting Peer\。因此,在提交到节点的私有状态数据库Private State Database\和私有写集存储Private Writeset Storage\之前,将对接收到的私有读写集private read-write set\进行验证(类似于步骤7中的情况)。

10. 客户Client\从事件转发服务EventHub service\接收任何订阅的事件。


(待续)


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

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

原文名称:Demystifying Hyperledger Fabric

作者:Phuwanai Thummavet

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

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

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

—-

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

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

LOADING...
LOADING...