Skip to content
This repository has been archived by the owner on Nov 6, 2020. It is now read-only.

[ethcore] Untangle author, engine signer and reporter #10780

Closed
dvdplm opened this issue Jun 25, 2019 · 1 comment
Closed

[ethcore] Untangle author, engine signer and reporter #10780

dvdplm opened this issue Jun 25, 2019 · 1 comment
Labels
M4-core ⛓ Core client code / Rust. P7-nicetohave 🐕 Issue is worth doing eventually. Q3-medium A fair chunk of work, not necessarily very hard but not trivial either

Comments

@dvdplm
Copy link
Collaborator

dvdplm commented Jun 25, 2019

The code in ethcore has grown organically over time and the --engine_signer and --author CLI arguments end up in the same struct field from where it is then used for different things depending on the engine used. The terminology used is also a big mess with "signer", "author", "sealer", "engine_signer", "consensus_signer" or simply "address" being used to refer to the same thing.

In the Aura engine, the --engine_signer address is used for two things:

  • sign blocks when the node is part of the validator set
  • sign misbehaviour reports

As pointed out in this comment it might make sense to use two different fields, e.g. consensus_signer for block production and report_signer to sign misbehaviour reports to make it clearer in the code when we perform one or the other function.
All nodes provided with a report_signer address can submit reports, but only nodes with a consensus_signer can sign blocks (if/when they are part of the validator set as determined by the engine).

So this ticket has two goals:

  1. clean up naming and disentangle the CLI arguments;
  2. make it crystal clear in the Aura code which address is used for which purpose: block signing and misbehaviour reporting

In theory the work could be split into two chunks, but in practice I think it's easier to address them at the same time.

@dvdplm dvdplm added M4-core ⛓ Core client code / Rust. P7-nicetohave 🐕 Issue is worth doing eventually. Q3-medium A fair chunk of work, not necessarily very hard but not trivial either labels Jun 25, 2019
@adria0
Copy link

adria0 commented Jul 27, 2020

Closing issue due to its stale state.

@adria0 adria0 closed this as completed Jul 27, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
M4-core ⛓ Core client code / Rust. P7-nicetohave 🐕 Issue is worth doing eventually. Q3-medium A fair chunk of work, not necessarily very hard but not trivial either
Projects
None yet
Development

No branches or pull requests

2 participants