Skip to content

[TRST-1.2-L3] Performance degradation risk due to oversized block #537

@0xHansLee

Description

@0xHansLee

Description and context

In client/app/upgrades/v_1_2_0/constants.go, the newMaxBytes parameter is set to 20MB. According to a previously disclosed CometBFT security advisory, setting BlockParams.MaxBytes to large values can negatively affect consensus performance.

Specifically, large blocks increase the time and bandwidth required for propagation, potentially leading to higher latency, reduced validator participation in initial rounds, and a greater likelihood of timeouts and extra consensus rounds. These issues are particularly exacerbated in networks with high validator counts, poor connectivity, or widely distributed participants.

Although the chain does not rely on CometBFT’s default mempool behavior, the underlying propagation and latency costs of large blocks still apply. The advisory emphasizes that the default maximum block size of 21MB is often excessive and recommends tuning it to a smaller value.

Suggested solution

We recommend optimizing the size of the payload and carefully tune consensus timeouts.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions