implement gloas data column verification#9202
Closed
dknopik wants to merge 5 commits into
Closed
Conversation
jimmygchen
reviewed
Apr 28, 2026
Comment on lines
+359
to
+369
| let commitments_len = match column_sidecar.as_ref() { | ||
| DataColumnSidecar::Fulu(dc) => dc.kzg_commitments.len(), | ||
| DataColumnSidecar::Gloas(_) => { | ||
| let bid = block | ||
| .message() | ||
| .body() | ||
| .signed_execution_payload_bid() | ||
| .map_err(|_| GossipDataColumnError::InvalidVariant)?; | ||
| bid.message.blob_kzg_commitments.len() | ||
| } | ||
| }; |
Member
There was a problem hiding this comment.
We could use block.blob_kzg_commitments_len() here
jimmygchen
reviewed
Apr 28, 2026
| .try_get_full_block(block_root) | ||
| .map_err(|e| GossipDataColumnError::BeaconChainError(Box::new(e.into())))?; | ||
|
|
||
| // TODO(gloas): maybe also check DA cache? fork choice? |
Member
There was a problem hiding this comment.
yeah we'll need to use DA cache for this, this gets called a lot in a single slot, so we can't read from DB without any cache
Closed
jimmygchen
reviewed
Apr 28, 2026
| ); | ||
| } | ||
| SyncMessage::UnknownParentDataColumn(peer_id, data_column) => { | ||
| SyncMessage::UnknownDataColumnParentOrBlock(peer_id, data_column) => { |
Member
There was a problem hiding this comment.
As discussed, let's have a separate variant for unknown block
jimmygchen
reviewed
Apr 28, 2026
| %index, | ||
| "Block not yet known for Gloas partial data column" | ||
| ); | ||
| // TODO(gloas): send sync message |
Merged
Member
|
superceded by #9209 |
mergify Bot
pushed a commit
that referenced
this pull request
May 13, 2026
In Gloas, beacon blocks are imported into fork choice immediately - the payload envelope and data columns arrive separately. KZG commitments moved from the column sidecar into the execution payload bid, so the existing `DataAvailabilityChecker` (which assumes block and data are coupled) can't be used for Gloas. * Introduced `PendingPayloadCache` to keep track of payload and data columns per block root. * Added gossip column verification * Added support for Gloas data column reconstruction * Payload envelope verification simplified: removed `MaybeAvailableEnvelope`, `ExecutedEnvelope`, `EnvelopeImportData` Not yet implemented (tracked with TODOs): - Proper lookup sync for Gloas columns arriving before blocks - Partial column merging for Gloas - Moving `load_gloas_payload_bid` disk reads off the async runtime - Backfill/range sync for Gloas Based on @eserilev's PR and work in progress. See also #9202 for verification. Co-Authored-By: Eitan Seri-Levi <eserilev@ucsc.edu> Co-Authored-By: Eitan Seri- Levi <eserilev@gmail.com> Co-Authored-By: Daniel Knopik <daniel@dknopik.de> Co-Authored-By: Daniel Knopik <107140945+dknopik@users.noreply.github.com> Co-Authored-By: dapplion <35266934+dapplion@users.noreply.github.com> Co-Authored-By: Jimmy Chen <jchen.tc@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
No description provided.