超级账本结构共识

Jon*_*ony 4 consensus blockchain hyperledger-fabric

我是Hyperledger Fabric的新手。我正在阅读Fabric最新版本的文档,但对于Fabric的共识尚不清楚。Fabric使用的共识是什么?以及它如何运作?请解释。

Ash*_*kel 6

我假设您了解区块链环境中共识的基础。Hyperledger Fabric的共识可以被视为相同的特例,也可以是功能强大的共识。它在多个阶段检查交易,以确保被写入分类帐的变更的许可,顺序和正确性。

在Fabric中,当您执行事务时,如果没有错误,则希望该事务提交到分类帐,即,以正确的顺序将事务写入分类帐中的块中。然后通过协作过程在网络中的所有参与者之间始终保持同步。因此,这个确保顺序和数据同步正确性的过程称为共识

HLF标准的定义是

保持分类帐交易在整个网络上同步的过程-确保分类帐仅在适当的参与者批准交易后更新,并且在分类帐确实更新时,它们以相同的顺序更新相同的交易-称为共识。

这是通过以下方式在整个交易周期中完成的:

  1. 当您提交交易时,即,当您在智能合约中调用功能时,您使用的Client SDK必须将该交易建议发送给背书人(特定于特定渠道中的智能合约)。获取用户的加密凭据以生成唯一签名
  2. 认可的同龄人会分担他们的支票,例如建议有效,尝试进行交易的用户在该通道中拥有相同的特权等 。然后他们将模拟交易-并创建响应和R / W集。这作为提案响应发送回SDK。
  3. SDK会收集它们并进行检查,然后将其发送给订购者。订购者将按时间订购交易并创建一个区块,并将该区块发送给相关渠道中的所有对等方
  4. 收到该区块的对等方开始检查区块中的每笔交易(使用验证系统链码),以查看是否对所有交易都进行了认可并且正确设置了r / w(MVCC检查)。根据检查,交易可能被标记为有效或无效

因此,一旦所有检查都正确,事务将被标记为有效并更新当前状态,最后写入块并相应地生成事件。这样,可以在Hyperledger架构的多个阶段中达成共识。我认为,如果您参考Hyperledger Fabric交易流下面的此链接,将会更好地理解