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

NodeID should contain a single ed25519 key #2269

Closed
lrettig opened this issue Jan 27, 2021 · 1 comment
Closed

NodeID should contain a single ed25519 key #2269

lrettig opened this issue Jan 27, 2021 · 1 comment
Assignees

Comments

@lrettig
Copy link
Member

lrettig commented Jan 27, 2021

Description

Right now, NodeID contains two keys, an edwards public key used for signing and a BLS-derived key used for VRF. We want to collapse these down to a single ed25519 key.

In future we may want to allow the node operator to rotate the signing key, but for now we're only allowing a single key that cannot be changed.

Replace BLS with a library that implements the scheme described here. There's more background info in this thread.

Affected code

  • Initialization code in cmd/node.go
  • NodeID struct and all code that uses it
  • SmesherID (derived from NodeID) and all code that uses it

This issue appears in commit hash: 3543283

Related issues

Replaces #1391
Obviates #936

@dshulyak
Copy link
Contributor

dshulyak commented Jan 23, 2022

ecvrf is implemented in oasis's library https://github.com/oasisprotocol/curve25519-voi/blob/master/primitives/ed25519/extra/ecvrf/ecvrf.go . we should use it.

also we should replace our library with oasis library, as it is superior both in quality and in performance, also it is being used in puiblic blockchains (tendermint and oasis). it may require changing it slightly to support public key recovery as it is not implemented.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants