Segwit vs. Bitcoin Unlimited and Bitcoin’s Fork Explained Simply
There’s been a lot of talk in the Bitcoin community lately about stuff like a “fork”, “segwit” and “Bitcoin Unlimited”. Many people don’t understand what all of this is about but it’s creating a lot of stress due to misleading or partial information that is being spread.
In this post I will aim to clarify the uncertainty and give a better view of what’s going on mainly for newbies and non technical people. Hopefully, once you finish reading this post you will know what’s going on in the Bitcoin community these days and will be able to better prepare yourself for the different outcomes.
long post
A short disclaimer before I begin – I’m not a technical person and I have little technical background. The information I bring here today is what I’ve managed to collect after weeks of research from around the web. I may sometimes oversimplify technical issues in order to easily explain them.
I believe there are only a handful of people who understand this issue and its technical aspects completely. If you do find a mistake in this post I encourage you to let me know in the comment section below and I will look into it. Let’s begin…
What the hell is a fork?
A fork is a technical word used by developers working on open source projects. It basically means a “software update”. Every time you update a program on your phone or computer you have forked from the older version.
Bitcoin has introduced two new fork concepts:
- Hard fork – A mandatory software update that conflicts with the older version. Your program won’t run if you don’t update it. An example can be finding a critical bug that allows people to exploit the software therefor everyone is required to update their program in order to continue using it.
If you don’t update – you can’t use the program. Also, there is no way to reverse a hard fork once created in case some unexpected bugs or issues comes along. If that’s the case you’ll just have to do yet another hard fork and revert back to the old version. (source)
- Soft fork – A software update that doesn’t conflict with the existing software, isn’t mandatory and allows the network to adjust to the new features implemented on the go. While a soft fork is in place even computers running the old program will still be able to use the program.
After a while when most of the computers running the program have updated to the new software a hard fork is implemented for the remaining minority if needed. If the soft fork doesn’t work out, has bugs or people don’t adopt it – it’s completely reversible and you can go back to the older version. (source)
Most programs you use today are controlled by a single entity. So whenever they want to “fork” from their original program they issue an update in the form of a soft fork. For example, when Apple issues an update to iTunes – you probably won’t have to update, but it’s advised that you do. After a certain period of time however you won’t be able to continue to use iTunes if you haven’t updated it.
Bitcoin on the other hand is decentalized and has no central authority. That’s why when you have some controversial issue that requires an update, like we will discuss shortly, people can argue on how the update should be carried out. As long as Bitcoin users don’t reach a wide consensus on what’s the right way to go, no update (or fork) will occur.
What’s this Block size debate everyone is talking about?
Transactions in the Bitcoin network are added to the Blockchain via blocks. Each block holds a finite number of transactions. Let’s say a block can be only 1mb (1,000,000 byes) in size, and the average transaction is 500 bytes, then on average each block will be able to hold ~2000 transactions.
This can create an issue since blocks are created on average every 10 minutes. This means that in one hour you’ll confirm an average of 12,000 transactions. If you compare this to credit card companies that confirm 2,000 every second then you can understand why the Bitcoin network is considered to be slow on confirmations.
It’s important to note though – that if a credit card transaction goes through there are still 6 months in which that transaction can be reversed while in Bitcoin, once a transaction is confirmed 6 times (takes an hour on average) it is irreversible.
Whether or not Bitcoin should process more transactions in a given period of time isn’t the question here – everybody wants that. The question is how to go about that. Two camps have formed around this issue with two different solutions:
Camp A (aka Bitcoin Core) – Wants to keep the 1mb Block size limit. They propose to optimize the code in a way that will make transactions smaller and use other various techniques in order to increase Bitcoin transaction volume through the use of a soft fork.
The main solution proposed by this camp is called “Segregated Witness” or Segwit in short. It’s an upgrade that fixes a lot of Bitcoin bugs and also opens the opportunity for future scaling via the lightning network (which I won’t go into in this post). Here’s a short video we made about Segwit a while ago – however it only focuses on lowering the transaction size and not on many other important issues Segwit solves:
1:42
Wistia video thumbnail - What is segwit
Camp B (Bitcoin Unlimited) – Wants bigger blocks. They propose to increase the block size limit to whatever is needed (initially 2mb) in order to expedite confirmations on the network. However, if you decide to increase the block size to more than 1mb you are causing a hard fork by definition (since you are changing Bitcoin’s rules).
This means that if you you need to get everybody who want to continue to use Bitcoin to update their software – and as you can tell from the number of “update-required apps” you have on your phone – that doesn’t always happen.
Congratulations @bitcoinrobert! You have completed some achievement on Steemit and have been rewarded with new badge(s) :
Click on any badge to view your own Board of Honor on SteemitBoard.
For more information about SteemitBoard, click here
If you no longer want to receive notifications, reply to this comment with the word
STOP