Skip to content

feat: update beacon content types to support Pectra #1801

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

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

Conversation

morph-dev
Copy link
Collaborator

What was wrong?

The Beacon content types should be updated in order to support Pectra.
See ethereum/portal-network-specs#397 for details.

Worth mentioning that the old type will most likely go away from the spec after the fork as we won't use it anymore.

How was it fixed?

Added new types.

I named old type "Deneb" because:

  • The Capella name in the spec is because that's when type was introduced and it was valid in Deneb as well
  • I want to match it with ForkDigest (and ForkName), so Deneb makes it consistent
  • Old type will likely be removed from the spec after the fork, so it shouldn't matter much

Followup work

  1. Update beacon bridge to be able to create and gossip new type as well
    • This requires some refactoring in how we fetch BeaconState and I want to do it in a separate PR
  2. Investigate if something else should be updated (either in light-client or trin-beacon crates)

To-Do

@morph-dev morph-dev requested review from KolbyML and ogenev May 3, 2025 19:46
@morph-dev morph-dev self-assigned this May 3, 2025
@morph-dev morph-dev force-pushed the beacon_types_pectra branch from 6ce6ad7 to 40e7ba0 Compare May 4, 2025 08:10
@KolbyML
Copy link
Member

KolbyML commented May 4, 2025

  • I want to match it with ForkDigest (and ForkName), so Deneb makes it consistent

I am not sure I understand this reasoning as the HistoricalSummariesWithProof format isn't likely to change in the future past Electra. So HistoricalSummariesWithProofElectra would encompass all future forks, hence I don't get the need to call HistoricalSummariesWithProof HistoricalSummariesWithProofDeneb when it isn't specific to Deneb and there isn't a consistent trend in future forks which tie these types 1 for 1 with ForkDigest/ForkName, Other then HistoricalSummariesWithProofElectra being where the last change and breaking change from the previous format occurred

@KolbyML
Copy link
Member

KolbyML commented May 4, 2025

Isn't Electra hitting mainnet on May 7th so in 3 days? Shouldn't we just remove support for HistoricalSummariesProofDeneb right now, as we will need to remove it regardless on Wednesday?

I don't see a reason to add support for both types, when we will just be removing the old type on Wednesday, we might as only only support HistoricalSummariesProofElectra in this PR, as unlike other types HistoricalSummariesProof is ephemeral

Worth mentioning that the old type will most likely go away from the spec after the fork as we won't use it anymore.
^ which was also stated in the PR's description

@KolbyML
Copy link
Member

KolbyML commented May 4, 2025

I think we should just replace our current HistoricalSummariesWithProofDeneb with the new format HistoricalSummariesWithProofElectra and call it a day, I don't see much value in us supporting both types for 2-3 days. Adding complexity to handle both cases just to remove it in 2-3 days, doesn't make much sense to me.

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