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

Limit the maximum block size to 256 KB #359

Closed
erikzhang opened this issue Aug 27, 2018 · 11 comments · Fixed by #953
Closed

Limit the maximum block size to 256 KB #359

erikzhang opened this issue Aug 27, 2018 · 11 comments · Fixed by #953
Assignees
Labels
Enhancement Type - Changes that may affect performance, usability or add new features to existing modules. Ledger Module - The ledger is our 'database', this is used to tag changes about how we store information Network-Policy Module - Issues that affect the network-policy like fees, access list and voting Ready-to-Implement Issue state: Ready to be implemented or implementation in progress
Milestone

Comments

@erikzhang
Copy link
Member

In order to prevent the block data from growing too fast, it is necessary to limit the maximum size of each block.

@erikzhang erikzhang added the Discussion Initial issue state - proposed but not yet accepted label Aug 27, 2018
@kevaundray
Copy link

How did you decide on 256KB?

@wy
Copy link
Contributor

wy commented Aug 27, 2018

Is there currently a limit? How do you pick which tx's to drop (based on the priority sorting order) or random?

@erikzhang
Copy link
Member Author

There is currently no limit.

@wy
Copy link
Contributor

wy commented Aug 28, 2018

To help with the discussion @erikzhang, @decentralisedkev, I looked at 287 thousand blocks in recent history (June-Aug 2018). Of them, there is only 15 above 256KB (262144 bytes). That's less than 0.0052% of blocks.

@f27d
Copy link

f27d commented Aug 28, 2018

And it's 257 above 128KB (131,072 bytes), that's 0.089% for the same dataset.
Hope that helps..

@vncoelho
Copy link
Member

Good data and precise studies.

@jsolman
Copy link
Contributor

jsolman commented Aug 29, 2018

  • Would this be necessary if there were a workable type of throttling for bad actor addresses?
  • As normal usage increases and hardware of nodes and networking improve, shouldn't this value need to increase also?

I added a comment on the end of issue #357 concerning a potential solution to throttle bad actors for which I've started drafting a NEP.

@erikzhang erikzhang added this to the NEO 3.0 milestone Apr 8, 2019
@vncoelho
Copy link
Member

@erikzhang, do you still believe that this is necessary?

Maybe with the correct Economic model and the refined verification+application layers we are not going to need to have this limit.

However, since blocks can be faster this can also be a good practice for the P2P decentralization.

@erikzhang
Copy link
Member Author

I think we can set the maximum block size in PolicyContract.

@vncoelho
Copy link
Member

Ok, @erikzhang, so, still proceed with this idea, right?
Remembers me BTC, BCH. aheuaheuahea In our case, from BCH to BTC...

@shargon, @igormcoelho, @jsolman, limit or not limit, this is the question...aheuahuea

@shargon
Copy link
Member

shargon commented Jul 23, 2019

We must implement the max, is totally needed.

@lock9 lock9 added Enhancement Type - Changes that may affect performance, usability or add new features to existing modules. Ledger Module - The ledger is our 'database', this is used to tag changes about how we store information Network-Policy Module - Issues that affect the network-policy like fees, access list and voting Ready-to-Implement Issue state: Ready to be implemented or implementation in progress and removed Discussion Initial issue state - proposed but not yet accepted labels Aug 12, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Enhancement Type - Changes that may affect performance, usability or add new features to existing modules. Ledger Module - The ledger is our 'database', this is used to tag changes about how we store information Network-Policy Module - Issues that affect the network-policy like fees, access list and voting Ready-to-Implement Issue state: Ready to be implemented or implementation in progress
Projects
None yet
Development

Successfully merging a pull request may close this issue.

8 participants