-
Notifications
You must be signed in to change notification settings - Fork 2
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
CreateCommitment
could be expensive for CheckTx
#6
Comments
A few comments regarding celestiaorg/celestia-app#666
|
If by "possible" you mean that the data will fit in the square, then yes. This means square sizes that are too small or too large aren't included. |
It also means that |
No, it will only be rejected if it doesn't have all valid and non-redundant square sizes. If a data blob is 16 shares, then only commitments for sizes |
IIUC, for a message that fits in 16 shares (i.e., |
Then that's either a bug in |
Related: celestiaorg/celestia-app#236 which hasn't been implemented yet |
The check on this [line](https://github.com/celestiaorg/celestia-app/blob/e088d61fcb6579b4bc797deefd2ceff7601aa079/x/payment/types/wirepayfordata.go#L148) is redundant as it's done [here](https://github.com/celestiaorg/celestia-app/blob/e088d61fcb6579b4bc797deefd2ceff7601aa079/x/payment/types/wirepayfordata.go#L160). Originally discovered by @mpoke in informalsystems/audit-celestia#6 (comment)
I think this attack is significantly less expensive after the adoption of square size independent message commitments because validating a Is it safe to close this issue? |
The check on this [line](https://github.com/celestiaorg/celestia-app/blob/e088d61fcb6579b4bc797deefd2ceff7601aa079/x/payment/types/wirepayfordata.go#L148) is redundant as it's done [here](https://github.com/celestiaorg/celestia-app/blob/e088d61fcb6579b4bc797deefd2ceff7601aa079/x/payment/types/wirepayfordata.go#L160). Originally discovered by @mpoke in informalsystems/audit-celestia#6 (comment)
Cf. https://docs.cosmos.network/v0.45/basics/tx-lifecycle.html#guideline
This means that an attacker could DOS the system by sending invalid
MsgWirePayForData
s (that fail the check here). TheValidateBasic
of eachmsg
of typeMsgWirePayForData
contains a call toCreateCommitment
for every commit inmsg.MessageShareCommitment
. Every call toCreateCommitment
entails computing multiple hashes (see here).The text was updated successfully, but these errors were encountered: