- Yair Mark
Hyperledger Fabric has clearly defined parts. The two related to consensus are the orderer and the endorser. The orderer determines in what order blocks are placed into the chain.The endorser is responsible for verifying a smart contract (referred to as chaincode in Fabric).
Fabric currently ships with 2 ordering services:
- Single: This should only be used in development and testing
- Kafka: This allows for high throughput but is not BFT
If BFT is required for your application it is solvable on Fabric as Fabric allows other ordering services to be coded see the following example of research done on implementing a BFT ordering service.
More detail on the differences between the default consensus mechanism with different Hyperledger Frameworks can be found in the Hyperledger architecture whitepaper on p. 7 a screenshot of this (from the paper) has been included below: