-
Notifications
You must be signed in to change notification settings - Fork 377
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
Assert array items in BlobsBundleV1 to be of same length #404
Conversation
This might be a bit redundant given that the
|
yes you are right @Inphi ! may be we also remove MAX_BLOBS_PER_BLOCK from consensus specs and not have independent variables lying around. (so consensus-specs (and configs/presets) also use the same reference MAX_DATA_GAS_PER_BLOCK // DATA_GAS_PER_BLOB) |
It does seem to me that we should increase |
makes sense to me if we plan to keep raising the data gas limit which we will, fixed high static limit is good for the CLs as well as for making EL checks How about 128? or 1024, effectively sharding limit |
1024 sounds good to me, I think we should open a PR into CL specs repo and have a discussion there |
opened a PR here: ethereum/consensus-specs#3338 But seems like this PR addition should make sense here to quantify the length cc @Inphi |
It's confusing to note that the limit here should be |
Specifying this limitation in the terms used by EL, i.e. The question is whether we want to specify it at all? I can find it useful if we plan to check this in Hive, having a statement in the spec helps to avoid missing a check for it. cc @marioevz |
the reason i find it useful is for the EL: it has to be technically min of (MAX_DATA_GAS_PER_BLOCK / DATA_GAS_PER_BLOB,MAX_BLOBS_PER_BLOCK) since And we actually do not mention a value for it just a reminder for the api to be aware of this, will remove it from description |
Is it possible to just assert that The benefit of this is that I had suggested this in ethereum/consensus-specs#3338 (comment) |
I think it will work, but EL will anyway need to track: So then here we wouldn't need to refer to |
@ppopth @g11tech what's the status of this PR? There are two checks proposed: From my perspective we should keep (i) and remove (ii) as EL limits a number of blobs by the data gas limitation and CL enforces this check on block processing and before sending a block and blobs to the wire. |
ok sounds good to me to retain i) and let CL handle |
bc041b6
to
9c3e32d
Compare
lgtm |
UPDATE:
This PR proposed two things
i. Arrays are of the same length.
ii. The length is limited by MAX_BLOBS_PER_BLOCK .
Consensus to keep (i) and let CL handle (ii) in process block ops (where the MAX_BLOBS_PER_BLOCK check has already been placed)
In consensus specs, the blob limit it can handle is defined by
MAX_BLOBS_PER_BLOCK
and this check in apis will make the EL aware of this limit in CL and have mitigations (like perform min(MAX_DATA_GAS_PER_BLOCK / DATA_GAS_PER_BLOB,MAX_BLOBS_PER_BLOCK) to get actual blob limit for the block to return in execution apis