写点什么

Hyperledger Fabric 基础知识

发布于: 2020 年 06 月 09 日
Hyperledger Fabric基础知识

本文我们会介绍 Hyperledger Fabric 的基础知识,并了解如何充分利用这个多功能的区块链框架。


区块链技术为创新提供了丰富的机会。它提供了一种新的交易方式,从而可以从根本上改变业务的实现。


那么,在众多的区块链框架中,开发人员应该首先掌握哪个框架呢?IBM 开发的 Hyperledger Fabric 肯定是最佳选择,尤其在今天这个公链应用不明朗的情况下,使用 Fabric 开发联盟链应该是最常见也最实用的框架了。


Hyperledger 是一种开源协作成果,旨在促进跨行业的区块链技术供企业使用。该全球合作由 The Linux Foundation 主持。


Hyperledger 孵化并支持一系列区块链业务技术,框架,库和应用程序。 Hyperledger 项目托管了多个区块链框架,包括 Hyperledger Fabric。本文概述了什么是 Hyperledger Fabric,如何使用它来构建解决方案以及如何在 Hyperledger Fabric 中执行事务。


什么是 Hyperledger Fabric?

Hyperledger Fabric 是用于私有链和联盟链业务网络的开源框架实现,其中成员身份和角色对于其他成员是已知的。它是一种模块化的架构。它允许账本数据库,共识机制和成员资格服务等组件即插即用。它使用了容器技术,从而提供了企业级的网络安全性,可伸缩性和机密性。


Hyperledger Fabric 网络具有以下组件:


  • Assets。资产是任何有价值的东西。资产具有状态和所有权。资产在 Hyperledger Fabric 中表示为键值对的集合。

  • Shared ledger。共享账本记录资产的状态和所有权。共享账本包括两个部分:

  • Smart contract。 Hyperledger Fabric 智能合约称为 chaincode。 Chaincode 是定义资产和相关交易的软件;换句话说,它包含系统的业务逻辑。当应用程序需要与共享账本交互时,将调用 Chaincode。链码可以用 Golang 或 Node.js 编写。

  • Peer nodes。Peer 是网络的基本元素,因为它们托管共享账本和智能合约。Peer 执行链码,访问共享账本数据,认可交易并与应用程序对接。Peer 可以是 endorsing peers,也可以是 endorsers。每个链码都可以指定背书策略,该政策定义了有效交易背书的必要条件和充分条件。

  • Channel。通道是由 peers 集合形成的逻辑结构。此功能允许一组 peers 创建单独的交易共享账本。

  • Organizations。 Hyperledger Fabric 网络是由网络中不同组织拥有和贡献的 peers 构建的。该网络之所以存在是因为组织将其个人资源贡献给了集体网络。peers 具有成员资格服务提供商从其所属组织分配的身份(数字证书)。不同组织的 Peers 可以在同一 channel 上。

  • Membership Services Provider (MSP)。 MSP 是证书颁发机构,以管理用于认证成员身份和角色的证书。在 Hyperledger Fabric 网络中,所有的节点必须要有认证过的身份才能进行交易。MSP 管理用户 ID 并验证网络上的所有参与者,从而使 Hyperledger Fabric 成为一个私有的和准入的网络。

  • Ordering service。Ordering service 将交易打包成块,以交付给通道上的 peers。它保证了网络中的交易顺利执行。它与 peers 和 endorsing peers 进行通信。Ordering service 目前只支持 Solo 和 Kafka。

下图是 Hyperledger Fabric 的组件和构成:



Hyperledger 架构是怎么工作的?

在 Hyperledger 解决方案中,Hyperledger Fabric 网络充当后端,而应用程序前端则与网络进行通信。 SDK 可帮助您在前端和后端之间建立通信,例如 Node.js SDK 和 Java SDK。 SDK 提供了一种执行用户链码,在网络中执行事务,监视事件等的方法。


要编写区块链应用程序,您需要:


  1. 用受支持的编程语言(例如 Go)编写 chaincode。

  2. 在 Hyperledger Fabric 网络上部署链码。

  3. 使用 SDK 开发客户端应用程序。

Hyperledger 交易如何执行

Hyperledger Fabric 网络中事务的请求流如下所示:


  1. 客户端使用 Node.js 或 Java™SDK 连接到 Hyperledger Fabric 网络。客户端使用 SDK API,创建一个事务并将其发送给背书 peer。

  2. endorsing peer 会验证客户的签名,模拟交易并发送背书签名。

  3. 如果交易得到认可,则客户将交易提交给 ordering service。否则,交易被取消。

  4. ordering service 将交易传递给 peers。所有 peers 都提交并应用相同的事务序列并更新其状态。

总结

Hyperledger Fabric 是一个区块链框架实现。 你可以很轻松的使用 Hyperledger 来构建一个私人或联盟网络,并为其编写智能合约。


当然 Hyperledger 相对其他的区块链框架而言还是比较复杂的,因为它是专为企业级应用而生的。后面我们会详细讲解。


更多教程请参考 flydean的博客


发布于: 2020 年 06 月 09 日阅读数: 144
用户头像

关注公众号:程序那些事,更多精彩等着你! 2020.06.07 加入

最通俗的解读,最深刻的干货,最简洁的教程,众多你不知道的小技巧,尽在公众号:程序那些事!

评论 (1 条评论)

发布
用户头像
优秀的作者
2020 年 06 月 09 日 14:53
回复
没有更多了
Hyperledger Fabric基础知识