Hyperledger Fabric 3.0 introduces a customizable consensus protocol.
The Hyperledger Fabric team has implemented on Fabric a BFT consensus using the library SmartBFT.
This new consensus allows you to be resilient to Byzantine faults, since it allows faulty nodes in the ordering service.
What's Byzantine Fault Tolerance (BFT)?
Byzantine Fault Tolerance (BFT) is a property of a distributed system that allows it to continue operating even if some of the nodes are faulty or malicious.
Before, Hyperledger Fabric used the Raft consensus mechanism, which is not Byzantine Fault Tolerant. This means that if a node in the ordering service is faulty, the whole network could be compromised. Imagine a node that sends incorrect blocks to the network, this could lead to a fork in the blockchain.
This doesn't happen often because the environment is controlled, but it's a possibility.
What's SmartBFT?
SmartBFT is a library that implements a Byzantine Fault Tolerant consensus mechanism. It's a library that can be used in any Go project, but it's been integrated into Hyperledger Fabric 3.0.
Pros
- Handle malicious nodes up to one third(⅓) of the network
- Suitable for truly decentralization
- Enhanced Security
- Capable of handling various network conditions and fault scenarios.
Cons
- More resource consumption
- Integration complexity
- Scalability Challenges
Where to continue?
You can see how I deploy a Hyperledger Fabric network 3.0 using the bevel-operator-fabric in the video below:
If you have any questions, feel free to ask in the comments below.