Hyperledger 如何达成共识

How Consesus is reached in Hyperledger

在 Hyperledger 中,fabric 共识是由排序者达成的,但每笔交易的排序依据是什么以及分布式网络中存在多少排序者(如果不止一个)每个排序者完成的排序是如何相同的

on what basis each transaction is ordered

每个交易都由排序服务节点排序,并使用其内部实现特定的共识机制。

Hyperledger Fabric v1.0 带有 2 个排序服务实现:

  • Solo orderer -- 主要用于开发和测试;有 1 个节点,简单地将交易分批成块
  • Kafka based orderer -- orderer节点将交易发送到kafka队列,所有orderer节点"pull"以相同的顺序发送交易,然后切割相同的块;每个排序节点向队列发送一条 "time to cut a block" 消息,然后当第一条消息到达队列时,所有排序服务节点切割一个块

未来可能会有基于 sBFT(简化的 pBFT)算法的排序服务的拜占庭容错实现。