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

ADR 0019: Key Manager Policy Improvements #10

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

Yawning
Copy link
Contributor

@Yawning Yawning commented Oct 21, 2022

No description provided.


Submitting a `PolicyRevokeKey` transaction, will invalidate the signing key
for the purpose of ratifying key manager policies. Note that revocations
are expected to take effect the next time various nodes re-attest (the light
Copy link
Member

Choose a reason for hiding this comment

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

Probably the enclave should fetch the latest revocation list each time before accepting any policy update (similar to how policy publication is checked) instead of on re-attestation?

Obviously the consensus layer will also enforce the revocation policy before accepting PolicyVotes so verifying publication is implicitly verifying the revocation list.

I guess the question is what happens with existing policies signed by the revoked key? Could they become invalid retroactively? I think this would be bad.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I was thinking of allowing for revoking existing policies, but in retrospect that probably isn't the best of ideas. I am not entirely convinced that revocation is actually useful either. I would say "Surely people store their keys properly, and we use a large/disjoint enough committee size", but this industry is full of morons like those involved in the Ronin Bridge stupidity, so that's probably not realistic.


On the consensus side, votes:
- Must be for an open (not expired) `PolicyProposal`
- Must be signed by a public key that is part of `Status.BaseSigners`
Copy link
Member

Choose a reason for hiding this comment

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

Also the key must not be revoked?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

If we do revocation, yeah. Like I said, I'm not convinced it's worth the complexity.

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.

2 participants