Post
Topic
Board Development & Technical Discussion
Re: How a floating blocksize limit inevitably leads towards centralization
by
MoonShadow
on 21/02/2013, 17:53:30 UTC
If we want to cap the time of downloading overhead the latest block to say 1%, we need to be able to download the MAX_BLOCKSIZE within 6 seconds on average so that we can spend 99% time hashing.

At 1MB, you would need a ~1.7Mbps  connection to keep downloading time to 6s.
At 10MB, 17Mbps
At 100MB, 170Mbps

and you start to see why even 100MB block size would render 90% of the world population unable to participate in mining.
Even at 10MB, it requires investing in a relatively high speed connection.

Also of importance is the fact that local bandwidth and international bandwidths can wary by large amounts. A 1Gbps connection in Singapore(http://www.starhub.com/broadband/plan/maxinfinitysupreme.html) only gives you 100Mbps international bandwidth meaning you only have 100Mbps available for receiving mining blocks.

Since a couple people have thanked the author for posting this, I thought I should mention that only transaction hashes need to be sent in bursts.  So a block of 1000 transactions (roughly 1MB) only requires 30KB of data to be sent in a burst, requiring a ~43Kbps connection to keep downloading time to 6s.  100MB blocks require ~4.3Mbps.  The continuous downloading of transaction data is below these limits.

Which i did mention in my next few posts.

Satoshi was not an experienced programmer.
Are you freaking kidding me? He programmed the entire Bitcoin client with all protocol rules/scripting/validation working almost bug free from day 1. 4 years later with a market cap of $300 million, i don't even know of 1 other full client considering they have the full source code of the Satoshi client to refer to. That was a feat for a single person!
And you think he would not be able to implement something as simple as changing the block format to only contain hashes?

Satoshi genius was in his unique ability to see the big picture & predict the problems.  Programming was not likely a professional skill for him.  Ask Gavin about that.  Satoshi was more likely a professional in the field of economics, perhaps a professor but not likely, since Austrian economic theory doesn't tend to get much academic respect.  He also had a great understanding of cryptographic theories, so he likely had a strong mathmatics background, but he didn't use any novel crypto, he just used them in a novel way.  Satoshi deserves respect for what he started, but the current vanilla client is mostly not Satoshi's code.  And there were bugs, I was there.