Introduction to Bitcoin Cash (BCH) Part 1

Differences between BCH and Bitcoin BTC. Block sizes and hashes.

 

Satoshi Nakamoto described the idea behind Bitcoin and the way he was planning to implement the idea in a whitepaper from 2008. He launched the network in the beginning of 2009. During the first year of the existence of the network, it had around 100 transactions a day on average. Because the Bitcoin network is fully transparent, you can see the official chart with transaction numbers from the inception of the network on the Bitcoin blockchain explorer website: https://blockchain.info/charts/n-transactions?timespan=all

Nakamoto has designed the Bitcoin network in such a way that it can process between 3 and 7 transactions per second on average. When the Bitcoin network has started becoming really popular in 2013 and 2014, this has become a serious problem.

Bitcoin Cash is a cryptocurrency that differs from Bitcoin in three ways. First, it has a larger size of the blockchain. Second, it has increased security. Third, it adjusts the difficulty of the network faster than the Bitcoin network does.

This series of articles will first give an overview of why the Bitcoin the way it works, explain such terms and difficulty of the network and cryptocurrency forks, and then explain why the three changes that Bitcoin Cash has introduced are so significant that Bitcoin cash, while only differing from Bitcoin in three ways, is one of the largest cryptocurrencies by market capitalization (in the top 5 as of the writing of this article) and is traded on such exchanges as Coinbase.

In case you are not familiar with Coinbase, Coinbase is a business headquartered in San Francisco, California. It has been founded in 2011 and operates legally under the laws of the United States. These laws are very strict and Coinbase values its reputation very highly, which is why it only offers proven coins to its users. As of the beginning of 2018, Coinbase only offers Bitcoin, Ethereum, Litecoin and Bitcoin Cash.

 

Size of Bitcoin blocks

The first reason why the Bitcoin network can only process between three and seven transactions per second is the size of the block of the bitcoin blockchain. Bitcoin Cash has a larger size of blockchain.

A block on a blockchain is similar to a page in a regular ledger. Obviously, the bigger the pages, the more information the ledger can hold. With Bitcoin, the size of the block is 1 megabyte. Bitcoin Cash has a block size that is eight time the size of the block size of Bitcoin, at 8 megabytes.

A typical Bitcoin transaction is about 250 bytes, but transactions can be larger depending on the number of inputs and outputs.

Here is an example that explains why a transaction can have a larger size. Let’s say you need to pay someone $10 but you only have $3 in your wallet. However, you also have $6 in coins of various denominations and you have a $1 bill in a drawer of your desk. All of this means that you do have the funds, it is just that getting the funds is not as simple as just pulling one bill out of your wallet. Transactions on the Bitcoin network work in a similar way. Sometimes, the network will use several inputs and outputs similarly to the example above and this is when the size of data about the transaction can become larger than the size of a typical transaction with just one input and one output.

 

Speed of block creation and what you need to know about hashes to understand how Bitcoin manages the parameter of difficulty

The second reason why the Bitcoin network can only process between 3 and 7 transactions per second is the speed with which the network creates the blocks of the blockchain. Nakamoto has decided that this speed should be around 10 minutes per block of the blockchain. This speed is one of the reasons for the existence of the parameter of difficulty on the Bitcoin blockchain.

On the Bitcoin network, miners compile transactions into the blocks of the Bitcoin blockchain. Once a miner compiles the transactions, he needs to seal them with a hash because otherwise collecting transactions into sets of data would be a trivial task for any modern computer.

A cryptography hash is a number that a cryptography algorithm generates once it processes a set of data. A hash is much shorter than the set and a cryptography algorithm can only return one hash for one set of data. Also, one of the properties of modern cryptography algorithms is that hashes for very similar sets of data are very different.

For example, the hash for a set of data (34, 5, 6, 7, 8, 9) could be m45RT and the hash for (33.99, 5, 6, 7, 8, 9) could be XX00E. Because hashes even for similar sets of data look so different, they make it easy to compare large sets of data without actually looking at the data (because each set of data under one cryptography algorithm can only have one hash). For example, you can have a set of data with 10,000 numbers. You run it through a cryptography algorithm and generate a hash. Then, you send the data to your friend and you want to make sure that the data did not get damaged on the way. All you need to do so is ask your friend to generate the hash for the data using the same cryptography algorithm that you used. If your friend sends you the same hash that you have, you know that your friend has the correct data without even looking at the data. The data on the Bitcoin network that the miners generate hashes for is the data about transactions that the miners include into the blocks of the bitcoin blockchain. The algorithm miners use is called SHA-256. It was created by the United States National Security Agency and is considered to be one of the safest cryptography algorithms in the world. This algorithm is the reason why the Bitcoin network is so secure. If someone were to change even one digit in the information about one Bitcoin transaction, then the hash for that block would be entirely different from the existing hash (because even very similar sets of data have very different hashes).