1、区块链网络
区块链网络是一种技术基础架构,可为应用程序提供分类帐和智能合约(链码)服务。
首先,智能合约用于生成交易,随后将交易分配到网络中的每个对等节点,在该对等节点中,它们一成不变地记录在账本副本中。
在大多数情况下,多个组织会作为一个联盟聚集在一起以形成网络,并且它们的权限由 最初配置网络时联盟所同意的一组策略确定。此外,网络政策会随着时间的推移而变化,取决于财团组织的同意。
应用程序的用户可能是使用客户端应用程序或区块链网络管理员的最终用户。
1.1 样本网络
R1,R2,R3和R4这四个组织共同决定并签署协议,他们将建立和利用Hyperledger Fabric网络。R4已被指定为网络发起者–已被授予建立网络初始版本的权力。R4无意在网络上执行业务交易。R1和R2以及R2和R3都需要在整个网络内进行专用通信。组织R1有一个客户端应用程序,可以在通道C1内执行业务交易。组织R2有一个客户端应用程序,可以在通道C1和C2中完成类似的工作。组织R3有一个客户端应用程序,可以在通道C2上执行此操作。对等节点P1维护与C1关联的分类帐L1的副本。对等节点P2维护与C1关联的分类帐L1的副本和与C2关联的分类帐L2的副本。对等节点P3维护与C2关联的分类帐L2的副本。该网络根据网络配置NC4中指定的策略规则进行管理,该网络受组织R1和R4的控制。通道C1根据通道配置CC1中指定的策略规则进行管理;该渠道受组织R1和R2的控制。通道C2根据通道配置CC2中指定的策略规则进行管理;该渠道受组织R2和R3的控制。有一个订购服务O4,它充当N的网络管理点,并使用系统通道。订购服务还支持应用程序通道C1和C2,出于交易目的,将其分为块进行分发。四个组织中的每一个都有一个首选的证书颁发机构。
1.2 Hyperledger Fabric网络建设流程
这个章节以上章节的样本网络为例,描述如何一步步基于Hyperledger Fabric去建立一个完整的区块链网络。
1.2.1建立网络
让我们从创建网络的基础开始:
启动订购者后便形成了网络。在我们的示例网络N中,包括单个节点O4的订购服务是根据网络配置NC4配置的,该网络配置向组织R4提供管理权限。在网络级别,证书颁发机构CA4用于将身份分配给R4组织的管理员和网络节点。
我们可以看到,定义网络N的第一件事是订购服务O4。按照事先约定将订购服务视为网络的初始管理点,O4最初由组织R4中的管理员配置和启动,并托管在R4中。NC4是配置,其包含描述网络管理功能的初始集合的策略。最初,将其设置为仅通过网络授予R4权限。目前R4是网络的唯一成员。
证书颁发机构
其中的CA4是证书颁发机构,它用于向管理员和网络节点颁发证书。CA4是为组织R4颁发证书,一方面证明其合法身份,一般在联盟链或者是私有链中,只允许有网络许可的组织进入。同时还在交易时附上组织的签名,以保证交易确实是由某组织发起的,这就具备抗抵赖性,一般CA4都是签发X509证书。
首先,区块链网络的不同组织使用证书将彼此识别为来自特定组织,每个组织可以使用不同CA签发的证书去标识组织身份。在Hyperledger Fabric中提供了一个内置的CA(称为Fabric-CA),但不同组织可以选择使用自己的CA或者商业CA。
而证书与组织之间存在一个映射,这个映射是通过MSP的结构来实现的。MSP(Membership Service Provider)是成员服务提供者,MSP定义了网络的其他成员如何验证由该组织发布的有效标识生成的签名(例如,与交易相关的签名)。MSP中身份的特定访问权限受策略约束,这些策略在组织加入网络时也已达成共识。
网络配置NC4使用一个命名的MSP来标识由CA4分配的证书的属性,该证书将证书持有者与组织R4相关联。然后,NC4可以在策略中使用此MSP名称,以向R4的参与者授予对网络资源的特定权限。这种策略的一个示例是确定R4中可以将新成员组织添加到网络的管理员。
其次,CA颁发的证书会成为 事务生成和验证过程的核心。具体而言,X.509证书用于客户端应用程序交易建议和智能合约 交易响应中以进行数字签名交易。随后,托管分类账副本的网络节点在接受交易到分类账之前会验证交易签名是否有效。
章节总结: