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.
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:
1. 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)
2. 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 bytes) 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:
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.
To sum things up:
- Fixes an important issue called Malleability bug in the Bitcoin protocol
- Shrinks transaction size in way that is equals to having a 2-3mb block size
- Additional security and efficiency gains for the Bitcoin protocol
- Initiates through a soft fork
- Not a long term solution (eventually we will need bigger blocks)
Bitcoin Unlimited Pros
- Increases the capacity of Bitcoin transactions
- Long term solution – the block size in basically unlimited
Bitcoin Unlimited Cons
- Requires a hard fork = irreversible
- Puts more control into the hands of miners (who get the decide on the block size)
- Small development team with questionable track record
- Hasn’t been tested yet
Even though I’ll try to state the facts as objectively as possible you may notice that it seems as if Segwit has the upper hand. I’ll address that personally in the end of this post but in the meantime if any Bitcoin Unlimited supporters feel that anything that’s written here doesn’t reflect the truth please let me know.
It’s also important to note that this debate is not new and it has been going on in the Bitcoin community almost since its inception. Even Satoshi referred to it in his previous writings on the Bitcointalk forum in 2010.
Segwit is represented by the Bitcoin Core team – the team that has been in charge of maintaining and updating Bitcoin’s protocol since it began. This team consists of 25 full time developers and over 100 contributors, it is partially funded by a company called Blockstream. Of course this team has changed over time and some of the early developers have even left the team due to this debate and other issues (e.g. Mike Hearn and Gavin Andresen).
Bitcoin Unlimited is represented by Roger Ver. Roger is an early Bitcoin investor and has been said to have around 300,000 Bitcoins (this has never been confirmed). He invested in companies such as Blockchain.info, Bitpay, Kraken and more.
What will the community choose – Segwit or Bitcoin Unlimited?
That’s a very good question. It’s so good that we can’t really answer it because the community is split in half. Some think we should go with Bitcoin Core’s Segwit (BTC) and others with Bitcoin Unlimited (BTU). But while no decision is made Bitcoin blocks are running out of capacity and today you have to wait hours and sometimes days for your transaction to get confirmed.
Another “side effect” is that transaction fees are getting higher and higher since people are willing to pay more to get their transactions confirmed faster. This is causing less people to adopt or use Bitcoin on a daily basis, and that’s something that is needed in order to get Bitcoin to become mainstream.
Even though the debate has been going on for several years now, it seems that for the first time we have reached a boiling point. Bitcoin unlimited has gained notable support and might just say “we’re activating Bitcoin Unlimited and creating our own version of the Blockchain” and that is what everyone is afraid of (the dreaded fork).
In order to better understand how and when this fork will happen I want to first address the different players we have in the Bitcoin ecosystem:
Miners – The people who operate expensive computers that confirm Bitcoin transactions. Without them no transaction would ever be inserted into the Blockchain (i.e. no blocks would be mined). When changing the Bitcoin protocol the developers usually wait for 95% of the miners to reach an agreement on protocol changes and only then the changes are put into effect. At the moment Segwit and Bitcoin Unlimited are both far away from that milestone.
As you can see, at the time of writing 37.2% of miners are supporting (aka signalling) Bitcoin unlimited and 31.2% are supporting Segwit.
If these 37.2% that support Bitcoin Unlimited suddenly decide to start mining Bitcoin unlimited blocks a hard fork will occur and two Blockchains will now be available – the Bitcoin Core blockchain (BTC) and the Bitcoin Unlimited blockchain (BTU).
Wallets, exchanges and full nodes – Miners are only validating transactions that nodes on the network create. When I say nodes, I mean computers running fully independent Bitcoin wallets that are sending, receiving and broadcasting Bitcoin transactions.
These nodes belong to Bitcoin wallets, exchanges and individuals who want to independently verify and broadcast their Bitcoins without any reliance on a 3rd party. While the miners confirm transactions, nodes create transactions – so one can’t live without the other.
18 Major exchanges have signed a document stating that they will label Bitcoin Unlimited as BTU and Bitcoin Core as BTC or XBT if a fork happens. The two coins will be treated separately but I think the most interesting part of the one page document is this:
However, none of the undersigned can list BTU unless we can run both chains independently without incident. Consequently, we insist that the Bitcoin Unlimited community (or any other consensus breaking implementation) build in strong two-way replay protection. Failure to do so will impede our ability to preserve BTU for customers and will either delay or outright preclude the listing of BTU.
Today 82.84% of the nodes on the network are Bitcoin Core nodes, out of these nodes 71.11% support Segwit. On the other hand only 11.17% of the nodes support Bitcoin Unlimited.
Nodes decide for themselves what software to run regardless of miners. So theoretically there could be a situation where a majority of the miners start mining Bitcoin Unlimited but a majority of the nodes continue to use BTC. If this were to happen for example an exchange (i.e. node) that runs only BTC will not accept coins created from the alternate chain.
On the other hand, if a large percentage of miners drop out of the network, the difficulty to mine BTC will increase dramatically as a lot of miners have suddenly disappeared. This will create even slower confirmation times and higher fees until the mining difficulty adjusts.
Every 2016 blocks that are mined the protocol adjusts the difficulty so that blocks will be mined every 10 minutes on average. This means that in time the network will revert to the “normal” 10 minute block time but it can take weeks or even months to achieve that.
To sum things up – at the current status quo a fork is really bad for Bitcoin and will create a lot of confusion.
If a fork occurs, what will happen to:
Depending on where you hold your Bitcoins one out of three things can happen:
- All of your Bitcoins will become BTC only
- All of your Bitcoin will become BTU only
- You will have doubled your coins and get an equal amount of BTC and BTU
The reason I can’t say for sure what will happen to your specific coins is because it depends on which wallet you hold them on. If you don’t hold the private keys to your wallet and allow some other wallet to hold your keys for you – you are basically letting them choose what will happen with your coins.
For example, Coinbase recently announced that they will only support BTC initially. On the other hand Breadwallet declared that they will continue to connect to the chain that is the most popular amongst miners. You will not see your balance on the less-popular chain, and your bitcoin balance as shown in the breadwallet app will not change. TREZOR announced that they will show both BTC and BTU.
Every wallet has a different policy, if you want to make sure you have both BTC and BTU available you should keep your coins in a local wallet that allows you control over the private keys. I will elaborate a bit more on this later.
Exchanges are similar to wallets in the sense that you don’t have control over your private keys – so it’s probably best to get your money out of the exchange if you don’t need it for day to day trading.
One thing worth mentioning although I won’t go into it in detail is something called a “reply attack”. In case a fork does occur and you get both BTC and BTU a hacker can use information from one of your coins to steal the other.
For example – You have 4 Bitcoins, you hold them in an independent wallet, the fork occurs and now you have 4 BTC and 4 BTU. You decide to sell you BTC, but then discover that your BTU is also gone. This can be the result of a reply attack. The way to avoid it is to:
- Make sure the wallet you are using has implemented replay attack counter measures
- Don’t spend any Bitcoins until you’ve verified point #1
Assuming Bitcoin forks and splits into two coins, BTC and BTU, then the price of each of these coins will probably be worth a lot less than the current price. How low can it go? Nobody knows. But imagine that you’ve just doubled the supply of Bitcoins everyone has.
One assumption is that a lot of people will start selling the coins that they don’t support, which will in turn drive the price down. Roger Ver for example, agreed to trade up to 130K BTUs for BTCs from an anonymous Bitcointalk user.
To sum it up, no one really knows what the price will be after a fork for BTC or BTU but there seems to be an overall agreement that the price will drop substantially (at least at first).
Another question everyone is asking is what will happen to the price of Altcoins like Ethereum, Dash or Monero if a fork occurs. Some people think it’s better to get their money out of Bitcoin and into an altcoin that doesn’t pose all of this drama and potential risk.
I’m sorry to disappoint you, but I don’t think I can answer that question. In the past few weeks altcoins have been gaining a lot of traction as the option of forking Bitcoin seems realer than ever, but that’s not to say they will continue to rise and that they are properly valued at the moment.
Aahhhhh I’m confused! What should I do with my coins?
No matter who you support (BTC or BTU) you should make sure your coins are on a self hosted wallet (one that you control the private keys to). Examples of such wallets are Electrum and Exodus.
If you have a substantial amount of Bitcoins use TREZOR or Ledger for maximum security. This way if a fork does happen you will own both currencies and won’t need to succumb to any exchange or wallet desires.
Now that your Bitcoins are safe here are you options:
- Do nothing – If you believe that the fork isn’t going to happen or that in the long run things will straighten themselves out through market forces you can just ride out the storm. Once the dust settles you’ll still have all of your coins (assuming you moved them to a self hosted wallet).
- Convert your Bitcoins into altcoins – If you don’t want to be part of the drama but still need to use cryptocurrencies you can convert your Bitcoins into reputable altcoin like Ethereum, Monero or Litecoin.
- Sell all of your Bitcoins – If you are holding an amount in Bitcoin that you can not afford to risk at any cost perhaps it would be best to sell all of them right now and not take any part in this. Once the drama is over you’ll be able to buy Bitcoins again. However, no one really knows when the drama will end or what will be the price when that happens.
Personally I’m going for option #1. This is my own opinion and please do not take it as investment advice, form your own opinion by educating yourself. I am making sure to get all of Bitcoins out of wallets like Coinbase and even Blockchain.info (which Roger Ver is one of their investors) and I’m storing them on several hardware wallets.
I don’t think a fork will happen, but if it will I will just hold on to both coins until I see who the market decides is the winner. Personally, after watching hours of debates and reading numerous articles on the matter I’m in favor of Segwit.
Because it seems to me their team has more experience, their solution is less risky and mainly because I don’t think we need to solve ALL of Bitcoin’s future issues at the moment. Bitcoin Unlimited is stating that it is a long term solution, however we don’t really know what Bitcoin will become yet,
Bitcoin is still in its early stages. We need to allow it to grow but not decide on its future just yet. I see it very similar to Facebook in the way it was allowed to evolve and not limit itself to just a social network for students.
The ugly side of the fork
Now that you know about the technical aspects of the fork, Segwit and Bitcoin Unlimited it’s time to touch upon the political aspects of it. The whole issue is pretty ugly and both sides carry some of the blame in my opinion.
The dark side of Bitcoin Core:
The Bitcoin Community knowledge center is mainly its subreddit (r/bitcoin) and the Bitcointalk forum. Since both of these sites are run by moderators who do not agree with the block size increase solution, they have started moderating threads discussing any such option.
Thus you can see posts and comments being regularly deleted under the claim that a coin that uses bigger blocks isn’t the “real” Bitcoin and should be considered as an altcoin. Since these sites don’t discuss altcoins the post is deleted.
This has enraged many users (and myself) since it doesn’t go hand in hand with the censorship resistance Bitcoin represents. You can read more about the heavy moderation and its implications here. This was also the cause for the creation or r/btc – a subreddit created by Bitcoin Unlimited supporters what opposes censorship.
It’s important to state that even though Bitcoin Core or Blockstream are not directly related to these sites they have not publicly denounced this forced censorship as well.
The dark side of Bitcoin Unlimited:
Bitcoin Unlimited is spearheaded by Roger Ver. Even though I believe Roger’s main cause for wanting an increase in the block size is to “save Bitcoin”, his persona is questionable. I mean, if more transactions per block is so important to you why not just approve Segwit to begin with and then we can discuss increasing the block size.
Seems to me that the issue is more political than technical.
Roger owns Bitcoin.com – a very strategic domain name (not to be confused with Bitcoin.org the official Bitcoin site). On his website which is heavily promoted online (trust me, I’m a marketer) he promotes his own agenda. Of course this is completely his right since it’s his site – however it’s a bit annoying that he is masking this agenda under Bitcoin’s name.
Another example is that roger is funding out of his own pocket a mining pool for Bitcoin Unlimited. Miners who join that pool don’t have to pay mining fees (usually around 2.5%) from their profits and they get an additional 10% on their earnings.
If you go through Roger’s bio you’ll notice he is a business man and he is heavily invested in Bitcoin. It just seems that he is using a lot of his money to try and change public opinion by marketing and financial incentives instead of actually creating a good product.
To conclude this part – both side aren’t playing nice. In my opinion you need to separate the chaff form the wheat, and all of the slander and accusation are just chaff.
Conclusion – What can you do?
Nothing. We’re just going to have to see how this plays out.
However, if you would like to influence the outcome – Get involved. Use the information you’ve learned here and from other resources online to educate others and form an opinion. Make sure to voice that opinion on social channels like Reddit, Facebook, Google +, local meetups and any place you think is relevant.
That’s the best any of us can do for now.
If you’ve found any mistakes or want to ask any more questions about this subject feel free to leave them in the comment section below. In the meantime here are some good videos for you to learn more about the subject.
And don’t forgot to move your coins to a local wallet!!
Please i have a problem a friend sent bitcoin to my wallet and before i know it the bitcoin was moved to another wallet address and it upsent till now please how can i correct the transaction so it will return back to my original wallet address
Thank you for your question. It seems that your friend sent the bitcoin to a wallet that someone else controls. If it was sent to your wallet address, then nobody should be able to control it – and move coins to a different address.
Alternatively, someone else has access to your wallet. They probably have the passphrase or seed phrase. With the seed phrase, they can duplicate the wallet and send the coins elsewhere.
Unfortunately, once the coins have been sent to a different wallet address, there is no way to reverse this transaction. The only way to get it back would be to request the recepient to initiate the transaction from their wallet. This is impossible if you do not know who the recepient is.
Thank you, and take care.
Thank you for shedding light on this confusion – it de-cluttered a lot of things. One thing jumped out at me though. In the beginning, you said,
“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”.
But in describing Roger Ver, you stated, “I mean, if more transactions per block is so important to you why not just approve Segwit to begin with and then we can discuss increasing the block size.”
If that is so, then you could validly say as well to Segwit supporters, “…if more transactions per block is so important to you why not just approve Bitcoin Unlimited to begin with and then we can discuss decreasing the transaction size later.”
Sorry to say, but I smell a veiled bias here.
r/bitcoin is like the North Korean media. They censor any dissenting viewpoints. Essentially, it is an echo chamber. It is fake news. I posted a criticism of Blockstream. They deleted it and banned me. So much for “censorship resistance” and “permissionless”. They have become hypocrites. Their mantra is “Do as I say, not as I do.”
Bitcoin is a computerized cash and has no physical presence. A transaction is a value of transfer between bitcoin wallets that gets included in the block chain bitcoin wallets keep a secret piece of data called a private key or seed which is used to sign transactions?
This is the first time I understood this topic. Thank for simplifying it.
It is great to hear, thanks for the feedback Sati. You can read more about the recent hard fork here are well: https://99bitcoins.com/segwit2x-uasf-and-the-upcoming-fork-guidelines-heres-what-you-need-to-know/
Very useful article!
I just want to make one thing clearer for me. Bitcoin Core proposal is a.k.a. SegWit, is Bitcoin Unlimited a.k.a. SegWit2x?
Thanks for the article! It is written in easy to understand language!
I saw one typo in the part where you describe the block size – “Let’s say a block can be only 1mb (1,000,000 byes)…” You’ve missed “t” in “bytes”, but never mind, the article is great!
Thank you once again, I will continue to follow you posts!
Thanks for spotting the typo Mok! Regarding your question I think this article will put Segwit2X into perspective. It’s not BU, it’s some sort of a compromise.