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

Add min_signers to PublicKeyPackage #867

Open
conradoplg opened this issue Feb 7, 2025 · 1 comment
Open

Add min_signers to PublicKeyPackage #867

conradoplg opened this issue Feb 7, 2025 · 1 comment
Labels
C-breaking Category: A breaking change for users

Comments

@conradoplg
Copy link
Contributor

James Katz pointed out in Discord that PublicKeyPackage does not have a min_signers. This prevents a non-Participant Coordinator from succesfully running the protocol since they will have no idea how many participants need to be involved in a signing session.

Add a min_signers field to the PublicKeyPackage.

This is a breaking change so it will need to be included only in 3.0.0

We must be careful to not break serialization compatibility if possible (we should not break that even in major versions if possible). That might be achievable using an Option. If it's not possible, that will require bumping the serialization version which will be a pain.

@conradoplg conradoplg added the C-breaking Category: A breaking change for users label Feb 7, 2025
@StackOverflowExcept1on
Copy link
Contributor

It would also be nice to add getters fn max_signers(&self) -> u16 and fn min_signers(&self) -> u16 for PublicKeyPackage. max_signers seems like it might already be known from self.verifying_shares.len(). I also ran into this in implementation of the ROAST protocol: https://github.com/StackOverflowExcept1on/roast/blob/70dcfee21fe45979b361df107ea81cf7290c0cc7/roast-core/src/coordinator.rs#L60-L66

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
C-breaking Category: A breaking change for users
Projects
Status: No status
Development

No branches or pull requests

2 participants