diff --git a/proposals/0207-raise-block-limits-to-50M.md b/proposals/0207-raise-block-limits-to-50M.md new file mode 100644 index 000000000..1d992de00 --- /dev/null +++ b/proposals/0207-raise-block-limits-to-50M.md @@ -0,0 +1,92 @@ +--- +simd: '0207' +title: Raise Block Limits to 50M CUs +authors: + - Andrew Fitzgerad (Anza) +category: Standard +type: Core +status: Review +created: 2024-12-05 +feature: +supersedes: +superseded-by: +extends: +--- + +## Summary + +Raise the block limit from 48M to 50M CUs. + +## Motivation + +Current block limits are set to 48M CUs. +Block limits's primary purpose is to make sure that the vast majority of +network participants are able to keep up with the network, by restricting the +amount of work a leader is allowed to pack into a block. +However, current main net beta traffic is largely not constrained by large +block execution times. +This proposal aims a modest increase in block limits to 50M CUs, in order to +give some additional capacity to the network, and client implementations ready +for future increases as the performance of the network improves. + +## New Terminology + +No new terms, but the following definitions are given for clarity: + +- Max Block Units - The maximum number of CUs that can be included in a block. +- Max Writable Account Units - The maximum number of CUs that can be used to + write any given account in a block. +- Max Vote Units - The maximum number of CUs that can be used by simple votes + in a block. +- Max Block Accounts Data Size Delta - The maximum size of the accounts data + size delta in a block. + +## Detailed Design + +The following table shows the current block limits and the proposed block +limits: + +| Type | Current Block Limit | Proposed Block Limit | +|------|----------------------|----------------------| +| Max Block Units | 48M | 50M | +| Max Writable Account Units | 12M | 12M | +| Max Vote Units | 36M | 36M | +| Max Block Accounts Data Size Delta | 100MB | 100MB | + +This proposal only changes the `Max Block Units` limit. +The purpose is to increase capacity for non-vote transactions. +The `Max Writable Account Units` is left unchanged since there is no specific +push to increase the capacity for individual accounts at this time. +Keeping `Max Writeable Account Units` unchanged while raising the +`Max Block Units` , allows for additional parallel capacity. + +## Alternatives Considered + +- Leave the block limits as they are + - This leaves capacity on the table, we want to get ready for future + increases. +- Double limit to 96M CUs + - Viewed as too aggressive at this time, and may cause unforeseen issues + particularly in infrastructure supporting the network users. + - We instead plan to increase the limits incrementally as the network + performance improves. + +## Impact + +- More transactions can be included per block. + +## Security Considerations + +- Blocks may take longer to execute, slowing down network progress. + +## Drawbacks + +- Larger blocks may cause unforseen issues in infrastructure beyond the + validators. + +## Backwards Compatibility + +- All previously valid blocks are still valid, since limits are only + increasing. +- Blocks produced after the change may be rejected by previous versions that do + not support the new limits.