This article was published on July 12, 2018

Here’s why Bitcoin’s blockchain has blocks that go over the 1MB limit


Here’s why Bitcoin’s blockchain has blocks that go over the 1MB limit

When you really try to nail down what makes a cryptocurrency like Bitcoin really Bitcoin, the more technical you get, the closer you are to discussing block size.

A block is really a set of data, and for Bitcoin they’re mostly related to transactions. Bitcoin miners are really in the business of adding blocks of information about transactions to a database known as a public ledger.

In the end, that public ledger is really just a series of blocks that have been chained together to provide a complete and demonstrated history of transactions. They’re only every really ‘processed’ when the blocks storing their details have been mined.

But the block size is really more of an upper-limit to the amount of data allowed to be stored in each block. More data means more transactions to be added to the ledger at once.

It also means more computing power required to mine that block onto the chain – because, well, it’s more data. Just like it takes longer to send a high-quality GIF, it similarly takes longer to mine a block that’s bigger.

The 💜 of EU tech

The latest rumblings from the EU tech scene, a story from our wise ol' founder Boris, and some questionable AI art. It's free, every week, in your inbox. Sign up now!

This problem was especially felt at peak Bitcoin hyper-mania at the end of last year, when more than 200,000 transactions were sitting unconfirmed – miners inundated with 1MB blocks packed tight with data.

But today, when there is a supposed 1MB limit to block size for Bitcoin, a block was mined that was over 2MB in size. This has thrown some Redditors into confusion; but while a 2MB block might initially seem like an anomaly, there’s a reason why this happens.

But before we get into what leads to increased block size, it is worth pointing out that today’s 2MB block was not even the first one:

The culprit is SegWit – the contentious soft fork of Bitcoin that occurred last August. Frustrated by the dogmatic allegiance to hidden code in Bitcoin Core left by Satoshi Nakamoto, developers skirt the 1MB limit by allowing the processing of certain data off-chain, in an additional consensus layer.

Without requiring a fast-tracked eight-week introduction to Computer Science 101, it works like this:

Imagine a block doesn’t just have a size – but a weight. For SegWit to accept a block, all that matters is that the weight of that block is the equivalent of 1MB. How that is calculated is specific to the inner workings of its code. Essentially, SegWit can take the more cumbersome data away from Bitcoin’s main chain and store it elsewhere – increasing the overall theoretic block size to somewhere around 4MB.

The idea is if bigger blocks are mined, more transactions are confirmed at once, making the network efficient. And as technology gets better and better, computational power will increase allowing for even bigger blocks.

Bitcoin developer Jimmy Song already explained the process in a blog post from last year.

“As part of the consensus rules, every [Legacy] node on the Bitcoin network currently checks that a block is less than 1,000,000 bytes,” Song wrote. “That is, a block that’s greater than 1,000,000 bytes will be rejected by these nodes as a consensus rule.

When [SegWit] transactions are sent to Legacy nodes the witness data is stripped,” he added. “The key is that these ‘stripped’ transactions are still valid transactions on Legacy nodes, which gives us a savings over non-[SegWit] transactions. Thus, more transactions can fit into the block sent to Legacy nodes without going over the 1,000,000 byte limit.”

The key difference here is that while Legacy nodes can never receive blocks larger than 1MB, SegWit nodes have no such limitations. The reason 2MB blocks are popping up more often recently is likely the result of increased SegWit adoption.

Ultimately, a block being mined larger than 1MB is proof that SegWit is functional. And as such blocks are becoming more and more common, it’s a healthy indicator that SegWit is beginning to take off.

Right now, miners using SegWit are responsible for just under 40 percent of all transactions conducted on Bitcoin’s blockchain. While writing this article, unconfirmed transactions have been as high as 8,000.

Transaction fees are also at a historic low, with a current average of $0.16 – perhaps thanks to the progress of the Lightning Network and, in part, the recent downswing in Bitcoin interest.

It might be a bit too easy to attribute the rise in SegWit adoption to the low fees. There are other factors at play – Bitcoin’s price is much lower now, so there is less transactional demand. Bitmex wasn’t particularly sold on SegWit’s role in making Bitcoin’s network usable again, their analysis reads:

Although markets and the price elasticity of demand can be very difficult things to quantify and it is possible that the small 1.6 percent implied capacity increase caused a reduction in transaction fees, we believe this is unlikely. Therefore the sharp reduction in transaction fees is likely to be an odd coincidence.

It is therefore too early to tell if SegWit was successful in increasing transaction throughput and lowering transaction fees.

So, while we wait for the price to rise, adoption to increase, and the role of SegWit to be more clearly defined, it seems the novelty of the 2MB block (that’s really 1MB) will – confusingly – continue.

For those looking to keep track of the size of Bitcoin’s blocks can find live information through Smartbit.

Get the TNW newsletter

Get the most important tech news in your inbox each week.

Also tagged with