-
Notifications
You must be signed in to change notification settings - Fork 10
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
[ADR] 0004 - Separate Transport and Application Keys #35
base: main
Are you sure you want to change the base?
Conversation
72261de
to
753cbe6
Compare
@bryanchriswhite Bump. Wanted to point attention to this comment specifically: #35 (comment) |
0507fe8
to
7f3b0a5
Compare
7f3b0a5
to
383f43a
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM up until Decision Outcome
, but from thereon, I think there are more details we should fill if this is really the path we want to go down.
- Security: Minimizing the risks associated with key compromise | ||
- Simplification: Reducing complexity in identity management | ||
- Flexibility: Allowing different key management strategies for different modules | ||
- Isolation: Minimizing the impact of compromise on other system components | ||
- Optionality: Enabling future changes and extensions to the protocol |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
NIT: Bold the words used for driving the decision.
Ditto elsewhere where applicable
1. Use a single private key for both P2P and other functionalities | ||
2. Use separate private keys for P2P and other functionalities | ||
|
||
## Decision Outcome |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There is no mention of things like:
- TLS
- Networking key rotation
- The fact that "utility" keys are tied to the actor's stake/earnings/utility (e.g. think Applications, Servicres) but P2P is primarily used for networking and security
- What's automatic or manual for a user (e.g. P2P key rotation can be automated)
- Some pubKeys corresponding to privKeys are stored on-chain while others are not
Co-authored-by: Daniel Olshansky <[email protected]>
Summary
This pull request adds an Architecture Decision Record (ADR) proposing the use of separate private keys for the transport and consensus layers in the system. The ADR discusses the context, decision drivers, considered options, and the pros and cons of each option, ultimately recommending the use of separate private keys.
The chosen option is to keep the P2P and consensus private keys separate. By using separate private keys, the system can achieve better security, flexibility, and isolation in the event of key compromise. The ADR will also serve as a reference for future discussions or changes related to key management in the system.
Please review the ADR and provide feedback on:
Once the ADR has been reviewed and revised as necessary, it will be merged into the repository to serve as a reference for the project.
Related Issue