Skip to content

Limit blocks to 32 MB, regardless of context #154

@kayabaNerve

Description

@kayabaNerve

While the block size limit may be dynamically adjusted, regardless of the dynamic block size limit, the effective block size limit is to be min(dynamic_block_size_limit, 32 * 1024 * 1024) if this proposal is adopted.

This is due to the effective throughput of Monero nodes being such, as per the stressnet, and various parts of the Monero node assuming blocks do not become absurdly large (RPC, P2P limits) which 32 MB complies with yet still would cause a minimal batch size (blocks < 5) if any.

This proposal is made independently to any/all of the recent proposals on scaling due to their contention, yet this is simple, directly modeled after effective bandwidth limitations currently experienced, and still >100x the current penalty-free block size. While monerod may improve in the future, the protocol will also change in the future, making this only as constant as the protocol adopting it.

A sane static limit also simplifies the checking of blocks sent over the network, due to not requiring the context of the blockchain, whereas the current limit is infinite due to the miner transaction being unbounded (its own topic). After the unbounded miner transaction, the context-free limit is absurd due to blocks being allowed to have 0x10000000 transactions, which would be 268 GB if each transaction was just 1 KB.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions