Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Blockchain Hyperledger网络角色_Blockchain_Hyperledger - Fatal编程技术网

Blockchain Hyperledger网络角色

Blockchain Hyperledger网络角色,blockchain,hyperledger,Blockchain,Hyperledger,我正在浏览Hyperledger Fabric的文档,介绍中有一部分写道: Hyperledger结构按节点类型分配网络角色。为了提供网络的并发性和并行性,事务执行与事务排序和承诺分离。在对事务排序之前执行事务使每个对等节点能够同时处理多个事务 也许这是我对网络结构以及节点的不同功能和机制的一些基本误解,但如何在订购之前执行事务呢?这里,你有Hyperledger结构中的角色: 背书人同行:他们收到一笔交易。然后,他们针对智能合约执行交易,并签署结果。他们将签名的事务发送给发送它的对等方 提交

我正在浏览Hyperledger Fabric的文档,介绍中有一部分写道:

Hyperledger结构按节点类型分配网络角色。为了提供网络的并发性和并行性,事务执行与事务排序和承诺分离。在对事务排序之前执行事务使每个对等节点能够同时处理多个事务


也许这是我对网络结构以及节点的不同功能和机制的一些基本误解,但如何在订购之前执行事务呢?

这里,你有Hyperledger结构中的角色:

  • 背书人同行:他们收到一笔交易。然后,他们针对智能合约执行交易,并签署结果。他们将签名的事务发送给发送它的对等方
  • 提交者对等体:对等体获取块(使用validates事务)并将其提交到其分类账
  • Orderes:对事务进行排序并生成块的节点

我从我为a编写的答案中获取此信息。

在Hyperledger结构网络中,交易从客户端应用程序发送交易建议开始,或者换句话说,向背书的对等方建议交易

每个背书对等方模拟提议的交易,而不更新分类账。背书对等方将捕获读写数据集,称为RW集

然后,这些RW集由背书对等方签名,并返回到客户端应用程序,以便在事务流的未来步骤中使用。背书方必须持有智能合约,以模拟交易提议

然后,应用程序将已背书的事务和RW集提交给订购服务。订购通过网络进行,与其他应用程序提交的已背书交易和RW集并行

订购服务获取已背书的事务和RW集,将此信息订购到一个块中,并将该块传递给所有提交的对等方

提交对等方通过检查以确保RW集仍然匹配当前世界状态来验证事务


提交对等方负责将交易块添加到共享分类账并更新世界状态。

接受此答案,因为它更全面地回答了此问题核心的网络流误解。在批准对等方响应交易建议的过程中(假设N)从客户端到将R/W集发送给订购方,如果有另一个交易方案(假设M)被提议,并且“N”中的值发生了变化,该怎么办?这是如何处理的,因为在这种情况下,N和M的提交版本将不同,因此M将失败。