Skip to content

Commit

Permalink
Document maximum number of IBFT 2.0 validators (#895)
Browse files Browse the repository at this point in the history
* Document maximum number of IBFT 2.0 validators

Signed-off-by: Roland Tyler <[email protected]>

* Space

Signed-off-by: Roland Tyler <[email protected]>

* Incorporate feedback

Signed-off-by: Roland Tyler <[email protected]>

* Non-validator clarification

Signed-off-by: Roland Tyler <[email protected]>

* Review feedback

Signed-off-by: Roland Tyler <[email protected]>
  • Loading branch information
rolandtyler authored Dec 15, 2021
1 parent 4b18774 commit a60dc8a
Showing 1 changed file with 10 additions and 1 deletion.
11 changes: 10 additions & 1 deletion docs/HowTo/Configure/Consensus-Protocols/IBFT.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,12 +25,21 @@ Existing validators propose and vote to
[add or remove validators](Add-Validators.md#ibft-20). Adding or removing a validator
requires a majority vote (greater than 50%) of validators.

## Minimum number of validators
## Validators

### Minimum number of validators

IBFT 2.0 requires four validators to be Byzantine fault tolerant. Byzantine fault tolerance is the
ability for a blockchain network to function correctly and reach consensus despite nodes failing or
propagating incorrect information to peers.

### Maximum number of validators

As the number of validators increase, the message complexity increases, which can decrease performance.
In [network tests](https://wiki.hyperledger.org/display/BESU/Maximum+Validator+count+for+an+IBFT2+Network), IBFT 2.0 handles up to 30 validators with no loss of performance.

Non-validator nodes don't affect performance and don't count towards the maximum limit.

## Genesis file

To use IBFT 2.0, Besu requires an IBFT 2.0 [genesis file](../Genesis-File.md). The genesis file defines properties
Expand Down

0 comments on commit a60dc8a

Please sign in to comment.