I first learned about Bitcoin while in the summer before my freshman year of college. This was around 2011 and lots has happened since then. I've mined BTC, sold BTC and messed around on exchanges in the past few years selling & buying other crypto currencies. So when the news of the hard fork day approached of my original favorite currency, I was excited to see what would happen.
Soft forks weren't in my interest. I was solely curious in the hard fork or the birth of Bitcoin Cash (BCH).
For those unaware Bitcoin (BTC) believed that their future was in Segwit. This in absolute basic terms is separating the transaction signatures from the transaction. This frees up space for more transactions as you could only fit so many transactions in a block. With the popularity of Bitcoin, transactions were frequently delayed in the backlog (mempool) as they awaited inclusion into a block. This isn't feasible for a currency to take hours to verify - this was a problem that needed to be solved.
So lets look at a block on the Bitcoin block chain before the fork. I picked a random block a few blocks before the hard fork was signaled. At this point in time, Bitcoin Cash does not yet exist.
Thanks to Blockchain.info for this information.
The important thing to note here is that 1,249 transactions were packed into this block making it 999.146KB in size. Which comes close to the 1MB limit in Bitcoin. Which has become kind of a pattern over the years as transactions fight to add themselves into a block, which evolves to the blockchain we all know.
Just a sample of transactions on July 31 show that blocks are generally packed all the way to the 1MB limit. This means that in order for your transaction to be verified you need to squeeze yourself into that 1MB block thats approaching or be delayed to the next one.
So how do you get a transaction in a block? In simple terms: fees.
Not all transactions take up the same amount of digital space. It wouldn't be fair to force the same fee on all transactions. So we have a "recommended fee" when sending transactions which usually uses something like 110 satoshi's (1 satoshi = 0.00000001 BTC) per byte. This means the larger your transaction is the more your fee will be. Fees help attract miners to mine blocks to verify transactions to grow the block chain.
Bitcoin Cash changes the block size limit from 1MB to 8MB, while taking advantage of the hard fork to add some replay protection & SigHash Type (a new way to sign transactions). This allows Bitcoin Cash to fit a lot more transactions into a block.
So lets jump back to August 1, 2017 as the world is waiting for the fork to occur, and finally block #478,558 was mined. This meant the next block (478,559) would be different between Bitcoin & Bitcoin Cash as the fork would be active.
478,559 showed up in the Bitcoin blockchain, but no new block was yet found in Bitcoin Cash.
Attempting to accept this block on Bitcoin Cash was met with an interesting error
ERROR: AcceptBlock: bad-blk-too-small, size limits failed (code 16) (block 00000000000000000019f112ec0a9982926f1258cdcc558dd7c3b7e5dc7fa148)
Side note - Trying to accept a Bitcoin block on Bitcoin Cash makes zero sense. Transactions were intended for Bitcoin, not Bitcoin Cash. This was a test just to see what happened.
This was because in order for the hard fork to start, a block over 1MB had to be encountered. So the waiting game began. With Bitcoin Cash only taking about 2.3% of the hashing power that was in Bitcoin, it still had the difficulty level of Bitcoin plus an 8MB transaction size. This meant that minutes became hours and there was still no new block for Bitcoin Cash.
Comments began showing up on Reddit, Twitter and more. People were confused and anxious. How could something compete with Bitcoin if nothing could be verified in hours? The genesis block hadn't be found yet and nearly 5 hours had passed.
Then it happened. Block 478,559 (of the Bitcoin Cash) chain was found. It was 1.915MB in size with 6,985 transactions!
We can thank BlockChair for this image.
and then 21 minutes later we got another block. It seemed things had finally taken off, until things got weird.
4 minutes after block 478560, a new block showed up on the chain. However, this time it was not from an exchange or mining pool and carried some interesting things with it.
This is important to note the miner, because the difficulty became so high in Bitcoin that solo mining became impossible without insane mining equipment. This meant that rewards for block mining usually went to pools that split them up between all the miners who helped "mine" that block.
So when block 478561 showed up people began laughing and rightfully so. The 3rd block forever etched into the history of Bitcoin Cash was signaling for Segwit.
Yes you read that right. A big reason for the fork to even happen was to abandon the Segwit changes happening in Bitcoin. Yet, 3 blocks into the new fork Bitcoin Cash was already signaling to activate Segwit!
As you can see by the purple "SW" badge, this block was signaling for the activation of it. This had to be a joke, the client software for Bitcoin Cash literally had Segwit removed so even signaling an activation of it meant nothing.
So who were these guys in Hong Kong? Was it a simple joke or something more? They must have some serious hashing power in order to mine blocks before an exchange or pool.
Block after block guessed who continued to show up as the miner of the block?
For the sake of the this post, I'm going to assume all the unknown miners are from the same source. I am aware anyone could write anything in these fields.
Out of the 10 next mined blocks, 9 belonged to our random group/individual in Hong Kong. However, in 8 of those blocks Segwit was not being signaled for activation. This gave merit to the fact that the activation was simply a joke.
As of this post, 75% of Bitcoin Cash blocks has been mined outside of exchanges.
Thanks to cash coin dance for this graphic.
So whats next for both Bitcoin & Bitcoin Cash?
We have two interesting time frames approaching for both. As Segwit in Bitcoin was signaled for activation, it needs to actually be activated. This means the next activation period (block 479808 - 481824) will enable this. According to the current rate, this might be somewhere after August 6th.
Thanks to segwit.co for this image.
At this point Bitcoin will gain the features of Segregated Witness which should help to alieve some of the problems affecting it.
In the world of Bitcoin Cash, we have another interesting date approaching. Since Bitcoin Cash was a fork of Bitcoin, it inherited the difficulty of Bitcoin. However, as shown the hash rate of Bitcoin Cash is no where near the power of Bitcoin which could lead to some issues.
As August 4th approaches (maybe slightly after) we could see the difficulty level of Bitcoin Cash adjust.
I hope this helped explain a bit what happened on August 1st 2017. If you are curious about any other aspect of the Bitcoin network(s), feel free to ask a question in the comments.