feat: introduces BLS signature verification precompile #52
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.
Introduction of BLS Signature Verification Precompile
This PR introduces a new precompiled contract for BLS signature verification using the BLS12-381 curve. The
bls12381SignatureVerificationstruct enables Ethereum smart contracts to efficiently verify BLS signatures (e.g validate a message was signed by a target public key). This will be useful in the context of ensuring that builders who register have access to the BLS key they sign up with.Details for usage
Note: We assume the public key is a point on the G1 curve.
Example Usage: Solidity Contract
The following example demonstrates how to interact with the BLS signature verification precompile via a smartcontract:
The video demo can be seen here