hyperledger为什么要有orderer节点? orderer节点的功能能否转移到Peer节点?

Why there should be orderer node in hyperledger? Can the orderer node's function be transferred to Peer node?

我想问一下区块链 Hyperledger Fabric。是否可以让 Peer 节点执行 Orderer 节点的任务,即将交易打包到新区块中?

我认为排序节点是一种冗余节点,因为例如在比特币网络中,将交易打包到块中以及新交易的验证完全由全节点(矿工节点)完成。

谁能告诉我为什么 Hyperledger Fabric 中应该有排序节点?

如果我要在 Hyperledger 网络上构建我的项目并放弃排序节点(这意味着对等节点将同时进行交易验证和交易打包)是否可能?

请告诉我你的想法和想法。

谢谢。

TL;DR

  1. HLF 设计为 deterministic,因此排序节点很重要。只有他们参与共识,并非所有同行和他们生产的区块都是最终的(不易分叉)。
  2. 不,你也不能成为同行订购者。您的 HLF 网络配置必须至少有一个订购者才能工作

Hyperledger Fabric (HLF) 与比特币

HLF 是私有许可区块链,而比特币是 public 无许可区块链。您不应期望它们的工作方式相似。

Public 区块链

在 public 区块链中,例如比特币,每个人都被平等对待,换句话说,没有人有特权,你可能认为矿工是挖矿区块的人,但重要的是任何人都可以成为矿工,这是公开的游戏没有限制谁可以成为矿工或谁可以 运行 节点等

私有区块链

例如,在私有区块链中,HLF 角色是在设置和启动区块链时预定义的。每个角色都有一定的任务和特权和限制。组织节点、背书节点、排序节点、通道的数量都是预定义的,有些具有其他角色所没有的特殊权限,如排序节点负责从节点接收背书交易并将其放入块中,然后将这些块分发给所有节点。这些块是最终的。

但是为什么呢?
私有区块链(如 HLF)完全填充特殊用例,例如供应链、B2B 操作 在此类用例中,人们可能希望利用区块链的积极因素,如透明度、审计、出处,但也可能需要某种基于角色的访问或限制特定受众的特定数据 public 以太坊和比特币等区块链不适合此处。

现在回答你的问题

为什么HLF里面有个orderer节点不是多余的?

不,这不是多余的,HLF 有确定性共识算法,而以太坊和比特币有概率共识算法,这意味着可以有账本分叉。在 HLF 中没有 Ledger 分叉,因为分叉发生在两个 平等 参与者在公共点发生冲突时。在 HLF 的情况下,参与者是不平等的,因为对等方不能参与共识过程,排序者设置的块订单是最终的。这是理所当然的,因为它设计的用例不需要分叉,而是希望拥有特殊角色和更多的交易吞吐量。
必读!

https://hyperledger-fabric.readthedocs.io/en/release-2.2/orderer/ordering_service.html#what-is-ordering

不,不可能分配同行订购者的角色,您的 HLF 网络中必须至少有 1 个订购者才能工作。