You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Description
I noticed a potential discrepancy regarding IBFT 2.0's fault tolerance capability between the Besu documentation and the IBFT 2.0 paper.
Current Behavior
According to the Besu documentation, a 6-node IBFT 2.0 network can tolerate 2 faulty nodes.
Expected Behavior
Based on the IBFT 2.0 paper, Section 2 (Failure Model), a 6-node network should only be able to tolerate 1 faulty node according to the traditional Byzantine Fault Tolerance formula: n = 3f + 1, where:
n is the total number of nodes
f is the number of faulty nodes
Question
Could you explain why there is a difference between the documentation and the theoretical model? Is there a specific implementation in Besu that enables higher fault tolerance than the traditional BFT model suggests?
Environment
Consensus Protocol: IBFT 2.0
The text was updated successfully, but these errors were encountered:
Total nodes (n) = 6
Byzantine nodes (f) = 1
Disconnected nodes = 1
Normal functioning nodes = 4
It satisfies the basic PBFT requirement where n ≥ 3f + 1:
With f = 1, we need n ≥ 3(1) + 1 = 4
Our n = 6 satisfies this condition (6 > 4)
For consensus, PBFT requires 2f + 1 nodes to participate:
With f = 1, we need 2(1) + 1 = 3 nodes
We have 4 normal functioning nodes available (after subtracting 1 Byzantine and 1 disconnected node)
4 available nodes > 3 required nodes
Could you please confirm if this analysis is correct? Would the system be able to reach consensus in this scenario?
Thank you for your help in clarifying this.
Description
I noticed a potential discrepancy regarding IBFT 2.0's fault tolerance capability between the Besu documentation and the IBFT 2.0 paper.
Current Behavior
According to the Besu documentation, a 6-node IBFT 2.0 network can tolerate 2 faulty nodes.
Expected Behavior
Based on the IBFT 2.0 paper, Section 2 (Failure Model), a 6-node network should only be able to tolerate 1 faulty node according to the traditional Byzantine Fault Tolerance formula: n = 3f + 1, where:
n is the total number of nodes
f is the number of faulty nodes
Question
Could you explain why there is a difference between the documentation and the theoretical model? Is there a specific implementation in Besu that enables higher fault tolerance than the traditional BFT model suggests?
Environment
The text was updated successfully, but these errors were encountered: