You may have heard a few unfamiliar terms in the news recently – things involving silverware and the word unlimited. The community seems to be split on an issue, and the who’s who of the cryptocurrency world are twitterpated over the entire ordeal. But, what exactly is causing a divide in the world of Bitcoin? Well, it all starts with a little thing called a block – see, they’re filling up, and fast.
Wait, wait. Let’s backtrack for a moment. For those of you who aren’t familiar with what a block is, well, it’s a collection of transactions. The apt analogy we’ve used before is that the blockchain consists of a ledger – a book that anyone can look at, at any time. Each page of the ledger consists of a collection of transactions – just like each block.
Still following? Well, just like we can only store, say, a thousand words per page, we can only store a thousand kilobytes per block. When that page is filled up, any transactions that are waiting to be added to the ledger need to put on the next page.
Analogies fall short here – you might be wondering why that matters. Well, it doesn’t, when you’re issuing one transaction a second. But Bitcoin has a scalability problem, and if it hopes to compete with traditional fiat currency – where millions upon millions of transactions are issued per second – it needs to find a better way of dealing with this queuing problem.
Of course, there’s a way to skip to the front of the queue – we just pay a bit extra. You might have heard the news of Bitcoin’s exorbitant fees – they’ve doubled in two months. If you want to have your transaction settled faster, you have to pay more.
We call this a “fee market” – an ecosystem where users pay high fees in order to have transactions settled faster. This creates an environment where users are competing by including higher fees each time for miners to have an incentive to prioritize certain transactions. Higher fees are often utilized by businesses or individuals who have the money to spare – but this goes against the true vision of what Bitcoin was originally: free, fast, and simple.
Our one-thousand word limit also limits how many pages of our ledger can be processed per day – the current block size limits the network to settling 300,000 transactions a day. Other transactions are delayed, or stuck in the bitcoin mempool – a sort of holding cell for transactions – waiting for confirmations. Wait too long, and your transaction is automatically made invalid.
A solution is needed, and soon. But how do you convince the entirety of the Bitcoin population to agree with a decision? Well, that’s the hard part.
You don’t.
And that’s where forks come into play.
In software development, a fork happens when developers can’t agree on a development direction. The original project is ‘forked’, or cloned, and it’s developed independently in different ways, with different results.
Two of the solutions proposed – Segregated Witness, and Bitcoin Unlimited – aim to fix the network congestion in different ways. And both are also handled in different ways – Segregated Witness will require a soft fork to activate, and Bitcoin Unlimited a hard fork.
Both of these updates will change the Bitcoin protocol – or, the set of rules Bitcoin follows.
A soft fork – what SegWit requires – is a protocol upgrade mechanism. It’s forward compatible, but that means it’s also limited in what it can do. It’s okay to not upgrade, though – there’s no risk of a currency split (or, having two ‘types’ of Bitcoin). It’s also incredibly fast to deploy – press a button, and wham, you’re done.
A hard fork, on the other hand – and what Bitcoin Unlimited requires – is a protocol replacement mechanism. It’s not forward compatible, but that means it can do anything as a result. Everyone has to upgrade, and there is a big risk of a currency split. And of course, it’s rather slow to deploy.
The differences are pretty easy to summarize: SegWit aims to change how blocks are stored, while Bitcoin Unlimited aims to change how blocks are created. There’s also Bitcoin XT and Bitcoin Classic, which change the size of blocks – or how much information can be stored in them.
Choosing which solution you prefer is easy – you vote with your hashpower, or, rather, by mining. SegWit needs 95% of the total network mining power to activate; Bitcoin Unlimited only needs 51%.
In the coming days, we’ll look at what Bitcoin Unlimited is, what it proposes, and what it will mean for the future of Bitcoin. We’ll also take a look at the Lightning Network – SegWit’s secondary layer – and how it works. If SegWit is rejected, can the Lightning Network be integrated into Bitcoin Unlimited?