hbbft
hbbft copied to clipboard
Optimization: Evaluate different strategies for picking agreement's `vals`.
The set of boolean values vals
that is used at the end of each agreement epoch together with the coin value to determine what the next epoch's estimate will be and whether to terminate, now probably has several correct definitions (see https://github.com/amiller/HoneyBadgerBFT/issues/59#issuecomment-408664323):
- Use whatever we sent in our
Conf
. - Use what we received in f + 1 of them.
- If by the time we've received enough
Conf
s, we have enoughAux
messages to justify a particularvals
, we can use that one.
What is the best strategy?
- Prefer a single value?
- Only prefer a single value if it's the coin value (i.e. terminate if possible), otherwise prefer the next coin round's value (if known)?
Some of these would possibly make a Conf
round useful even in fixed-coin epochs. We should run benchmarks with different strategies and in different scenarios (with and without adversary, etc.). And we need to double-check that they are indeed sound!