On August 1st 2017, Bitcoin’s independence will finally be decided and most likely put an end to the scaling debate. Before diving into all the technicalities, let’s first understand who really controls Bitcoin? No one. There is no person or entity or group that has any control over Bitcoin or its network. It has no CEO or CTO. All the decisions regarding algorithm improvements are based on consensus of core developers. These are a bunch highly experienced developers who have volunteered to work on Bitcoin.
All the trades that happen on Bitcoin network are publicly disclosed with each participant’s digital signature attached to the Bitcoin blockchain as a confirmation. These trades can be found at blockchain.info.
It is clear that the bitcoin network is a bit clogged up at this point and something definitely needs to be done to scale the network in order reduce transaction fees and time. The average time it takes for a bitcoin transaction to be verified is around 50 minutes, but some transactions can even take days.
At present Bitcoin network can achieve 7 transactions per second. To put this in context, Visa says its payment system processes 2,000 transactions per second on average and can handle up to 56,000 transactions per second if needed.
Bitcoin scaling debate has been going on for over two years now. All of it hinges on whether or not to increase the block size. On one hand we have Bitcoin core (aka the developers) and on the other Bitcoin Unlimited (aka the miners). They both have different scaling proposals; BIP 148 and Segwit2x respectively.
In a nutshell, core developers want to scale the network without increasing the blocksize, while the miners say the only way to scale the network is by increasing the blocksize.
What is UASF?
UASF stands for User Activated Soft Fork. It’s a mechanism where the activation time of a soft fork occurs on a specified date enforced by full nodes. A UASF requires a lot of support from the industry, because it which eventually leads to hard forks.
In the past, a UASF was successfully carried out to activate the P2SH soft fork (BIP16).
What is Segwit or Segregated Witness?
Every Bitcoin transaction consists of three parts; sender, receiver and a digital signature (aka witness). Segwit was invented in order to shrink the filesize of a bitcoin transaction. This allows more transactions to be approved each time block or transaction is confirmed.
Segregated witness means separating the witness from the transaction in order to make it smaller in size. The witness will still be transmitted however it won’t be included inside the transaction.
Segwit was originally meant to be a hard fork back in 2016, but since this would have meant splitting the coin into two on entirely different blockchains and devaluation of the coin – core team settled with UASF first and then segwit. That means it doesn’t need the consensus of entire bitcoin network to make it work. Segwit will work even if some users don’t update their software to the newer version, making it much easier to implement.
Core developers are against the split of coin whatsoever. Segwit requires a critical mass of bitcoiners to agree, and poses major risks to the currency if major players decide not to.
What is BIP 148?
BIP (Bitcoin Improvement Protocol) 148 proposes UASF that will enforce segwit, which in effect will be enforced as a hard fork, but without splitting the blockchain into two. The new chain will exclude any nodes or miners that do not support segwit.
So if you’re running a node and not signalling a segwit, you will be left out of that chain. Your blocks will not be accepted on that chain. That is a hardfork. Even if it is called a user activated soft fork, in essence, it will be a hard fork.
What is Segwit2x?
Miners are not really opposing segwit, but they want the blocksize to be increased to 2 MB – segwit2x. Lately miners are having to pay mining fees of up to $500,000 which was $100,000 nine months ago. At this rate mining will become less and less profitable for miners.
They want a scaling solution that significantly reduces mining fees. Although, Segwit2x code hasn’t been properly tested yet. It is extremely risky to put such code onto Bitcoin blockchain.
What happens on and before August 1st?
On August 1st, Bitcoin core will go ahead with its UASF that would seek to push segwit live without explicitly asking miners for their support in order to make the blocks more efficient without increasing their size.
On this day, people running full versions of the bitcoin software will start rejecting blocks from miners who do not signal SegWit readiness. This will force miners to start getting ready for Segwit, otherwise they will be wasting their electricity on blocks that the network won’t accept.
BIP 148 will help entire bitcoin network to get ready for segwit together on November 15th, the day when segwit is implemented. The network will start enforcing the new rules if enough miners are ready by then, otherwise two versions of Bitcoin will emerge.
That being said, if miners want segwit2x to be implemented then by 21st July they must have 80% or more hashrate signalling for segwit2x by July 21st.
Pro tip: Whichever way this goes, if you hold bitcoin, make sure you control your private keys and avoid any transactions shortly after the split. Do not keep your Bitcoin in any of the online exchanges. This way you will get to decide which blockchain to choose if the split does happen.
My two cents: The fact that Bitcoin has a scaling debate going on for so long just goes to show how valuable the currency is and reflects its true decentralized nature. If a coin changes overnight it’s because someone controls it.