Skip to content

Commit

Permalink
Remove kzg proof check for blob reconstructor (#14671)
Browse files Browse the repository at this point in the history
  • Loading branch information
terencechain authored Nov 26, 2024
1 parent 0475631 commit 8025a48
Show file tree
Hide file tree
Showing 3 changed files with 6 additions and 9 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,7 @@ The format is based on Keep a Changelog, and this project adheres to Semantic Ve
- Removed finalized validator index cache, no longer needed.
- Removed validator queue position log on key reload and wait for activation.
- Removed outdated spectest exclusions for EIP-6110.
- Removed kzg proof check from blob reconstructor.

### Fixed

Expand Down
6 changes: 0 additions & 6 deletions beacon-chain/execution/engine_client.go
Original file line number Diff line number Diff line change
Expand Up @@ -623,13 +623,7 @@ func (s *Service) ReconstructBlobSidecars(ctx context.Context, block interfaces.
continue
}

// Verify the sidecar KZG proof
v := s.blobVerifier(roBlob, verification.ELMemPoolRequirements)
if err := v.SidecarKzgProofVerified(); err != nil {
log.WithError(err).WithField("index", i).Error("failed to verify KZG proof for sidecar")
continue
}

verifiedBlob, err := v.VerifiedROBlob()
if err != nil {
log.WithError(err).WithField("index", i).Error("failed to verify RO blob")
Expand Down
8 changes: 5 additions & 3 deletions beacon-chain/verification/blob.go
Original file line number Diff line number Diff line change
Expand Up @@ -67,9 +67,11 @@ var InitsyncBlobSidecarRequirements = requirementList(GossipBlobSidecarRequireme
RequireSidecarProposerExpected,
)

// ELMemPoolRequirements is a list of verification requirements to be used when importing blobs and proof from
// execution layer mempool. Only the KZG proof verification is required.
var ELMemPoolRequirements = []Requirement{RequireSidecarKzgProofVerified}
// ELMemPoolRequirements defines the verification requirements for importing blobs and proofs
// from the execution layer's mempool. Currently, no requirements are enforced because it is
// assumed that blobs and proofs from the execution layer are correctly formatted,
// given the trusted relationship between the consensus layer and execution layer.
var ELMemPoolRequirements []Requirement

// BackfillBlobSidecarRequirements is the same as InitsyncBlobSidecarRequirements.
var BackfillBlobSidecarRequirements = requirementList(InitsyncBlobSidecarRequirements).excluding()
Expand Down

0 comments on commit 8025a48

Please sign in to comment.