Why Scaling Public Blockchains Is a Lot Harder than just Increasing Block Size GoChainGo Follow Apr 3, 2018 · 3 min read

It’s a common misconception that simply increasing the block size (gas limit in Ethereum) is all you need to do to increase transaction volumes. The thinking goes: if you increase the block size, you can fit more transactions into a block and therefore you increase the number of transactions per second. Sounds easy right? While it is true that you do need to increase the block size to increase transaction throughput, it’s unfortunately far from easy. If it were that simple, everyone would do it.

There are many things to consider when you increase the block size and we’ll discuss a few of the main issues in this article.

Bigger Blocks == More Compute Required

Increasing the block size in a Proof of Work (PoW) system makes it harder to mine blocks because bigger blocks means you need more computing power to generate hashes, which is already insanely hard (if Bitcoin were a country, it would be ranked 44th in energy consumption as of today). This also leads to more centralization since only some people/companies have the resources or can afford the resources to run nodes (centralization has already failed, but it would become worse).

You can solve a big part of this problem by switching from Proof of Work to a more sustainable consensus algorithm and something that can’t be centralized based on who has more resources like Proof of Reputation.

Bigger Blocks == More Storage Required

Another problem with bigger blocks is that the storage requirements go up in proportion to the block size. Right now, the entire Bitcoin blockchain is ~163GB and Ethereum is nearly 3x Bitcoin at ~450GB (in less than 3 years no less). If you doubled the block size, you would need approximately double the storage. And keep in mind that doubling would barely even move the needle in terms of transactions per second. Bitcoin would be ~14tx/sec and Ethereum would go up to ~26tx/sec. To make a real difference, you’d need to increase the block size by orders of magnitude. But then you also have orders of magnitude more storage to go along with it.

For reference, GoChain is targeting 1300tx/sec which is 100x more than Ethereum, and when running our load tests at that rate, we’re generating 0.7GB per hour or ~500GB per month.

Bigger Blocks == More Network Bandwidth Required

Every node that’s participating in the blockchain, whether mining or not, has to stay in sync with all the other nodes. This means all the nodes are sending blocks around to all the nodes in the network. In a Proof of Work system with thousands of nodes, it would become a lot harder to keep all the nodes in sync if you increased the block size. Also, miners without a fat pipe could fall behind and miss out on winning a block as someone else with a faster connection may have already beat them to it. This would give organizations with more bandwidth and faster connections an advantage, again leading to more centralization, similar to compute power.

Having fewer nodes participating in the network can ease this burden a bit, but it is still a problem especially if you want to have nodes around the world to ensure decentralization.

Conclusion

In this article, we discussed how increasing block size, while increasing the number of transactions that can be processed, brings with it some major new problems. Over the next couple of weeks, we’ll be posting follow up articles on how GoChain is solving these problems.

Get Involved!

Join our Telegram group to join the movement!