openethereum/ethcore
Andreas Fackler f59ed47b1b Aura: Report malice on sibling blocks from the same validator (#11160)
* Aura: Report malice on sibling blocks from the same validator

This was originally written by @vkomenda, then squashed for
easier rebasing on master. Cleanup of `received_step_hashes`
was moved to `verify_block_family`, since `on_prepare_block`
does not exist on master, and a unit test was added.
Original commit messages:

added the map of received block header hashes

do not return an error and remove older received block records

optimised older record removal

block hash comparison optimisation and the weak client ref fix

SIBLING_MALICE_DETECTION_PERIOD constant

review comments

using step numbers instead of block numbers

* Add docs; use map_or.

* Update step hash record comment.

Co-Authored-By: David <dvdplm@gmail.com>

* Remove hash records after 2 rounds instead of 100 steps.
2019-10-14 12:56:38 +02:00
..
account-db Update ethereum types to 0.8.0 version (#11139) 2019-10-08 14:18:44 +02:00
account-state Update ethereum types to 0.8.0 version (#11139) 2019-10-08 14:18:44 +02:00
benches Fix ethcore/benches build. (#10964) 2019-08-13 15:27:28 +02:00
block-reward Update ethereum types to 0.8.0 version (#11139) 2019-10-08 14:18:44 +02:00
blockchain Update ethereum types to 0.8.0 version (#11139) 2019-10-08 14:18:44 +02:00
builtin Use TryFrom instead of From+panic for Builtin (#11140) 2019-10-09 14:42:03 +02:00
call-contract Update ethereum types to 0.8.0 version (#11139) 2019-10-08 14:18:44 +02:00
client-traits Change how RPCs eth_call and eth_estimateGas handle "Pending" (#11127) 2019-10-11 15:54:36 +02:00
db Update ethereum types to 0.8.0 version (#11139) 2019-10-08 14:18:44 +02:00
engine RPC method for clearing the engine signer (#10920) 2019-10-09 14:42:51 +02:00
engines Aura: Report malice on sibling blocks from the same validator (#11160) 2019-10-14 12:56:38 +02:00
evm Update ethereum types to 0.8.0 version (#11139) 2019-10-08 14:18:44 +02:00
executive-state Update ethereum types to 0.8.0 version (#11139) 2019-10-08 14:18:44 +02:00
light Update ethereum types to 0.8.0 version (#11139) 2019-10-08 14:18:44 +02:00
machine Use TryFrom instead of From+panic for Builtin (#11140) 2019-10-09 14:42:03 +02:00
node-filter Update ethereum types to 0.8.0 version (#11139) 2019-10-08 14:18:44 +02:00
pod Update ethereum types to 0.8.0 version (#11139) 2019-10-08 14:18:44 +02:00
private-tx Update ethereum types to 0.8.0 version (#11139) 2019-10-08 14:18:44 +02:00
res Deduplicate registrar contract & calling logic (#11110) 2019-10-03 15:15:25 +02:00
service Update ethereum types to 0.8.0 version (#11139) 2019-10-08 14:18:44 +02:00
snapshot Update ethereum types to 0.8.0 version (#11139) 2019-10-08 14:18:44 +02:00
spec Use TryFrom instead of From+panic for Builtin (#11140) 2019-10-09 14:42:03 +02:00
src Change how RPCs eth_call and eth_estimateGas handle "Pending" (#11127) 2019-10-11 15:54:36 +02:00
state-db Update ethereum types to 0.8.0 version (#11139) 2019-10-08 14:18:44 +02:00
sync Update ethereum types to 0.8.0 version (#11139) 2019-10-08 14:18:44 +02:00
trace Update ethereum types to 0.8.0 version (#11139) 2019-10-08 14:18:44 +02:00
trie-vm-factories Update to latest trie version. (#10972) 2019-08-15 15:36:48 +02:00
types Update ethereum types to 0.8.0 version (#11139) 2019-10-08 14:18:44 +02:00
verification Update ethereum types to 0.8.0 version (#11139) 2019-10-08 14:18:44 +02:00
vm Update ethereum types to 0.8.0 version (#11139) 2019-10-08 14:18:44 +02:00
wasm Update ethereum types to 0.8.0 version (#11139) 2019-10-08 14:18:44 +02:00
Cargo.toml Update ethereum types to 0.8.0 version (#11139) 2019-10-08 14:18:44 +02:00