-
Notifications
You must be signed in to change notification settings - Fork 44
Pass on stm module #199
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
Merged
Pass on stm module #199
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Unit Test Results 5 files - 1 14 suites - 1 2m 19s ⏱️ -3s Results for commit cf26c38. ± Comparison against base commit f20638e. This pull request removes 9 and adds 2 tests. Note that renamed tests count towards both.
♻️ This comment has been updated with latest results. |
ghubertpalo
approved these changes
May 18, 2022
* StmSig does not require the Verification key + PoP, as in the registration PoP is already verified. * PartyId is no longer linked to a signature. * Introduced the StmAggrVerificationKey, which essentially is the root of the merkle tree and the full stake. * Renamed StmMultiSig -> StmAggrSig * Minor optimisation in StmAggrSig. Instead of individually verifying `k` signatures (= to evaluating `k` pairings), we first aggregate the signatures, and the keys, and verify the aggregate (= `k` additions in G1 and G2 and one pairing evaluation)
This is intentional, to force generation of signers or clerks to produce an instance from valid keys (and their PoP).
* Removed C-API. We are expecting a lot of changes to the library, and not expecting to use it out of rust. A C-API may be useful in the future, but not now. * Created a `dense_mapping` module to simplify the STM module (by far the most complex and crucial module of the library). * Clerks no longer verify Multi Signatures. Instead, we have multi signatures capable of being verified provided a verification key.
Alenar
approved these changes
May 19, 2022
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Refactor of the library. Goal is to simplify the core-library in the next few iterations, and provide what is strictly required. This PR simplifies the crate, and in particular the
stm
module.StmSig
does not require the Verification key + PoP, as in the registration PoP is already verified.PartyId
is no longer linked to a signature.StmAggrVerificationKey
, which essentially is the root of the merkle tree and the full stake.StmMultiSig
->StmAggrSig
to have a clearer distinction with the multi signature.StmAggrSig
. Instead of individually verifyingk
signatures (= to evaluatingk
pairings), we first aggregate the signatures, and the keys, and verify the aggregate (=k
additions in G1 and G2 and one pairing evaluation)ClosedRegistration
,Signer
andClerk
. This is intentional, to force generation of signers or clerks to produce an instance from valid keys (and their PoP).dense_mapping
module to simplify thestm
module (by far the most complex and crucial module of the library).Clerk
.