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

feat: adds BLS signature verification for provider registration #523

Merged
merged 44 commits into from
Dec 13, 2024

Conversation

ckartik
Copy link
Contributor

@ckartik ckartik commented Dec 9, 2024

This PR introduces updates to the smart contracts, testing infrastructure, and other components impacting provider flow, registration, and staking processes:

  1. Provider Registration:

    • Providers must now sign their EOA account address during registration and include the signature in the StakeRequest.
      • The authentication of the EOA as the owner of the private key associated with the registered BLS public key.
      • Cryptographic linkage of the registered BLS key (used in relays) to the EOA, identifying the provider/builder on MEV-commit.
  2. Protobuf Updates:

    • Updates were made to the protobufs to accommodate changes in the StakeRequest structure.
  3. P2P Nodes:

    • Minor updates were made to aspects of P2P nodes to align with these changes.

These updates collectively strengthen the staking and registration process while improving integration with the relay and P2P components.

Issue ticket number and link

Fixes # (issue)

Checklist before requesting a review

  • I have added tests that prove my fix is effective or that my feature works.
  • I have made corresponding changes to the documentation.

@ckartik ckartik changed the title feat: adds BLS signature verification for provider registration. feat: adds BLS signature verification for provider registration Dec 9, 2024
chrmatt
chrmatt previously requested changes Dec 9, 2024
Copy link
Member

@chrmatt chrmatt left a comment

Choose a reason for hiding this comment

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

Verifying the BLS key is a good step! I suggest to not just sign the address though, as discussed in more detail below.

contracts/contracts/core/ProviderRegistry.sol Show resolved Hide resolved
.github/workflows/ci.yml Outdated Show resolved Hide resolved
@ckartik ckartik force-pushed the ckartik/add-bls-vericiation-use-sc branch from f1077a9 to 1fa0d65 Compare December 12, 2024 18:28
@mrekucci mrekucci force-pushed the ckartik/add-bls-vericiation-use-sc branch from b6cc895 to 8dfd1f7 Compare December 12, 2024 20:46
@mrekucci mrekucci force-pushed the ckartik/add-bls-vericiation-use-sc branch from 8dfd1f7 to d139bad Compare December 12, 2024 21:31
@mrekucci mrekucci force-pushed the ckartik/add-bls-vericiation-use-sc branch 2 times, most recently from f20cfc2 to 5bad8f6 Compare December 13, 2024 12:57
@mrekucci mrekucci force-pushed the ckartik/add-bls-vericiation-use-sc branch from 5bad8f6 to 48646d7 Compare December 13, 2024 13:21
@ckartik ckartik requested review from mrekucci and chrmatt December 13, 2024 16:10
@ckartik ckartik dismissed chrmatt’s stale review December 13, 2024 18:25

Will improve signed payload in subsequent versions.

@ckartik ckartik merged commit 33c187a into main Dec 13, 2024
5 checks passed
@ckartik ckartik deleted the ckartik/add-bls-vericiation-use-sc branch December 13, 2024 18:25
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.

4 participants