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

Added security notes for the multikey setup #783

Merged
merged 2 commits into from
Dec 28, 2023

Conversation

iulianpascalau
Copy link
Contributor

Description of the pull request (what is new / what has changed)

  • added security notes for the multikey setup

Did you test the changes locally ?

  • yes
  • no

Which category (categories) does this pull request belong to?

  • document new feature
  • update documentation that is not relevant anymore
  • add examples or more information about a component
  • fix grammar issues
  • other

At the first sight, this can be seen as a security degradation in terms of means of attacking a large staking provider but there are ways to mitigate these concerns as explained in the following list:
1. use the recommendation found in this page regarding the maximum number of keys per multikey group;
2. for each main multikey group use at least one backup multikey group in case something bad happens with the main group;
3. use the NamedIdentity configuration explained above to hide the BLS keys and their declared identity from the actual nodes that manages the keys.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
3. use the NamedIdentity configuration explained above to hide the BLS keys and their declared identity from the actual nodes that manages the keys.
3. use the NamedIdentity configuration explained above to hide the BLS keys and their declared identity from the actual nodes that manage the keys.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

3. use the NamedIdentity configuration explained above to hide the BLS keys and their declared identity from the actual nodes that manages the keys.

Regarding point 3, each managed BLS key will create a virtual p2p identity that no node from the network can connect to since it does not advertise the connection info but is only used to sign p2p messages.
Associated with a separate named identity, the system will make that BLS key virtually unreachable, and it's origin hidden from the multikey nodes. For this to work properly, the node operators will need to apply the following changes on the `prefs.toml` file:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Associated with a separate named identity, the system will make that BLS key virtually unreachable, and it's origin hidden from the multikey nodes. For this to work properly, the node operators will need to apply the following changes on the `prefs.toml` file:
Associated with a separate named identity, the system will make that BLS key virtually unreachable, and its origin hidden from the multikey nodes. For this to work properly, the node operators will need to apply the following changes on the `prefs.toml` file:

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

@iulianpascalau iulianpascalau merged commit 3bca0a1 into development Dec 28, 2023
1 check passed
@iulianpascalau iulianpascalau deleted the security-notes-on-multikey branch December 28, 2023 08:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants