You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
The text was updated successfully, but these errors were encountered:
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:
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 createBlockContent<T>
. This is entirely other way around. Any design complication arising from this is not minor as it also affectsPreEvaluationBlockHeader
,PreEvaluationBlock<T>
,BlockHeader
, andBlock<T>
.BlockCommit
, which can vary widely (even more without BLS). This can eat up whatever amount usually allocated forBlock<T>
's transactions payload.I suggest preemptively relaxing the policy.
The text was updated successfully, but these errors were encountered: