IBFT (Istanbul Byzantine Fault Tolerance) and IBFT 2.0 are both consensus protocols used in permissioned blockchains, primarily for ensuring transaction finality while supporting Byzantine fault tolerance. However, IBFT 2.0 is an upgraded version of IBFT, featuring several key improvements aimed at enhancing stability, security, and performance. Here’s a breakdown of the main differences:
1. Protocol Rounds and Stability
- IBFT: Has a single round per block proposal. If consensus fails (due to network issues or node failures), it may result in a stalled network, as IBFT lacks a formal mechanism for recovering from failed rounds.
- IBFT 2.0: Introduces a mechanism called rounds, allowing multiple rounds of proposal and voting if a block proposal fails. This means nodes continue attempting consensus until an agreement is reached, significantly improving network resilience.
2. Improved Byzantine Fault Tolerance
- IBFT: Provides Byzantine fault tolerance but may experience issues when handling a network with just the minimum quorum of nodes required for consensus.
- IBFT 2.0: Improves Byzantine fault tolerance by refining the voting and validation process to maintain consensus even with network or node instability. This enhancement allows IBFT 2.0 to handle faulty nodes more effectively, minimizing the risk of deadlocks.