Superluminal communication and the consensus block size limit

Superluminal communication and the consensus block size limit
2015-08-05 23:51 ` Gavin Andresen
  2015-08-06  3:14 ` Tom Harding
  
From: Jorge Timón @ 2015-08-05 23:24 UTC (permalink / raw)
  To: Bitcoin Dev

There is a common meme that block propagation times is the only metric
that matters when it comes to value the block size maximum consensus
rule's usefulness in limiting mining centralization.
Here is an extremely optimist thought experiment for those who think
that is the case:

Imagine that superluminal communication has somehow been invented and
validity of mined blocks can be checked in constant time thanks to
some sort of snarks magic. This doesn't mean that block propagation is
O(1) with respect to time because each node needs to repeat that cheap
validation before relaying the block.
Still, this is the best situation we can imagine with respect to block
propagation, right?
No, wait, due to some technical or economical miracle this
superluminal communication is free for everyone:
better-than-physically-possible (our understanding of physics changes
with time as well, right?) communication and infinite bandwidth for
everyone.

At this point, does the consensus block size maximum still help
limiting mining centralization or we can just remove it entirely?
The answer is yes, it can help limit mining centralization.

Let's imagine that these amazing advancements have happened in less
than 22 years and we only had 6 more subsidy halvings, that's only 7
halvings in total, so the subsidy is still as high as 50 * (0.5 ^ 7) =
0.390625 btc/block

Although the orphan-block-probability cost for a miner to include an
extra transaction has been completely minimized, it is still not null.
Let's assume that while all these technical miracles were
happening...that 22 more years was enough for miners to realize this
fact, they have removed the special-cased-for-free-transaction policy
code that currently comes with Bitcoin Core (or it has been removed
from Bitcoin Core) and they don't mine transactions with fees lower
than 1 satoshi anymore.
<sarcasm>I hope this last assumption doesn't turn out to be more wild
than superluminal communication...</sarcasm>

But there must be a physical limit: in our example, miners will have
different CPU constraints (to further simplify, genetically-engineered
and super-fast memory also grows in the streets everywhere after an
accident in a Monsanto Lab; or better downloadmoreram.com actually
works and I just hadn't tried from windows or mac).

Miner A is able to process 100 M tx/block while miner B is only able
to process 10 M tx/block.

Will miner B be able to maintain itself competitive against miner B?

The answer is: it depends on the consensus maximum block size.
How so? Let's imagine that it has been completely removed.

Assuming a fee of 1 satoshi per transaction and no shortage of
unconfirmed transactions, miner A's block reward will be 0.390625 + 1
= 1.390625 btc vs miner B's 0.390625 + 0.1 = 0.390625 + 0.1 = 0.490625
btc.

Difficulty will tend to increase until the cost to produce a block
(including interest in all the capital needed, paid or not) is equal
to 1.390625 btc and therefore miner B will stop mining or go bankrupt.
But maybe 100 M and 10 M were too high numbers. What about 10 M and 1
M? Still, 0.400625 btc can't compete with 0.490625 btc.
You think 10x is too much of a difference? Fine, 2M vs 1M: still
0.400625 btc can't compete with 0.410625 btc

In summary, there will always be some physical limitation that may
benefit big mining players, so the block size maximum will always be
useful to limit mining centralization.
In other words (and I don't intend this to sound rude), if you want to
eventually remove the block size maximum consensus rule entirely, I
will never be able to agree with you: not even in your wildest dreams.


 permalink raw reply	[|nested]
2015-08-05 23:24 [bitcoin-dev] Superluminal communication and the consensus block size limit Jorge Timón

  2015-08-06  2:33   ` Jorge Timón
  2015-08-06  3:14 ` Tom Harding
  
From: Gavin Andresen @ 2015-08-05 23:51 UTC (permalink / raw)
  To: Jorge Timón;  Bitcoin Dev

[-- Attachment #1: Type: text/plain, Size: 1024 bytes --]

On Wed, Aug 5, 2015 at 7:24 PM, Jorge Timón <
bitcoin-dev@lists•linuxfoundation.org> wrote:

> Miner A is able to process 100 M tx/block while miner B is only able
> to process 10 M tx/block.
>
> Will miner B be able to maintain itself competitive against miner B?
>
> The answer is: it depends on the consensus maximum block size.
>

No, it depends on all of the variables that go into the mining
profitability equation.

Does miner B have access to cheaper electricity than miner A?
Access to more advanced mining hardware, sooner?
Ability to use excess heat generated from mining productively?
Access to inexpensive labor to oversee their operations?
Access to inexpensive capital to finance investment in hardware?

The number of fee-paying transactions a miner can profitably include in
their blocks will certainly eventually be part of that equation (it is
insignificant today), and that's fantastic-- we WANT miners to include lots
of transactions in their blocks.

-- 
--
Gavin Andresen

[-- Attachment #2: Type: text/html, Size: 1695 bytes --]

 permalink raw reply	[|nested]
2015-08-05 23:51 ` Gavin Andresen

  
From: Jorge Timón @ 2015-08-06  2:33 UTC (permalink / raw)
  To: Gavin Andresen;  Bitcoin Dev

On Thu, Aug 6, 2015 at 1:51 AM, Gavin Andresen <gavinandresen@gmail•com> wrote:
> On Wed, Aug 5, 2015 at 7:24 PM, Jorge Timón
> <bitcoin-dev@lists•linuxfoundation.org> wrote:
>>
>> Miner A is able to process 100 M tx/block while miner B is only able
>> to process 10 M tx/block.
>>
>> Will miner B be able to maintain itself competitive against miner B?
>>
>> The answer is: it depends on the consensus maximum block size.
>
>
> No, it depends on all of the variables that go into the mining profitability
> equation.
>
> Does miner B have access to cheaper electricity than miner A?
> Access to more advanced mining hardware, sooner?
> Access to inexpensive labor to oversee their operations?
> Access to inexpensive capital to finance investment in hardware?

Yes, of course.
I didn't say "it only depends", just "it depends".
The example is focused on CPU as the "centralizing factor".
And still, all costs are already included in the example:

"Difficulty will tend to increase until the cost to produce a block
(including interest in all the capital needed, paid or not) is equal
to [...]"

I'm focusing on gains but I didn't forget to subtract costs at the end.
I may have "weird" economic ideas, but that will usually just mean
that I mention "interest" in contexts where you may think it is not
relevant.
In other words, expect me to "sin" by excess rather than omission when
it comes to economic costs.

> Ability to use excess heat generated from mining productively?

I agree that mining profitability can radically change in this case
(ie a home heater miner is competing with other heaters, not with
other bitcoin miners).
But until such an economic breakthrough happens I would rather not
rely on it happening.
This could certainly change the mining centralization dynamics in a radical way.
Note that if I buy a heater for 20 usd and expect to mine 5 usd worth
of btc this winter, I will consider it cheaper than an
equivalently-energy-consuming non-mining heater sold for 16 usd.
Maybe next year a more mining-efficient heater will be sold that will
still mine 5 usd worth of btc in its first winter, while my old one
will only mine 0.5 usd the second winter. That's completely fine, it's
0.5 usd extra savings and I was already happy with 1 usd savings in
the first year!
This can be applied to small home heaters, full-building heaters...
Apparently the future doesn't look so bright when it comes to
industrial heating because higher temperatures are needed, but I'm
really optimistic about mining as a byproduct of human-heating
artifacts.
This would also mean that part of the total hashrate would travel the
globe with the winter, which would also have its own benefits (and
maybe new risks?) to decentralization.

When/If this happens, I think everybody should carefully reconsider
all their assumptions about mining centralization.
By "this", I mean production of mining devices whose primary purpose
it's not mining but rather heating (I don't think many people realize
about the huge economic consequences of this seemingly-small
difference, not even companies specialized in bitcoin mining ASIC
production).
It would also save me a lot of discussions with some ecologist friends
(the fact is that I'm much more worried about bitcoin's huge subsidies
on bitcoin's mining and what that means to the environment than I
usually let them know), but that's another topic...

> The number of fee-paying transactions a miner can profitably include in
> their blocks will certainly eventually be part of that equation (it is
> insignificant today), and that's fantastic-- we WANT miners to include lots
> of transactions in their blocks.

At the same time we want mining to be (I was going to say "remain" but
I can't help with being pessimistic about the current mining
situation) decentralized, don't we?


 permalink raw reply	[|nested]
2015-08-05 23:24 [bitcoin-dev] Superluminal communication and the consensus block size limit Jorge Timón
  2015-08-05 23:51 ` Gavin Andresen

  
From: Tom Harding @ 2015-08-06  3:14 UTC ( / )
  To: bitcoin-dev

On 8/5/2015 4:24 PM, Jorge Timón via bitcoin-dev wrote:
> Miner A is able to process 100 M tx/block while miner B is only able
> to process 10 M tx/block.
>

B needs to sell ASICs and buy 90 M tx worth of CPU. 

Or, if you cap blocksize at 10 M tx, than A needs to sell the exact same
amount of CPU and buy the exact same amount of ASICs.

Either way, Miner A ends up with the ASIC cost equivalent of 90 M tx
worth of CPU in additional hashing advantage over B.  The centralization
has nothing to do with block size.  It has to do with Miner A having
more money than Miner B.

Alternatively, you might need to add a few more crazy assumptions.