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

Type for SSKR config parameters #110

Open
simonratner opened this issue Jun 29, 2022 · 3 comments
Open

Type for SSKR config parameters #110

simonratner opened this issue Jun 29, 2022 · 3 comments

Comments

@simonratner
Copy link

simonratner commented Jun 29, 2022

To help with guided recovery on clients, and metadata for collaborative recovery services (BlockchainCommons/Community#149), it is useful to have a type encoding just the config parameters of a unique SSKR split, without the share values.

The following parameters from https://github.com/BlockchainCommons/Research/blob/master/papers/bcr-2020-011-sskr.md would be useful as part of this type:

  • identifier (id)
  • group-threshold (Gt)
  • group-count (g)
  • member-threshold (t) per group
@simonratner
Copy link
Author

simonratner commented Jul 1, 2022

Quick sketch if we want to keep a similar compact format (and re-use some parsing logic):

crypto-sskr-params = bytes

Bit fields of data field:

pack the id, group and member data into (3+g) bytes:
76543210        76543210        76543210
        76543210        76543210
----------------====----====----====----
identifier: 16
                group-threshold: 4
                    group-count: 4
                        repeat (× g):
                        group-index: 4
                            member-threshold: 4
                                ....
                                    ....

Alternatively, this can be a proper CBOR struct since it probably doesn't have the same pressure to optimize for size.

@simonratner
Copy link
Author

If there is a plan to use the reserved bits of crypto-sskr for versioning, that should probably be included too.

@wolfmcnally
Copy link
Collaborator

I expect that when we do choose to update the SSKR format, we will indicate this using one of the reserved bits.

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

No branches or pull requests

2 participants