Adrian Catangiu
c21f292a02
BEEFY: implement equivocations detection, reporting and slashing ( #13121 )
...
* client/beefy: simplify self_vote logic
* client/beefy: migrate to new state version
* client/beefy: detect equivocated votes
* fix typos
* sp-beefy: add equivocation primitives
* client/beefy: refactor vote processing
* fix version migration for new rounds struct
* client/beefy: track equivocations and create proofs
* client/beefy: adjust tests for new voting logic
* sp-beefy: fix commitment ordering and equality
* client/beefy: simplify handle_vote() a bit
* client/beefy: add simple equivocation test
* client/beefy: submit equivocation proof - WIP
* frame/beefy: add equivocation report runtime api - part 1
* frame/beefy: report equivocation logic - part 2
* frame/beefy: add pluggable Equivocation handler - part 3
* frame/beefy: impl ValidateUnsigned for equivocations reporting
* client/beefy: submit report equivocation unsigned extrinsic
* primitives/beefy: fix tests
* frame/beefy: add default weights
* frame/beefy: fix tests
* client/beefy: fix tests
* frame/beefy-mmr: fix tests
* frame/beefy: cross-check session index with equivocation report
* sp-beefy: make test Keyring useable in pallet
* frame/beefy: add basic equivocation test
* frame/beefy: test verify equivocation results in slashing
* frame/beefy: test report_equivocation_old_set
* frame/beefy: add more equivocation tests
* sp-beefy: fix docs
* beefy: simplify equivocations and fix tests
* client/beefy: address review comments
* frame/beefy: add ValidateUnsigned to test/mock runtime
* client/beefy: fixes after merge master
* fix missed merge damage
* client/beefy: add test for reporting equivocations
Also validated there's no unexpected equivocations reported in the
other tests.
Signed-off-by: acatangiu <adrian@parity.io >
* sp-beefy: move test utils to their own file
* client/beefy: add negative test for equivocation reports
* sp-beefy: move back MmrRootProvider - used in polkadot-service
* impl review suggestions
* client/beefy: add equivocation metrics
---------
Signed-off-by: acatangiu <adrian@parity.io >
Co-authored-by: parity-processbot <>
2023-02-17 09:45:00 +00:00