Skip to content

Enforce block maximum gas limit in DeliverTx #2775

Closed
@cwgoes

Description

Otherwise the proposer can include an unbounded number of transactions - possibly multisigs with the last sig failing - which the proposer doesn't process but every other node has to, consuming an unbounded amount of RAM and/or disk space.

The SDK needs to track the block gas limit and immediately return a nonzero ABCI error on DeliverTx for all transactions as soon as the gas limit is hit.

With this limit in place this is still a DoS vector, but at least the compute is limited - and if we don't write to storage on ante handler failure (ref #2772) no disk space will be used.

cc @ebuchman @alexanderbez @ValarDragon

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions