-
Notifications
You must be signed in to change notification settings - Fork 278
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
What happens to transactions that contain a blobs that are too large? #2156
Comments
Since there isn't a versioned constant for the maximum supported blob size, it must be computed based on a number of other parameters (see #2108). Since these parameters require access to the state, option A must be a stateful check. |
I started working on validating that blobs are < max blob size in https://github.com/rootulp/celestia-app/tree/rp/improve-too-big-blob |
Option A makes a lot of sense, since this will get hit before even submitting a blob. Do we also have an option C (no mutually exclusive to A!), where we add an ante handler that checks the the size of the blob using the stateful parameters? This will get hit upon submitting a blobtx and when we are gossiping blobs |
Good idea! Added Option C above and it seems like we can do Option A and Option C. |
Closes #2156 by implementing **Option C**
Closes #2156 by implementing **Option C**
Closes celestiaorg/celestia-app#2156 by implementing **Option C**
Context
#2108
Problem
Consensus nodes may not reject transactions that contain a blob that is too large to fit in a block. As a result, the transaction may sit in the mempool until it eventually expires (depends on mepool config).
Proposal
Explore if the mempool will reject PFB transactions that contain a blob that will not fit in the maximum data square. If it doesn't, consider:
Option A
Add a stateless check to
ValidateBasic
on a transaction that verifies that the blob size is <= the maximum blob size. Compute the maximum blob size based on the upper bound values for max square size and max block bytes.Option B
Decrease
max_tx_bytes
in the mempool config to the size of a tx that contains the largest blob that can fit in the largest data square.Option C
Add a stateful check via blob ante handler that verifies that the blob size is <= the maximum blob size. Compute the maximum blob size based on the governance parameters for max square size.
Option D
Introduce a new versioned constant that acts as a max supported blob size.
The text was updated successfully, but these errors were encountered: