Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Require producer authority ("BP key") to be a single K1 key for each producer #183

Closed
spoonincode opened this issue May 4, 2022 · 1 comment

Comments

@spoonincode
Copy link
Member

The original EOSIO protocol allowed a producer to register its producer key with a key on either the K1 or R1 curve. With the introduction of WTMSIG_BLOCK_SIGNATURES protocol feature, the producer is able to register a producer authority with multiple keys and weights (much like an authority on an account's permission). With the WEBAUTHN_KEY protocol feature, producer authorities can technically include a PUB_WA in their authority; but blocks signed with SIG_WA have been dropped from the P2P layer for some time.

It appears in practice BPs do not make use of all this flexibility: they use a single key on the K1 curve.

Changes to the protocol are being explored for faster finality. Of particular note is that a new protocol being designed makes use of Schnorr signatures. These Schnorr signatures, plus a desire to simply reduce complexity in the protocol, leads us to propose that once this new faster finality protocol feature is enabled, a producer may only have a single key on the K1 curve registered regardless whether WTMSIG_BLOCK_SIGNATURES has been activated or not.

The exact mechanics of how (or if) the protocol feature can be activated with active producer authorities that violate this rule is outside the scope of this issue. We are interested in hearing any feedback against the removal of multi-key producer authorities and usage of R1 keys.

@spoonincode spoonincode added the seeking feedback Looking for community feedback on this issue label May 4, 2022
@stephenpdeos stephenpdeos moved this to Todo in ENF Engineering Jul 21, 2022
@spoonincode
Copy link
Member Author

The prompt for this was early IF work; the implementation ended up being based on BLS instead.

@spoonincode spoonincode closed this as not planned Won't fix, can't repro, duplicate, stale Apr 25, 2023
@github-project-automation github-project-automation bot moved this from Todo to Done in ENF Engineering Apr 25, 2023
@spoonincode spoonincode removed the seeking feedback Looking for community feedback on this issue label Apr 25, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Done
Development

No branches or pull requests

1 participant