下面这一节将会从概念的角度来说明一下,Hyperledger Fabric是如何做到让企业组织之间在区块链的网络间进行协作的。如果你是一个设计师、管理者异或一个开发者,通过这个小节,你可以对区块链网络之间的主要结构以及整个的流程组件有一个很清晰的认识。本小结会利用一个可以实际应用的,可操作的例子来进行介绍区块链网络中的所有的主要的组成部分。一旦理解了这个例子后,你可以在文章的其他地方了解更多有关于这些组件的细节或者尝试构建一个示例网络。

       一旦你读完这个小节并且理解了有关政策概念后,你将会对决策有一个很扎实的理解,企业需要去建立这样一种政策,来控制整个部署的Hyperledger Fabric网络。你也将会理解企业是如何利用声明公开的政策去管理网络的发展(Hyperledger Fabric的核心特征)。简而言之,你将会理解Hyperledger Fabric中主要的技术组件以及企业需要去制定的有关Hyperledger Fabric的政策。

区块链网络是什么?

       一个区块链的网络是一个技术层面的基础设施,面向应用,它提供了记账和灵活的合同服务。主要来说,灵活的合同被用来去产生事务,这些事务随后被分发到在网络中每一个对等的节点。并且这个网络中,这些事务被不可改变的记录在了每一个账本的副本上。应用程序的用户可能是使用客户端应用或者区块链网络管理员的最终用户。

网络的示例

       在我们开始之前,让我们来展示一下我们的目标是什么。下面这个图表将会代表我们最终的示例网络的结构状态。

fabric架构 hyperledger hyperledger fabric官方文档_perl

创建一个网络

       让我们开始创建一个基本的网络吧!

fabric架构 hyperledger hyperledger fabric官方文档_perl_02

    证书机构

       在上图中你也能够看到一个证书机构CA4,用来给管理者和网络的节点来颁发证书。由于CA4分发X.509证书,这些证书能够验证企业R4中的组成部分,所以CA4在我们的网络中扮演者一个重要的角色。通过CAs颁发的证书也能够用来签署交易,以表明一个组织认可交易的结果。这是接收到分类帐上的一个先决条件。让我们通过更多的细节来验证CA的这两个方面。

       首先区块链网络中不同的组成部分利用证书去验证彼此来自特定的组织。那就是通常不止一个CA支持区块链网络的原因-不同的组织通常用不同的CAs.在我们的网络中我们将会用4个CAs;每一个组织都有一个CA.确实,CAs是如此的重要,以至于Hyperledger Fabric提供了一个内置的CAs去帮助你开始工作,尽管在实践中,组织会选择利用他们自己的CA.

添加网络管理员

       NC4最初的配置,仅仅允许R4用户对网络有管理权限。在下一个阶段,我们将允许组织R1用户去管理网络。让我们看一下网络是如何演变的。

fabric架构 hyperledger hyperledger fabric官方文档_Hy_03

       在它的最简单的表格中,在网络中订购服务是一个单一的节点,那就是你在上述例子中看到的。订购服务通常是多个节点并且可以被配置成多个企业组织中的多个节点。例如,我们可以在R4中的O4并且连接他到O2中,O2是一个存在于企业R1中隔离的订购节点。 这样,我们就会有一个多站点、多组织的管理结构。

定义联合体

       尽管网络可以被R1和R4进行管理,但是能做的事情还很少。首先我们需要去定义一个联合体。字面意思可以理解为拥有共同生命的群体。对应在区块链网络中欧难过的组织来说,这是一个合适的机会。

让我们看一下,如何来定义一个联合体。

fabric架构 hyperledger hyperledger fabric官方文档_Hy_04

       为什么联合体如此的重要?我们看到在网络中联合体定义了一系列的组织,这些组织都需要去与其他发生交易-例如上述例子中的R1和R2.如果组织有一个共同的目标,那么将他们组合在一块是非常有意义的,而这是正要发生的事情。

创建联合体的通道

       让我们创建这个重要的组成部分-一个通道。一个通道是主要的交流机制,通过它,联合体中的成员可以进行彼此的交流。在一个网络中可以有多个通道,但是现在,我们将从一个开始。

fabric架构 hyperledger hyperledger fabric官方文档_区块链_05

让我们看一下第一个通道是如何添加到网络中的:

Peers and Ledgers

       现在让我们用通道把区块链的网络和组织的组件连接到一起。在下一个网络发展的阶段,我们已经看到我们的网络N已经拥有了两个组件,对等节点的P1和记账实例L1.

fabric架构 hyperledger hyperledger fabric官方文档_perl_06

(全文完)