Skip to content

eth/catalyst: implement getBlobsV2 #31791

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 3 commits into
base: master
Choose a base branch
from

Conversation

MariusVanDerWijden
Copy link
Member

@MariusVanDerWijden MariusVanDerWijden commented May 9, 2025

Implements engine_getBlobsV2 which is needed for PeerDAS

log.Warn("Encountered Version 0 transaction post-Osaka, recompute proofs", "hash", ltx.Hash)
sidecar.Proofs = make([]kzg4844.Proof, 0)
for _, blob := range sidecar.Blobs {
cellProofs, err := kzg4844.ComputeCells(&blob)
Copy link
Contributor

@jwasinger jwasinger May 26, 2025

Choose a reason for hiding this comment

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

When we pass the fork, as long as the prioritized blob transactions are v0, we will be computing cell proofs for each bob they contain.

I've benchmarked this and it's pretty slow: 200-300ms depending on the machine (i've tested my m2 mbp and a server machine I'm using to run a perfnet node).

Might be safer to just disallow mining v0 transactions after we've passed the fork , and also purge them from the blobpool.

Copy link
Member Author

Choose a reason for hiding this comment

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

Yes that is kinda expected. Other clients are just dropping the transactions, but I think we should recompute the proofs. Its still within the limits that we can do it for a bit and only the block producing machine will have to do it. I think we should take the high route and not invalidate the valid transactions at the fork point

Copy link
Contributor

Choose a reason for hiding this comment

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

As part of this PR, we will need to update the billy shelf "slotter" to consider the size of cell proofs after the fork. I'm not sure how complex it would be to accommodate both v0/v1 transactions, but IMO it helps support the case for purging v0 transactions at the fork block.

@fjl fjl mentioned this pull request May 29, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants