poanetwork/hbbft

Fix Common Coin use in `Agreement`.

afck opened this issue · 4 comments

afck commented

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.

afck commented

Apart from the tests, this is done. But the Conf messages might allow further optimizations.

afck commented

Closing this, since we have #228 for the missing test.