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

Do not verify block signature on block processing #14820

Open
wants to merge 1 commit into
base: develop
Choose a base branch
from

Conversation

potuz
Copy link
Contributor

@potuz potuz commented Jan 22, 2025

Verifying the block signature adds a batch and performs a full hash of the block unnecessarily.

@potuz potuz requested a review from a team as a code owner January 22, 2025 10:57
@potuz potuz enabled auto-merge January 22, 2025 11:29
@potuz potuz disabled auto-merge January 22, 2025 11:29
Copy link
Member

@terencechain terencechain left a comment

Choose a reason for hiding this comment

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

This breaks the Beacon API implementation: https://ethereum.github.io/beacon-APIs/#/ValidatorRequiredApi/publishBlockV2. If broadcast_validation: consensus is specified, the signature is expected to be verified before broadcasting.

To summarize:

  • Propose using the Prysm API: broadcast without verifying
  • Propose using the Beacon API with default settings: broadcast without verifying
  • Propose using the Beacon API with broadcast_validation: consensus: verify before broadcasting

You will need to add a separate check here:

func (s *Server) validateConsensus(ctx context.Context, b *eth.GenericSignedBeaconBlock) error {
.

@potuz potuz force-pushed the dont_check_block_signature_on_processing branch from 12517d4 to a63a278 Compare January 22, 2025 16:33
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.

2 participants