-
Notifications
You must be signed in to change notification settings - Fork 1k
[N4] Dynamic Block Interval #4280
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
base: master
Are you sure you want to change the base?
Conversation
|
I think we should first decouple the GAS reward from the block height. We should adopt a calculation method based on the block timestamp. And this can be implemented on N3 first. |
|
@erikzhang , @ajara87, I am not sure if these parameters should indeed come here. It is still not clear to me how this will be automatically adjusted. Currently, Policy is adjusted by the committee. On the other hand, the parameter here will be more automatically (maybe signed by CNs agreed during block production). What is the mechanism we will have here to control the updates on those values? |
|
Simplified Dynamic Block Time (Tiered Control)
Changes happen gradually with limits and cooldowns to avoid oscillation. |
From our experiments it is the opposite, @erikzhang
With many pending transaction and thousands of incoming transactions per second it becomes hard to propose a block and that backups will agree on that list. But one good question is that what is considered high load? |
But we can define also in N3 only one step of 15.000ms, definition and reward can be done in different prs without interfering N3 and both can be done separately |
Agree. 3 levels is more then enough |
The 3 levels are enough, also with the idea of gradually changing the limits and cooldowns. |
I think it is a good idea
If GAS reward is decoupled it would help, but is that on our plan for now? |
|
@shargon, is it easy that we set the levels here on Policy Contract during block Persistance? Because one possibility is that Speaker propose the level change and backups agree. So during block persist we need to update Policy Contract. There are other possibilities that it is deterministic based on block data, but it will also requires that we publish other additional information in the blocks. |
|
Before submitting the code, maybe submit a design document first? |
Description
Related to #4241
PolicyContracta partial class to addDynamicBlockIntervalMaxTransactionsPerBlockandMillisecondsPerBlockfrom config to Policy (read from config just when initialize)Type of change
How Has This Been Tested?
Checklist: