This project is deprecated, it has been ported into Obol's Charon distributed validator client and improved upon.
Package qbft
is a PoC implementation of the "The Istanbul BFT Consensus Algorithm" by Henrique Moniz
as referenced by the QBFT spec.
- Simple API, just a single function:
qbft.Run
. - Consensus on arbitrary data.
- Transport abstracted and not provided.
- Decoupled from process authentication and message signing (not provided).
- No dependencies.
- Core algorithm under 500 lines of code.
- Double check future/past round messages.
- Double check if rules need to trigger on round change.
- Add Byzantium tests.