-
Notifications
You must be signed in to change notification settings - Fork 97
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
92 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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. |