Repository navigation
miner: async blob tx validation during bid simulation - #3618
Merged
Merged
Conversation
flywukong
force-pushed
the
improve-blob-validation
branch
from
March 24, 2026 10:25
744e9ee to
60c6b80
Compare
allformless
reviewed
Mar 24, 2026
| if err := txpool.ValidateBlobTx(tx, env.header, nil); err != nil { | ||
| return err | ||
| if ch, ok := r.bid.BlobValResults[tx.Hash()]; ok { | ||
| if err := <-ch; err != nil { |
Collaborator
There was a problem hiding this comment.
if a bad bid contain one blobtx twice, will it stuck forever?
Contributor
Author
There was a problem hiding this comment.
Fixed by deleting the map entry after consuming the channel result. It may cause one extra synchronous re-validation, the probability is extremely small
zlacfzy
approved these changes
Mar 26, 2026
allformless
approved these changes
Apr 1, 2026
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.
Description
Async blob validation is launched at the beginning of simBid, right before prepareWork. The validation result is consumed lazily in commitTransaction when the first blob tx is encountered.
If a bid contains N transactions and the first blob tx is at position K, the effective parallel window equals the prepareWork setup time plus the execution time of the preceding K-1 non-blob transactions. With a typical simBid duration of ~14ms and KZG proof verification at ~1.8ms per blob, the parallel window is usually sufficient to fully absorb the verification cost — especially since blob transactions are unlikely to appear at the very beginning of a bid.
Rationale
tell us why we need these changes...
Example
add an example CLI or API response...
Changes
Notable changes: