Extensibility for additional KES keys?
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 25/100
- Issue type
- Feature
- Clarity
- Needs clarification
- Activity status
- Stale
- Tech stack
- haskell
- Domain
- cryptography
Research direction
No files or tests are named. Start by reviewing the KES agent's current key-management entry points, then compare the requirements for Peras certificates and Mithril's changing certificate scheme; done should be a documented assessment of how additional forward-secure key types could be supported.
Written by the indexing model from the issue text.
Description
Certain projects (like Peras and Mithril) also need forward secrecy functionality (for the same fundamental reason as Praos). However, they will most likely require different KES keys than what is being used today.
-
Ouroboros Peras requires certificates, which are stake-based threshold multi-signatures. The current KES keys do not have any nice sublinear aggregation properties, so certificates would be very large here (without heavy/still-impractical machinery like SNARKs). One plausible candidate (with forward secrecy) are Pixel signatures which are forward-secure and have the crucial property that any number of Pixel signatures on the same message can be aggregated in constant space.
Another nice property is that the size of public keys and signatures is independent of the maximum number of time periods $T$, so one can easily choose a large value like $T = 2^{32}$ and still get reasonable public key/signature sizes. So one would most likely only push a new key when setting up a new node, eg due to a planned hardware migration, or if a previous key on some machine has been compromised.
-
Mithril is another protocol that requires stake-based multi-signatures. Currently, they use non-forward secure cryptography, and require everybody to re-register keys every ~5 days, but they are currently in the process of changing their certificate scheme, but I don't know the details here.
This issue is about getting an idea of how easy it would be to let the KES agent manage additional keys in the future.
- Dominant language
- Haskell
- Stars
- 2
- Forks
- 13
- PR merge metrics
- No merged PRs in 30d
Getting set up
- Ships a Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from IntersectMBO/kes-agent
-
Difficulty 4/5 3-5 days Newbie friendliness 30/100
IntersectMBO/kes-agent#109 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 52/100
IntersectMBO/kes-agent#102 ·
-
Difficulty 4/5 3-5 days Newbie friendliness 38/100
IntersectMBO/kes-agent#79 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 45/100
IntersectMBO/kes-agent#78 · 1 reaction ·
-
Difficulty 4/5 3-5 days Newbie friendliness 35/100
IntersectMBO/kes-agent#70 ·
All issues in IntersectMBO/kes-agent
Similar issues
-
Difficulty 1/5 Under an hour Newbie friendliness 75/100
-
15-minutes 5-minutes algorithm any-language beginner-friendly c cpp csharp easy go good first issue hacktoberfest help wanted java javascript kotlin python rust swift typescript
Difficulty 1/5 Under an hour Newbie friendliness 68/100
Huerte/algo-solutions-python#260 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 62/100
IntersectMBO/cardano-ledger#6276 ·
Maintainers usually reply within 1 day