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

揭秘Hyperledger Fabric(七)

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

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

接上文:揭秘Hyperledger Fabric(六)


交易模拟后,模拟结果的某一部分,包含实际的私有仿真数据的私有读写组private read-write set\暂时存储在在每个许可节点Endorsing Peer\的分类帐(图3的步骤3)的临时存储数据库Transient Store Database\

接下来,每个许可节点Endorsing Peer\都会将生成的私有读写集private read-write set\通过gossip数据传播协议传播至n\个以上授权组织(图3的步骤4)的其他集合成员节点。n\是在许可时间内需要私有数据private data\的成员节点的最小成员数量 (n\的值由私由数据集合定义的requiredPeerCount\控制)。

以上步骤对于数据冗余非常重要。如果在交易提交期间,许可节点Endorsing Peer\变得不可用,那么其他是集合成员但还没有收到私有读写集private read-write set\的节点将能够从接收私有数据private data\的节点获取此私有数据。

当且仅当能够成功的将私有读写集private read-write set\分发给至少n\个其他集合成员节点时,许可节点Endorsing Peer\才会许可提案。接下来,被许可的提案被发送回Client\ (图3的步骤5)。被许可的提案将包含两部分信息,即公共读写集public read-write和私有读写集哈希hash of private read-write set

公共读写集Public read-write set\包含与被调用交易相关的公共变量的更改列表。私有读写集哈希Hash of private read-write set\是一个存储在临时存储数据库Transient Store Database\ (图3的步骤3)的以前修改的私有变量列表的哈希值。私有读写集哈希Hash of private read-write set\将用于在更新每个授权节点的私人数据到分类帐之前验证状态。提案的这两部分将被排序、验证并提交到公共区块存储Public Block Storage\和公共状态数据库Public State Database\

图4 使用私有数据的交易调用的排序和验证—提交阶段

使用私有数据的交易调用的排序和验证-承诺阶段可以参照图4。在交易提案被许可节点Endorsing Peers\许可之后,客户端Client\生成与许可的提案响应集绑定的交易,然后将该交易发送给Orderer\ (图4的步骤1)。

接下来,Orderer\对接收到的交易(包括其他交易)进行排序,生成一个新的有序交易区块,并将生成的区块分发给通道上的所有节点Peers\ (图4的步骤2)。

然后,每个节点Peer\逐个处理接收区块中的每个交易。也就是说,每个节点根据其本地公共状态数据库验证交易的公共读集public readset,并将交易的公共写集public writeset提交到其本地公共区块存储Public Block Storage\,同时更新公共状态数据库Public State Database\ (图4的步骤3)。

接下来,每个节点检测正在处理包含私有读写集的哈希hash of private read-write set\的交易。如果任何节点发现它是被授权查看确切的私有数据收集的成员,该节点将使用哈希值来验证存储在其临时存储数据库Transient Store Database\中的确切的私有读写集exact private read-write set\的存在。

如果临时存储数据库Transient Store Database\中存在确切的私有读写集exact private read-write set\,则节点将根据其私有状态数据库Private State Database\验证私有读集private readset\,并将私有写集private writeset\提交到其私有写集存储Private Writeset Storage\中,同时更新私有状态数据库Private State Database\。最后,节点从临时存储数据库Transient Store Database\中删除私有读写集private read-write set\ (图4的步骤4)。


(待续)


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

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

原文名称:Demystifying Hyperledger Fabric

作者:Phuwanai Thummavet

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

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

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

—-

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

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

LOADING...
LOADING...