#validation #bft #step #block #engine #timestamp #transition

authority-round

Non-instant BFT proof-of-authority blockchain engine

Show the crate…

2 unstable releases

0.1.0 Mar 9, 2021
0.0.0 Mar 6, 2021

#34 in #bft


Used in 10 crates (via vapcore-spec)

GPL-3.0 license

3MB
15K SLoC

authority-round

A blockchain engine that supports a non-instant BFT proof-of-authority.

It is recommended to use the two_thirds_majority_transition option, to defend against the "Attack of the Clones". Newly started networks can set this option to 0, to use a 2/3 quorum from the beginning.

To support on-chain governance, the [ValidatorSet] is pluggable: Aura supports simple constant lists of validators as well as smart contract-based dynamic validator sets. Misbehavior is reported to the [ValidatorSet] as well, so that e.g. governance contracts can penalize or ban attacker's nodes.

  • "Benign" misbehavior are faults that can happen in normal operation, like failing to propose a block in your slot, which could be due to a temporary network outage, or wrong timestamps (due to out-of-sync clocks).

  • "Malicious" reports are made only if the sender misbehaved deliberately (or due to a software bug), e.g. if they proposed multiple blocks with the same step number.

Dependencies

~27MB
~431K SLoC