- snip -
My objection i don't see answered is, what stops other miners to spontaneously build longer chain with smaller blocks that more easily propagate? (In absence of said cartel.) . . .
The proof-of-work system.
How, I'm asking again? The proof of work will naturally favor smaller blocks that can be spread faster to majority of the network (and thus support decentralization). Yes, worst connected nodes will be left behind, but as long as there are plenty of "middle class" nodes that will naturally favor blocks less than certain size and slow propagation of oversized blocks making them into orphans more likely, I don't see a problem.
The point of this debate is that the incentive for miners with faster bandwidth is to intentionally pad out their blocks to be so big that only slightly more than half of the hashing power on the network can receive them before the next block is discovered. This leaves almost 50% of the hashing power on the network continually working on old blocks never to earn any rewards while those with the highest bandwidth leave them behind and increase their own rewards. Doing so forces those with lower bandwidth out of the market, allowing the process to repeat, consolidating the mining into only those with the absolute highest bandwidth on the network.
The proof of work prevents the miners with slower bandwidth from solving a block any faster than those with higher bandwidth, and the bandwidth issue keeps them from working on the correct block.
Everyone starts with strawman "we will inevitably have single primary megaminer/supernode, heeelp!" and argues from there. Why? How? I'm running myself two instances of bitcoind on one 5 years old desktop PC with dedicated 5400rpm HDD on 10mbit internet and it does fine. I estimate this setup would happily accept 10x, and with some updates 100x current volume.
You aren't paying attention to the debate. This is about miners with slower internet bandwidth. Try again with a 1200 baud dial-up connection and see how long it takes you to receive the next 1MB block when it is added to the blockchain.
You seriously insist on making mining or running full node possible through 1200 baud dialup? Please don't be ridiculous. 10mbit-like satellite connection is affordable in most of the world now.
No, that is an extreme case used as an example, but the point still stands and it the crux of the debate at hand:
Now the transactions themselves aren't a problem, 1MiB/10minutes is just 1.8KiB/second average. However, what happens when someone finds a block?
So Alice finds one, and with her 1MiB/second connection she simultaneously transfers her new found block to her three peers. She has enough bandwidth that she can do all three at once, so Bob has it in 1 second, Charlie 4 seconds, and finally David in 20 seconds. The thing is, David has effectively spent that 20 seconds doing nothing. Even if he found a new block in that time he wouldn't be able to upload it to his other peers fast enough to beat Alice's block. In addition, there was also a probabilistic time window before Alice found her block, where even if David found a block, he couldn't get it to the majority of hashing power fast enough to matter. Basically we can say David spent about 30 seconds doing nothing, and thus his effective hash power is now down by 5%
However, it gets worse. Lets say a rolling average mechanism to determine maximum block sizes has been implemented, and since demand is high enough that every block is at the maximum, the rolling average lets the blocks get bigger. Lets say we're now at 10MiB blocks. Average transaction volume is now 18KiB/second, so David just has 32KiB/second left, and a 1MiB block takes 5.3 minutes to download. Including the time window when David finds a new block but can't upload it he's down to doing useful mining a bit over 3 minutes/block on average.
Alice on the other hand now has 15% less competition, so she's actually clearly benefited from the fact that her blocks can't propagate quickly to 100% of the installed hashing power.
Now I know you are going to complain that this is BS because obviously we don't need to actually transmit the full block; everyone already has the transactions so you just need to transfer the tx hashes, roughly a 10x reduction in bandwidth. But it doesn't change the fundamental principle: instead of David being pushed off-line at 10MiB blocks, he'll be pushed off-line at 100MiB blocks. Either way, the incentives are to create blocks so large that they only reliably propagate to a bit over 50% of the hashing power, *not* 100%