You may have noticed the increase in Segwit2x news, opinion, posts, rants, and memes circulating throughout various media sources. You may have seen some of this media and been completely lost, as if you were reading a different language.
The entire debate can get pretty technical and you may be wondering if you should be concerned by the increasing number of rants you see on r/Bitcoin regarding the fork. To make Segwit2x clear, I will be breaking down the hardfork and putting it in layman’s terms.
Legacy Bitcoin
We will call today’s version of Bitcoin “legacy Bitcoin.” Right now, there is a 1 MB limit to the size of blocks. This was done by Satoshi to keep network nodes from coming under attack when Bitcoin was very young. He picked 1 MB as the limit because blocks were 99% empty at the time, and he expected there would be plenty of time to upgrade the system later when needed.
As Bitcoin grew more popular, the network had so many transactions to process that the transactions were beginning to pile up and form a queue. Blocks are discovered roughly every ten minutes, but in ten minutes’ time, there were more than 1 MB of transactions, causing some to be delayed until a future, emptier block could be mined.
The congestion caused delays in the amount of time it took for a transaction to be verified and applied pressure on the senders in a transaction to increase their transaction (tx) fee. This fee incentivizes miners to include that transaction in the current block. As blocks filled up, the fee needed to be included in a new block rose proportionally. Bitcoin transactions began to get very expensive, if senders paid higher fees, or very slow, if senders chose to pay lesser fees.
The Solution: Segwit
Bitcoin’s Core developers eventually came up with a solution: Segregated Witness (SegWit). SegWit is included in Bitcoin’s current software. It works by separating the transaction data from the signature data; this packs up to four times as many transactions into a block. More importantly, SegWit fixed a few other bugs within the software and that sets the stage for potential future upgrades to the network like the lightning network.
So, what is Segwit2x?
Not everybody was happy with just implementing SegWit, and preferred to increase the maximum size of Bitcoin’s blocks as well. This would give the network some more room for growth while lightning network was being deployed. Bitcoin’s Core developers do not want to increase the block size, primarily because that involves a hard fork, which is potentially dangerous. A hard fork happens when computers running new versions of the software are no longer compatible with computers that run the old (legacy) version. If done incorrectly, this can cause really bad things to happen.
On May 23rd, 2017, the Digital Currency Group published the New York Agreement (NYA). The New York Agreement was signed by a large number of Bitcoin companies and by miners representing over 80% of Bitcoin’s hashpower. The signatories of the agreement accepted a compromise called SegWit2x. This plan would call for the near-immediate activation of SegWit, and would follow that with a hard fork in November to double the block size.
Replay protection
One of the main concerns people have is that SegWit2x does not provide replay protection (until recently, when Jeff Garzik, the overseer of development for SegWitx, introduced an opt-in replay protection scheme).
A replay attack works as follows. Following a fork, if Bob sends Alice 10 Bitcoins on the forked chain, an attacker can copy that transaction onto the legacy chain and cause Bob to send 10 Bitcoins on that chain as well. Because SegWit2x does not include replay protection--unless you opt in--the Segwit2x fork leaves users susceptible to a replay attack.
What’s wrong with hard forks?
Core developers believe that this hardfork is coming too fast (three months after implementing SegWit) and that for a hardfork to take place and be accepted, it requires a lot of time to prep the community and reach a consensus regarding the fork. Many members of the crypto community dislike hard forks because hard forks weaken what is supposed to be a united decentralized community (I know, a bit ironic).
Delineation
SegWit2x is a hard fork that will occur around November 16, 2017, and as a result of the hardfork there will be two chains, one will be Bitcoin Core (legacy Bitcoin) and the other will be the SegWit2x version of Bitcoin. If the fork continues to be supported by the overwhelming majority of miners, there will be serious confusion over which chain is the “real” Bitcoin.
Although people in the crypto community love to freak out and rant on medium.com, reddit.com, and twitter.com, there is really no reason to be worried about this upcoming fork. Remember, there will only ever be 21 million Bitcoin in existence--Bitcoin is a finite resource--a deflationary currency. Once the dust settles, everything should be fine.
However, for safety reasons, it is always best to hold your own private key. This safety precaution should be heeded particularly during a hard fork. If you hold your funds on a wallet hosted online, such as an exchange like Coinbase, it is never certain what will happen with your funds if things go wrong on their servers--and we all know that things sometimes go wrong there.