Fabric官方文档---Key Concepts---How Fabric networks are structured

news/2024/5/18 4:04:02 标签: 区块链, fabric, 官方文档

https://hyperledger-fabric.readthedocs.io/en/latest/network/network.html#join-nodes-to-the-channel

注意:本主题指的是不具有 system channel 的网络结构,system channel是在排序服务上运行的channel

1.1 区块链网络是什么

区块链网络是为应用程序提供账本智能合约的技术架构,智能合约用于生成交易,随后将交易分配到peer结点中,peer结点记录在它们账本的副本中,应用程序可能是使用客户端应用程序区块链网络管理员的最终用户。

在大多数情况下,多个组织一起形成一个channel,配置达成一致的策略,然后在该channel上使用链码调用事务,channel的许可由最初配置的策略决定。策略可以在组织都同意的情况下进行修改。

注意:network和channel是一个,他们都是指在定义的结构内的组织、组件、政策、控制组织之间的交互

1.2 简单的网络

三个组织,R1,R2和R0共同决定创建一个网络。这个网络所有组织达成一致的配置 CC1,它列出来组织的定义以及policy,policy中定义了每个组织在channel中的角色。

R0拥有channel的排序服务O。注意,排序服务的账本副本不包含状态数据库。

在这个channel中,R1和R2分别加入peer结点,P1和P2。所有这些结点包含账本L1的副本来记录交易。R1和R2通过应用A1和A2交互。

所有三个组织有一个Certificate Authority,为nodes,admins,组织定义,组织的应用 产生必要的证书

1.3 创建网络

步骤1:创建网络或channel的第一步是同意并定义其配置:

channel 配置CC1已得到组织R1,R2和R0的同意,并且包含在称为“配置块”的块中,该块通常由configtxgen工具从configtx.yaml文件创建。配置块中包含加入组件,并且在channel中进行交互的组织的记录以及定义的策略,该策略用于制定策略和达到特定结果的结构。

尽管peer和应用程序是网络中的关键角色,但它们在通道中的行为更多地是由通道配置策略决定的,而不是其他任何因素。 有关策略以及如何在通道配置中定义的更多信息,请查看策略。

这些组织的定义及其管理员的身份必须由与每个组织关联的证书颁发机构(CA)创建。 在我们的示例中,组织R1,R2和R0的证书和组织定义分别由CA1,CA2和CA0创建。 有关如何创建CA的信息,请查看“规划CA”。 创建完CA后,请检查向CA注册和注册身份,以获取有关如何定义组织以及为管理员和节点创建身份的信息。

证书颁发机构:

证书颁发机构在网络中起着关键作用,因为它们分配X.509证书,该证书可用于将组件标识为属于组织。 由CA颁发的证书还可以用于签署交易,以表明组织认可交易结果–这是将其接受到分类帐中的前提。 让我们更详细地研究CA的这两个方面。

首先,区块链网络的不同组件使用证书来相互识别自己是否来自特定组织。 这就是为什么通常有不止一个CA支持一个区块链网络-不同的组织经常使用不同的CA。 我们将在我们的频道中使用三个CA; 每个组织一个。 确实,CA非常重要,因此Hyperledger Fabric为您提供了一个内置的CA(称为Fabric-CA)来帮助您前进,尽管在实践中,组织将选择使用自己的CA。

证书到成员组织的映射是通过称为成员资格服务提供商(MSP)的结构实现的,它通过创建与根CA证书绑定的MSP来定义组织,以标识组件和身份是由根CA创建的。

然后,通道配置可以通过策略向组织分配某些权限(这将赋予特定组织(例如R1)向通道添加新组织的权限)。我们不会在这些图表上显示MSP,因为它们会使它们混乱,但是由于它们定义了组织,因此它们非常重要。(策略--->证书?

其次,我们稍后将看到CA颁发的证书如何成为交易生成和验证过程的核心。具体来说,X.509证书用于客户端应用程序交易proposals和智能合约交易响应中以进行数字签名交易。随后,托管分类账副本的网络节点在接受交易到分类账之前会验证交易签名是否有效

1.4 结点加入channel

peer 是网络的基本元素,因为它们托管分类帐和链码(包含智能合约),因此是在通道上进行交易的组织连接到该通道(另一个是应用程序)的物理点之一。peer 可以属于组织认为适当的多个渠道。

另一方面,排序服务从应用程序中收集已认可的事务,并将它们排序为事务块,然后将其分发到通道中的每个对等节点。(验证签名--->排序服务--->对等结点

排序服务是每个channel特有的,具体请查看排序服务。

步骤2:因为R1,R2,R0列在channel的配置中,他们被允许加入peer结点(R1,R2)和排序服务(R0)

R1的peer P1和R2的peer P2,以及R0的订购服务O,通过“创建渠道”教程中描述的过程加入了渠道。 请注意,虽然只有一个排序节点1加入该通道,但在生产方案中,排序服务应至少包含三个节点。属于每个组织的节点具有与该组织关联的证书颁发机构为其创建的x.509证书。 P1的证书由CA1创建,P2的证书由CA2创建,依此类推。

通道中的每个节点都存储通道分类帐L1的副本,该副本将随每个新块进行更新(请注意,排序服务仅包含分类帐的区块链部分,而不包含状态数据库)。因此,我们可以认为L1物理上托管在P1上,但逻辑上托管在通道C1上。 最佳实践是R1和R2使其对等端P1和P2,anchor peers,因为这将引导R1和R2之间的网络通信

在排序服务已加入channel之后,可以提议并提交对channel配置的更新,但是很少。 接下来,您必须在channel上安装,批准并提交链码。

1.5 install、approve、commit 链码

步骤3:链码安装在peer上,然后在channel上定义和提交:

您可以考虑将链码物理上托管在peer上,而逻辑上托管在通道上。在我们的示例中,即使不需要组织安装每个链码,链码S5也会安装在每个peer上。请注意,订购服务上未安装链码,因为订购节点通常不建议交易。

安装,批准和提交链码的过程称为链码的“生命周期”。 有关更多信息,请查看Fabric链码生命周期 (https://hyperledger-fabric.readthedocs.io/en/latest/chaincode_lifecycle.html

链码定义中提供的最重要的信息是背书策略。 它描述了哪些组织必须认可交易,其他组织才能将交易接受到其账本副本上。 可以根据使用情况将认可策略设置为channel中成员的任意组合。 如果未设置认可策略,则该策略将从通道配置中指定的默认认可策略继承。

请注意,尽管某些链码可以在通道的成员之间创建私有数据事务,但是私有数据不在本主题的讨论范围之内。尽管从技术上讲现在可以使用对等CLI驱动交易,但最佳实践是创建一个应用程序,并使用它来调用链码上的交易

1.6 在channel上使用应用

提交智能合约后,可以使用客户端应用程序来调用链码上的交易。 这样就完成了我们在第一个图像中显示的结构。

就像peer 和order 一样,客户端应用程序具有将其与组织关联的身份。 在我们的示例中,客户端应用程序A1与组织R1关联,并连接到C1。

将链码安装在对等节点上并在通道上定义后,即可由客户端应用程序调用。 客户应用程序通过将交易proposal 发送给背书策略指定的组织所拥有的对等方来实现。

交易proposal 用作链代码的输入,链代码使用它来生成背书的交易响应,该响应由对等节点返回到客户端应用程序。

我们可以看到我们的对等组织R1和R2正在完全参与该渠道。 他们的应用程序可以通过智能合约S5产生交易,访问帐本L1,交易将由背书策略中指定的组织背书,写到账本中

1.7 多个channel上加入组件

1.8 在已存在的channel上增加组织

1.9 总结


http://www.niftyadmin.cn/n/962537.html

相关文章

vs快速生成get set方法_让肌肉快速增长的健身方法,你get了吗?

多次参加健身的你,是不是觉得自己再怎么努力,肌肉也不如自己所想,一点也没有显现出来呢?捏捏肚子,还是一堆肥油,捏捏手臂,软软的脂肪,软软的手感。那么,我们的到底怎么样…

关于querySelector 和 document.getElementsByTagName 选中集合问题

本文解决的问题是 :运用for..of..循环时,edge浏览器报Object doesnt support property or method symbol.iterator问题 以及 符号迭代器(symbol.interator)是什么类型的问题 在ES6中新加了一种数据类型Symbol,在es5中只有六种基本数据类型&am…

ZYNQ 7000 USB HS获取设备描述符注意事项

目录 1、设备限定描述符的作用 2.ZYNQ 7000 对GetDescriptor()请求的处理 (1)第一步 (2)第二步 3.注意 1、设备限定描述符的作用 设备限定符(device_qualifier_descriptor)描述…

c语言操作空间怎么打开_win7系统怎么增加c盘空间 win7系统增加c盘空间操作方法【详细介绍】...

我们都知道电脑使用久了c盘就很容易会出现空间不足的情况,这个时候我们就需要对c盘进行增加空间,不过有很多电脑用户都不知道怎么增加c盘空间,那么win7系统如何增加c盘空间呢?今天为大家分享win7系统增加c盘空间的操作方法。增加c盘空间操作…

数据中心双电源自动切换开关详解

双电源自动切换开关指的是一种由微处理器控制,用于电网系统中网电与网电或网电与发电机电源启动切换的装置,可使电源连续源供电。当常用电突然故障或停电时,通过双电源切换开关,自动投入到备用电源上(小负荷下备用电源…

强大的USB协议分析工具

2020年最后一天了,感谢大家一年来对我文章的支持,有你们的支持就是我强大的动力。 今天来给大家介绍一个USB 协议分析软件LeCroy USB Advisor,软件安装包下载连接如下: 链接:https://pan.baidu.com/s/12qBCOjuy4i8kr1M…

SOC、SOPC、MPSOC、RFSOC、SDSOC的概念及区别

目录1.SOC2.SOPC3.Zynq-7000 All Programmable SoC4.Zynq UltraScale MPSoC5.Zynq UltraScale RFSOC6.SDSOC7.总结1.SOC System on Chip的缩写,称为芯片级系统,也有称片上系统,意指它是一个产品,是一个有专用目标的集成电路&…

win10远程桌面_配置好win10远程桌面连接,在家中就可以摇控办公室电脑,太爽了...

远程桌面连接是一种使用户能够坐在一台计算机前连接到其他位置的“远程计算机”的技术。例如,用户可以从家庭计算机连接到工作计算机,并访问所有程序、文件和网络资源,就好像坐在工作计算机前一样。另外,用户可以让程序在工作计算…