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

Add a suggestion on how to verify recent headers #292

Closed
wants to merge 8 commits into from

Conversation

kdeme
Copy link
Collaborator

@kdeme kdeme commented Apr 19, 2024

Adds the suggestion the verify recent headers (not yet part of the historical_summaries) by using the LightClientHeader data of the Portal beacon network (requires light client sync).

This does not resolve the issue when a node just gets started and needs to verify backtracking headers (headers between head of chain and the last header of the last period). In theory this could be resolved by doing a backwards sync of the headers, but it is probably not even an issue for the network in the first place?

accept headers without a proof.
accept headers without a proof. These headers MAY be verified if the node is following Portal beacon light client updates by verifying the `ExecutionPayloadHeader.block_hash` of the relevant `LightClientHeader`.

Clients SHOULD have a way of keeping track of the recent headers that it has stored without a proof (`None`). When these headers get added in the `historical_summaries` at the end of a period, they will be re-gossiped with their proofs. Clients SHOULD accept these headers with their proof and discard the old headers without proof.
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

The idea from #239 (comment) might be a cleaner solution to this.

@kdeme kdeme force-pushed the historical-summaries-block-proofs branch from 4d12b99 to a250fee Compare April 22, 2024 09:24
@kdeme kdeme force-pushed the proving-recent-headers branch from 9043a28 to 93fafc3 Compare April 22, 2024 09:25
@kdeme kdeme force-pushed the historical-summaries-block-proofs branch 2 times, most recently from bc3266a to c73d137 Compare July 16, 2024 17:14
@KolbyML
Copy link
Member

KolbyML commented Jul 26, 2024

If we are listing the Portal Beacon Network as a provider of these summaries we should also list a consensus client. The reason I think we should list both is to show it as different paths to accomplish the same thing.

Especially with all the confusion around this we have gotten from L1 teams.

@ogenev
Copy link
Member

ogenev commented Aug 6, 2024

If we are listing the Portal Beacon Network as a provider of these summaries we should also list a consensus client. The reason I think we should list both is to show it as different paths to accomplish the same thing.

Especially with all the confusion around this we have gotten from L1 teams.

The consensus client is used to bridge the historical summaries to the portal beacon network. IMO, listing a consensus client should be part of the portal beacon bridge specs.

@kdeme
Copy link
Collaborator Author

kdeme commented Aug 6, 2024

If we are listing the Portal Beacon Network as a provider of these summaries we should also list a consensus client. The reason I think we should list both is to show it as different paths to accomplish the same thing.

Especially with all the confusion around this we have gotten from L1 teams.

I think it is pretty clear already as is written that it is part of the beacon state.
The only way to currently get it from a consensus client is to use a beacon REST API debug endpoint that grabs the whole state, not ideal. When I'm fully back at work I'll try to get a new endpoint for only the summaries in.
For the time being, I could adjust the text here a bit to refer to using the debug endpoint to get the beacon state as an additional option when you have access to a consensus client.

@kdeme kdeme force-pushed the historical-summaries-block-proofs branch from c73d137 to 79fa69d Compare September 18, 2024 09:05
Adds the suggestion the verify recent headers (not yet part of the
historical_summaries) by using the LightClientHeader data of the
Portal beacon network (requires light client sync).

This does not resolve the issue when a node just gets started
and needs to verify backtracking headers (headers between head of
chain and the last header of the last period). In theory this could
be resolved by doing a backwards sync of the headers, but it is
probably not even an issue for the network in the first place?
@kdeme kdeme force-pushed the proving-recent-headers branch from 93fafc3 to 7b9ecf2 Compare September 18, 2024 16:09
Base automatically changed from historical-summaries-block-proofs to historical-roots-block-proofs October 25, 2024 18:56
@KolbyML KolbyML deleted the branch historical-roots-block-proofs October 25, 2024 18:57
@KolbyML KolbyML closed this Oct 25, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants