poanetwork / hbbft

An implementation of the paper "Honey Badger of BFT Protocols" in Rust. This is a modular library of consensus.
Other
357 stars 96 forks source link

Add new test case in net_dynamic_hb. #384

Open RicoGit opened 5 years ago

RicoGit commented 5 years ago

Motivation

Better testing DynamicHoneyBadger for a more general case.

Proposition

New test case replace_all_validators will replace the entire network with a new one. The new set of validator will not overlap with the first one.

Related details

Both sets need to satisfy the condition that less than a third of them are malicious. But note that correctness of the algorithm never depends on the intersection of the sets or anything. During the transition period, the old set is still fully performing the consensus algorithm, while the new set is running the distributed key generation (DKG). After DKG has been completed, the new set takes over the consensus algorithm.

See the discussion in #374.