Hacker News new | ask | show | jobs
by jordigh 3698 days ago

    The little-blockians want the block sizes of Bitcoin to remain
    small, and thus for it to be a pure decentralised currency that
    can be used by anyone with a computer. This would maintain it as a
    peer-to-peer currency, but would limit its growth.

    By comparison, the big-blockians believe Bitcoin should grow into
    a universal currency, expanding the block size to accommodate
    absolutely every transaction. The downside is that this is beyond
    the computational limits of domestic machines, thereby meaning
    that Bitcoin could only be regulated by banks, governments, and
    other large organisations: thereby moving it away from a
    libertarian idyll into something more akin to a regular currency.
Oh my god, I finally understand the block size debate. I've been hearing about it forever but never understood why the size mattered to so many people so much or why there was a debate at all.
6 comments

That's only one of many aspects of the whole block size debate.

And I'm not sure there's a lot of merit to this specific aspect. From what I can tell[0], the "computational limit" is primarily in increased bandwidth and storage requirements in running a full node (2.8 GB per day for a block size of 20 MB).

While that's not trivial, it hardly limits adoption to institutions like banks. 2.8 GB is about 45 minutes of 1080p video, which people seem to manage even on domestic connections. At the same time, even with the current block size, very few people (less than 1%?) currently run a full node; so maybe it's not the "computational limits" stopping people?

[0] A better, if outdated, list of pros and cons: http://bitcoin.stackexchange.com/questions/36085/what-are-th...

Well the 2.8gb is to download all confirmed blocks, say a copy of the blocks added 10 days ago.

But the actual bandwidth exceeds that significantly. Both transactions that never make it into actual blocks (like bad transactions or double spends) and blocks that are orphaned are part of the bandwidth too.

More importantly, even if you were just sending and receiving the transactions that end up in the final longest blockchain, you're communicating hopefully not with 1 other node, as that'd mostly defeat the purpose, but rather tens of nodes, meaning you're perhaps seeding yourself the new blockchain data to tens of other nodes.

In fact, if you look at nodes today, the average daily bandwidth is pretty much the 2.8gb you mentioned for blocks 20x the current size. e.g. http://213.165.91.169/

So if we'd go 20x, you're talking about 50gb a day, or 1500gb a month. And that just doesn't fly with most consumer ISPs. It's something we could certainly move towards in 2020 or 2025 though.

Now you can limit your node of course, but that limits the utility, too few connections means you're just receiving data and not passing through actually hurting the health of the network. This node transmits only about 20% more than it receives, so it's not some kind of super node that delivers data to lots of others. There are nodes like that which today rack up 800gb of monthly data already, this one is closer to 100gb per month, which already is a lot just 'on the side', in countries with shitty bandwidth caps. (US) Plus, a lot of the traffic is burst traffic, so it's not like we're talking about 3gb daily = 35kb/s (which sounds fine) 24/7. For example, he's had days reaching 30gb of traffic, and again this isn't some industrial node. You have to be able to deal with that as well. If you cut your node when the going get's though on days like these, then it defeats the point and means the blocks are too big to handle.

So I think we can go a lot bigger with nodes, but we shouldn't downplay the traffic increases too much, 20mb blocks for example aren't trivial and can't just be compared to some 1080p video (although I make similar comparisons from time to time). At some point, you have to give away autonomy if you increase blocks too much. We already see with 1mb blocks today that lots of peeps run nodes on a VPS, so they can offload the hassle of a home setup. But this means lots of nodes already are being run by commercial providers, which are susceptible to government influence. Now I'm in no way anti-government, but the whole point of bitcoin is decentralisation, gateless, disintermediated, resistant to power etc... removing this leaves you a database that can be manipulated by those with power, just like an ordinary financial system we already have.

Tricky debate this!

edit: just to add for others who are interested... If the blockchain has value, people will use it, and keeping blocks small just forces transactions off-chain. And these can themselves be controlled by various gatekeepers and intermediaries. So on both sides you're losing out. A balance is necessary, everyone agrees there. Where the balance is, they don't. And it's made difficult by the need to 'get it right' right away, as changing the protocol in 5 years becomes way harder. Every day that goes by, more actors move in, making change a political process. So simply making blocks 2mb and saying 'let's get back to it in two years when blocks are getting full again' could actually be worse than delaying it shortly now and forcing a good permanent solution. While at the same time, every single day, bitcoin is treading uncharted waters, none of this has been done before in this particular context, so the foresight for a long-term solution is incredibly hard and already incredibly political.

Thanks for the link, seems like the post I was going by was underestimating the traffic quite a bit (though to be fair, they allude to it and it was probably my reading at blame).

That said, I stand by my point that the traffic ("computational") requirements hardly limit running a node to large organisations: depending on where you live, a domestic connection might not do it -- though it very well might! -- but a cheap server hosted somewhere on the "right" side of the last mile will.

> a cheap server hosted somewhere on the "right" side of the last mile will.

I think the idea is that if a large majority of the network is on linode, then shutting down Linode would cause the majority of whoever is left being able to dictate what's canon?

Why is 2MB the perfect size? Will we run into the same problems in three years? Or thirty?

I highly doubt that expanding the block size by a factor of 2 or 4 or even 8 will change it into something normal computers cannot handle.

The only reason things don't change is that miners don't change. The control lays with miners, full stop. IIRC, they agreed to some change by signalling a flag in mined blocks. The idea was that at a certain amount of consensus, the new behaviour would activate. Instead, the miners set the flag, then ignored it when the consensus threshold was passed.

I wouldn't be surprised if it was just an issue of some miners having some minor difficulty in increasing the blocksize, and deciding its not worth the hassle/lost profits.

The consensus threshold wasn't reached. There was a maximum of 12% support (now there is less than 3%)
Hate to confuse you again, but it's a lot more complicated than that. Keeping the blocks small will also lead to centralization as transactions are forced off-chain. Making blocks bigger (within reason) will not increase computing, storage, or bandwidth requirements beyond what most people have sitting idle at home.
Well there's another wrinkle to this, which is that having a small block size and lower throughput may drive transaction costs up. What I've read suggests that the current 1MB block size works out to about 7 transactions per second, which is not great. Also, it's possibly fair to say that we're already past the point of a "free for all" Bitcoin; from what I've read mining is controlled by a small number of entities. So, that is one way to characterize the debate, but I am not entirely sure if it is completely fair.
Both sides think their solution is decentralized and the other is centralized.

Big blocks wanted limited growth that still works on domestic machines. Big blockers believe in using Bitcoin as-is; small blockers want to "spam filter" (i.e. control) some transactions or use some third-party thing like Lightning.

> The downside is that this is beyond the computational limits of domestic machines

There are definitely solutions to this problem.

For one thing, we don't need to be storing the entire blockchain.