You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Nov 6, 2020. It is now read-only.
Which Parity version?: Parity/v1.11.7-stable-085035f-20180717/x86_64-macos/rustc1.27.1 && Parity-Ethereum/v2.1.0-unstable-25604dc57-20180803/x86_64-macos/rustc1.28.0
Which operating system?: macOS && Linux
How installed?: homebrew (macOS) && binaries (Linux) && from source (master branch macOS)
Are you fully synchronized?: not acceptable
Which network are you connected to?: private
Did you try to restart the node?: yes
Hello, Parity Team!
Long story short, but we have some issues with sealing AuthorityRound engine in private PoA network with emptyStepsTransition enabled. And I can't determine whether it's normal behaviour, or not.
At first, let me show you our current "testing stand" setup:
As you can see in config and log, I enabled empty steps to reduce amount of empty blocks in our blockchain.
Also in this test config you can see simple list of validators, but in production we have contract, which handles reportBenign with removing reported validator. And all validators rather quickly begin to report each other, due to building blocks with a "gap". But that's not the case here, I think I can provide you another chainspec, with contract supplied, to demonstrate similar beheviour.
I've tried both on 1.11.7 and fresh master version, both act the same.
Anyway. How do I know, that simple validators behave like this (both in list and contract configurations)? It's easy: before reporting another validator, a node will log a message like this:
The text was updated successfully, but these errors were encountered:
kavu
changed the title
[PoA] AuthorityRound with emptyStepsTransition makes validators to reportBenign
[PoA] AuthorityRound with emptyStepsTransition makes validators to reportBenign each other
Aug 9, 2018
Hello, Parity Team!
Long story short, but we have some issues with sealing AuthorityRound engine in private PoA network with
emptyStepsTransition
enabled. And I can't determine whether it's normal behaviour, or not.At first, let me show you our current "testing stand" setup:
test.toml config
test.json chainspec
As you can see in config and log, I enabled empty steps to reduce amount of empty blocks in our blockchain.
Also in this test config you can see simple list of validators, but in production we have
contract
, which handlesreportBenign
with removing reported validator. And all validators rather quickly begin to report each other, due to building blocks with a "gap". But that's not the case here, I think I can provide you another chainspec, with contract supplied, to demonstrate similar beheviour.I've tried both on 1.11.7 and fresh master version, both act the same.
Anyway. How do I know, that simple validators behave like this (both in list and contract configurations)? It's easy: before reporting another validator, a node will log a message like this:
Author 0x4e65…162e built block with step gap. current step: 306761935, parent step: 306761929
message indicates benign behaviour of the validator (as per https://github.com/paritytech/parity-ethereum/blob/e2095d4a5d5749ee26828f65c80e509e024b9535/ethcore/src/engines/authority_round/mod.rs#L748 and https://github.com/paritytech/parity-ethereum/blob/e2095d4a5d5749ee26828f65c80e509e024b9535/ethcore/src/engines/authority_round/mod.rs#L758). But that our single node! How it can behave in such manner?.. In fact, a node theoretically will report itself but it is disabled, obviously https://github.com/paritytech/parity-ethereum/blob/e2095d4a5d5749ee26828f65c80e509e024b9535/ethcore/src/engines/authority_round/mod.rs#L755Also, I can't find any tests in https://github.com/paritytech/parity-ethereum/blob/e2095d4a5d5749ee26828f65c80e509e024b9535/ethcore/src/engines/authority_round/mod.rs that checks emptyStepsTransition enabled and maximumEmptySteps more the 0.
I tried to explain it, but think you'll have additional questions and I am open answer them, anything to fix or understand this beheviour.
P.S. Logs.
Parity/v1.11.7-stable-085035f-20180717/x86_64-macos/rustc1.27.1
Parity-Ethereum/v2.1.0-unstable-25604dc57-20180803/x86_64-macos/rustc1.28.0
The text was updated successfully, but these errors were encountered: