Describe the bug
The current quorum calculation method is 2F+1 where F is the maximum number of byzantine nodes. However, this formula does not hold for the network with 4x+1 validators, which might cause chain splits due to the incorrect quorum size. The correct formula should be Ceil(2 * valSet.Size())/3, to comply with the BFT principles.
Describe the bug The current quorum calculation method is 2F+1 where F is the maximum number of byzantine nodes. However, this formula does not hold for the network with 4x+1 validators, which might cause chain splits due to the incorrect quorum size. The correct formula should be Ceil(2 * valSet.Size())/3, to comply with the BFT principles.
How to reproduce please refer to https://github.com/klaytn/klaytn/blob/dev/consensus/istanbul/core/handler_test.go#L619
Expected behavior
Attachments
Environment (please complete the following information)
Additional context A hard fork is required to implement the correct quorum calculation.