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

Change to use single-key signature scheme in contracts #2064

Merged
merged 8 commits into from
Aug 2, 2024
Merged

Conversation

ureeves
Copy link
Member

@ureeves ureeves commented Aug 1, 2024

By updating the version of bls12_381_bls to 0.4, we can leverage the improved API to seamlessly change to the single-key signature scheme for both Moonlight and the stake contract, with minimal changes to the codebase.

The consesus, node, and node-data crates do go through some changes, in particular to use BlsMultisigSignature and BlsMultisigPublicKey. This results in a much more explicit usage of the multi-signature scheme than before.

Resolves: #2044

Eduardo Leegwater Simões added 3 commits August 1, 2024 15:32
By updating `bls12_381_bls` to `0.4` and changing the API to conform to
it, as well as modifying the use of the functions accordingly, we change
the scheme used for Moonlight and stake to be single-key, as opposed to
multi-signature.

This is not only faster, since it doesn't require key or signature
aggregation, but also makes more semantic sense.
The host function is modified to ensure we verify the single-key scheme,
as opposed to the multi-signature scheme.
HDauven
HDauven previously approved these changes Aug 1, 2024
Copy link
Member

@HDauven HDauven left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

consensus/src/quorum/verifiers.rs Show resolved Hide resolved
Eduardo Leegwater Simões added 5 commits August 2, 2024 12:44
Copy link
Member

@herr-seppia herr-seppia left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

node-data/src/ledger/faults.rs Show resolved Hide resolved
@ureeves ureeves merged commit 04405bc into master Aug 2, 2024
8 checks passed
@ureeves ureeves deleted the update-bls branch August 2, 2024 12:11
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

Successfully merging this pull request may close these issues.

Change BLS signature scheme to single in contracts
3 participants