Subject: Re: [bitcoin-dev] A summary list of all concerns related to not rising the block size

From: Jorge Timón <[email-masked]>
Date: Sat, 15 Aug 2015 00:55:06 +0200

On Wed, Aug 12, 2015 at 9:52 PM, Elliot Olds <[email-masked]> wrote:
> On Wed, Aug 12, 2015 at 2:59 AM, Jorge Timón
> <[email-masked]> wrote:
>>
>> I believe all concerns I've read can be classified in the following
>> groups:
>>
>> > 1) Potential indirect consequence of rising fees.
>
>
> I'd rephrase this as "Consequences of high fees." It's the level of fees
> that is the main issue, not their movement.

I think potential is more general since it allows us to list uncertain
consequences (aren't all consequences just projections and thus
uncertain anyway?).

> Moving from 0 satoshi to 1 satoshi fees makes no real difference.

It is a big difference to me (it may mean policy code has improved a
lot in the process).
Anyway, I'm heppy to hear again that this is not a concern, at some
point I thought this was the ONLY concern, so I was clearly
misinterpreting people's arguments.

> Moving from $0 to $1 fees makes a
> huge difference. Some consequences are indirect, but others are not (the
> first three below are not indirect). Some of the consequences are uncertain,
> but others we can have very high confidence in (again: the first three) and
> it's only their effect size that can be reasonably disputed.

Let's list them all first and then identify which are more worrying in
the short term.

> Here are lots of reasons that you're missing. High fees do the following:
>
> -Reduce the utility of people using the network, even if the higher fees
> don't reduce their amount of transactions.

"Utility" like "value" is always subjective and very vague. I prefer
to identify more concrete ways in which "utility is reduced".

> -Make some use cases nonviable, depriving people of Bitcoin's decentralized
> benefits.

It is clear that not all use cases fit the blockchain, but it's still
unclear which ones don't fit yet.
But the amount of use cases supported is not a valid metric for
decentralization.
In any case, it would be interesting if we could list some concrete
cases that would be lost.

> -Makes level 2 infrastructure like Lightning less valuable by increasing the
> minimum value of anchor txns that make sense, and increasing the amount of
> pain suffered when your counterparty misbehaves.

This is correct. Layer 2 can become more expensive in total as well
(it doesn't mean layer 2 doesn't scale though).
I wil add it as 1.3

> -Discourage experimentation with new Bitcoin use cases, making it more
> unlikely that such cases are discovered/improved/popular before Bitcoin's
> security relies on having many users.

Experimentation can be done with worthless testchains. I'm not sure
I'm following on this one.

> -Makes Bitcoin more vulnerable to regulation by keeping its user base from
> growing, meaning regulators face less pressure to keep it unregulated (see:
> Uber)

Added:

1.4) Less users than we could have had with a bigger size
1.4.1) More regulation pressure

> -Reduce the amount of time we have between now and when tx fees need to pay
> for a significant portion of Bitcoin's security, by keeping the exchange
> rate and thus the value of block rewards low
> (https://en.wikipedia.org/wiki/Equation_of_exchange)

Related to exchange rate.

> -By slowing usage growth, make it less likely that we have a large enough
> base of transactions by the time we need to fund network security via tx
> fees.

Added:

1.4.2) Not enough fees when subsidy is lower

Resulting list:

1) Potential indirect consequence of rising fees.

1.1) Lowest fee transactions (currently free transactions) will become
more unreliable.
1.2) People will migrate to competing systems (PoW altcoins) with lower fees.
1.3) Layer 2 settlements become more expensive
1.4) Less users than we could have had with a bigger size
1.4.1) More regulation pressure
1.4.2) Not enough fees when subsidy is lower

2) Software problem independent of a concrete block size that needs to
be solved anyway, often specific to Bitcoin Core (ie other
implementations, say libbitcoin may not necessarily share these
problems).

2.1) Bitcoin Core's mempool is unbounded in size and can make the program
crash by using too much memory.

2.2) There's no good way to increase the fee of a transaction that is
taking too long to be mined without the "double spending" transaction
with the higher fee being blocked by most nodes which follow Bitcoin
Core's default policy for conflicting spends replacements (aka "first
seen" replacement policy).