-
Notifications
You must be signed in to change notification settings - Fork 53
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
Refactor computing the public key package and expose it. #502
Conversation
Codecov ReportPatch coverage:
Additional details and impacted files@@ Coverage Diff @@
## main #502 +/- ##
=======================================
Coverage 77.46% 77.46%
=======================================
Files 30 30
Lines 2742 2751 +9
=======================================
+ Hits 2124 2131 +7
- Misses 618 620 +2
☔ View full report in Codecov by Sentry. |
0345633
to
8f30862
Compare
Don't worry about clippy, we'll fix these shortly, some news errors came up in the Rust release last week |
We have just fixed the clippy errors on main, if you rebase on top of it it should pass CI |
8f30862
to
9f775fd
Compare
Done |
Kind of annoying that |
c28f6a3
to
297faaf
Compare
d3f3ea4
to
f810c25
Compare
The Thus this PR will need two methods: one for deriving a PublicKeyPackage from a single VSSCommitment, to use in trusted dealer, and one for deriving a PublicKeyPackage from a list of VSSCommitments, to use in DKG. We're currently doing a bunch of refactorings which will conflict with this PR, so if you prefer I can do both the adjustment I mentioned and the rebasing on top of the refactorings. |
Yes, I understand that now. But PublicKeyPackage doesn't need two methods, just one. In dkg you can sum all the commitments to a single one which can be used to produce a PublicKeyPackage. This is what I called a group commitment. Not sure if there is a better word for it. |
So for a dkg you'd call |
Good point! But I think it may be confusing to users. Also indeed the name |
Thank you for this, indeed it makes a lot of sense and it helps organizing things. I'm closing this in favor of #551, because I made a mess with the history after syncing with main and I didn't want to force push your branch, so I created that instead based on your commits. I made some changes to improve consistency with the rest of the code base but the API should be equivalent. |
These are useful for other crates. Our particular use case is integrating frost with substrate. So we store the verifiable secret sharing commitments on chain. If a node crashes it can recover and recompute the public key package from the on chain commitments.