Add a 2/3 quorum option to Authority Round. (#10909)

* Add a 2/3 quorum option to Authority Round.

This prevents the "Attack of the Clones":
https://arxiv.org/pdf/1902.10244.pdf

* Make RollingFinality::remove_signers more tolerant.

* Rename parameter to two_thirds_majority_transition.
This commit is contained in:
Andreas Fackler
2019-08-21 14:55:51 +02:00
committed by David
parent 0a654afecc
commit 175051bac7
3 changed files with 180 additions and 66 deletions

View File

@@ -58,6 +58,8 @@ pub struct AuthorityRoundParams {
pub maximum_empty_steps: Option<Uint>,
/// Strict validation of empty steps transition block.
pub strict_empty_steps_transition: Option<Uint>,
/// First block for which a 2/3 quorum (instead of 1/2) is required.
pub two_thirds_majority_transition: Option<Uint>,
}
/// Authority engine deserialization.