Superluminal communication and the consensus block size limit
4 messages, 5 to 6 Aug 2015. Started by Jorge Timón.
Jorge Timón (2), Gavin Andresen, Tom Harding
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.
On Wed, Aug 5, 2015 at 7:24 PM, Jorge Timón < bitcoin-dev@lists•linuxfoundation•org> wrote:
Quoted text (7 lines)
> 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.
On Thu, Aug 6, 2015 at 1:51 AM, Gavin Andresen <gavinandresen@gmail•com> wrote:
Quoted text (18 lines)
> 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.
Quoted text (1 line)
> 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...
Quoted text (4 lines)
> 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?
On 8/5/2015 4:24 PM, Jorge Timón via bitcoin-dev wrote:
Quoted text (3 lines)
> 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.