Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Replace Block size limit with transactions payload size limit #2290

Closed
greymistcube opened this issue Sep 5, 2022 · 0 comments · Fixed by #2291
Closed

Replace Block size limit with transactions payload size limit #2290

greymistcube opened this issue Sep 5, 2022 · 0 comments · Fixed by #2291
Assignees
Labels
consensus Related to blockchain consensus

Comments

@greymistcube
Copy link
Contributor

Although I'm not even sure whether a block size limit is absolutely necessary (as BitCoin has such limit but Ethereum does not), considering its purpose, I think we can relax the policy to only check for the size of a block's transactions payload. We can even keep the current policy as the policy will be checked against a strictly smaller number. As block's metadata (not literal BlockMetadata) is tightly controlled by protocol, I don't think there should be much of an issue.

There several points of concern (at least for me) as of now:

  • As Block<T> layout will be overhauled from protocol version 4 and onward for PBFT, max block bytes policy will no longer be compatible for "legacy" blocks. Although there is no plan to validate legacy blocks as of now, this will get messy if we ever decide to for whatever reason in the future.
  • BlockMetadata is required to create BlockContent<T>. This is entirely other way around. Any design complication arising from this is not minor as it also affects PreEvaluationBlockHeader, PreEvaluationBlock<T>, BlockHeader, and Block<T>.
  • Also newer PBFT blocks will also include BlockCommit, which can vary widely (even more without BLS). This can eat up whatever amount usually allocated for Block<T>'s transactions payload.

I suggest preemptively relaxing the policy.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
consensus Related to blockchain consensus
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant