Fix Common Coin use in `Agreement`.
afck opened this issue · 4 comments
The algorithm needs a third round of messages (Conf
), otherwise an adversary that controls the network scheduler and one node can potentially stall agreement: amiller/HoneyBadgerBFT#59
As suggested in the link to the description of the bug above, we use the approach of the paper "Cobalt: BFT Governance in Open Networks", https://arxiv.org/abs/1802.07240 , section 4.3.2. This is yet another important paper in the context of hbbft
since it touches upon the greater problem of decentralized governance, and uses a modular protocol related to Honey Badger where the Agreement issue has been fixed.
It'd be great to come up with adversarial tests attacking the optimistic common coin schedule of #69. So that we test the difference from the paper version of Honey Badger.
Apart from the tests, this is done. But the Conf
messages might allow further optimizations.