On Sat, May 30, 2015 at 3:32 PM, Matt Corallo <bitcoin-list@bluematt.me> wrote:
If, for example, the majority of miners are in China (they are), and
there is really poor connectivity in and out of China (there is) and a
miner naively optimizes for profit, they will create blocks which are
large and take a while to relay out of China. By simple trial-and-error
an individual large miner might notice that when they create larger
blocks which fork off miners in other parts of the world, they get more
income. Obviously forking off 50% of the network would be a rather
extreme situation and assumes all kinds of simplified models, but it
shows that the incentives here are very far from aligned, and your
simplified good-behavior models are very far from convincing.

"good behavior" models? I intentionally modeled what should be a worst-case.

If you have a specific network topology you want to model, please email me details and I'll see what worst case is. Or, even better, take my simulation code and run it yourself (it's C++, easy to compile, easy to modify if you think it is too simple).

I get frustrated with all of the armchair "but what if..." how-many-miners-can-dance-on-the-head-of-a-pin arguments.

 
>     I'll talk about transaction fees in a second, but there are several
>     problems with this already. As pointed out in the original mail, gfw has
>     already been known to interfere with Bitcoin P2P traffic. So now by
>     "little" miners, you mean any miner who is not located in mainland
>     China? Whats worse, the disadvantage is symmetric - little miners are at
>     a disadvantage when *anyone* mines a bigger block

No, they're not. They are only at a disadvantage when THEY mine bigger blocks.

I guess I wasn't clear in the "do bigger miners have an advantage" blog post.
 
... I mentioned this in my
original email as something which doesnt make me comfortable with 20MB
blocks, but something which needs simulation and study, and might
actually be just fine!

I spent last week doing simulation and study. Please, do your own simulation and study if you don't trust my results. There are big full-scale-bitcoin-network-simulations spinning up that should have results in a month or two, also, but there will ALWAYS be "but we didn't think about what if THIS happens" scenarios that can require more simulation and study.
 

> Do you have another explanation for why miners choose to leave
> fee-paying transactions in their mempool and create small blocks?

Defaults? Dumb designs? Most miners just use the default 750K blocks, as
far as I can tell, other miners probably didnt see transactions relayed
across several hops or so, and a select few miners are doing crazy
things like making their blocks fit in a single packet to cross the gfw,
but that is probably overkill and not well-researched.

Last night's transaction volume test shows that most miners do just go along with defaults:
  http://bitcoincore.org/~gavin/sizes_358594.html

> I'm not suggesting that we increase the blocksize sufficiently such that
> transaction fees are not the way in which miners make their money.
>
> I'm suggesting the blocksize be increased to 20MB (and then doubled
> every couple of years).

Do you have convincing evidence that at 20MB miners will be able to
break even on transaction fees for a long time? (The answer is no
because no one has any idea how bitcoin transaction volumes are going to
scale, period.)


Mining is a competitive business, the marginal miner will ALWAYS be going out of business.

That is completely independent of the block size, block subsidy, or transaction fees.

The question is "will there be enough fee+subsidy revenue to make it unprofitable for an attacker to buy or rent enough hashpower to double-spend."

It is obvious to me that bigger blocks make it more likely the answer to that question is "yes."

 

> And "in which miners make their money" is the wrong metric-- we want
> enough mining so the network to be "secure enough" against double-spends.

Sure, do you have a value of hashpower which is "secure enough" (which
is a whole other rabbit hole to go down...).

Mike Hearn wrote about that just a couple days ago:
  https://medium.com/@octskyward/hashing-7d04a887acc8
(See "How much is too much" section)
 
> Even if we end up in a world where only big companies can run full nodes
> (and I am NOT NOT NOT NOT NOT proposing any such thing), there is a
> difference-- you don't need permission to "open up a bank" on the
> Bitcoin network.
>

Oh? You mention at http://gavinandresen.ninja/bigger-blocks-another-way
that "I struggle with wanting to stay true to Satoshi’s original vision
of Bitcoin as a system that scales up to Visa-level transaction volume".
That is in direct contradiction.

I have said repeatedly that if it was left completely up to me I would go back to Satoshi's original "there is no consensus-level blocksize limit".

20MB is a compromise.

 > Ok, I wrote about that here:
>
> http://gavinandresen.ninja/it-must-be-done-but-is-not-a-panacea
>

"it is not a panacea", but everyone in the community seems to be taking
it as one. You've claimed many times that many of the big
webwallet/payment processors/etc have been coming to you and saying they
need bigger block sizes to continue operating. In reality, they dont, it
just makes it easier

 
... and now you're pissing me off. I have NEVER EVER said that they need bigger blocks to continue operating. Please stop being overly dramatic.

They believe that bigger blocks are better for Bitcoin.

Brian Armstrong at Coinbase, in particular, said that smaller blocks drive centralization towards services like Coinbase ("look ma! No blockchain transaction!" <-- if you pay a Coinbase merchant from your Coinbase wallet), but he supports bigger blocks because more transactions on our existing decentralized network is better.

--
--
Gavin Andresen