• Bitcoin Cash (BCH) is a peer-to-peer electronic cash system, which aims to enable .

  • Bitcoin Cash originated from an upgrade proposal of Bitcoin, that increased the maximum block size from 1 megabyte to 8 megabytes, which ultimately led to a hard-fork on August 1st, 2017 . Since then, additional changes have been approved, such as a new difficulty adjustment algorithm, the support of new opcodes, Schnorr Signatures, and further extensions in the block size.

  • Bitcoin Cash uses the same SHA-256d-based Proof-of-Work consensus mechanism as Bitcoin. Bitcoin Cash also has a target block time of 10 minutes, and its total supply is capped at 21 million.

  • On November 16th 2018, the Bitcoin Cash blockchain withstood another hard-fork, which resulted in a chain split into Bitcoin Cash SV and Bitcoin Cash ABC. Since then, Bitcoin Cash ABC has commonly used the BCH ticker and referred to as Bitcoin Cash.

  • The Bitcoin Cash network has protocol upgrades twice a year, on November 15th and May 15th. These upgrades are required for all node operators . For instance, on May 15th 2018, Bitcoin Cash upgraded to increase its block size to 32 megabytes.

1. What is Bitcoin Cash (BCH)?

Similar to Bitcoin, Bitcoin Cash is a blockchain secured by a Proof-of-Work algorithm:

  • Bitcoin Cash is a peer-to-peer cryptocurrency powered by SHA-256dProof-of-Work (PoW) algorithm. It is forked from the original Bitcoin protocol to increase the network block size from 1 megabyte to 8 megabytes.

  • A Proof-of-Work algorithm creates a computational challenge to be solved by the network of computers to verify a block of transactions: this process is called mining. Miners are rewarded by transaction fees (paid by participants for network operations) and the block rewards, which are generated from inflation.

  • Bitcoin Cash has a target block time of 10 minutes and a total maximum supply of 21 million. BCH tokens are produced when the block producer generates a new valid block.

  • Bitcoin Cash’s emission rate halves every 210,000 blocks, or approximately every 4 years. Bitcoin Cash’s block mining reward has been 6.25 BCH per block since April 9th 2020.

However, unlike Bitcoin, it has evolved and features specific functions and additional applications:

  • Dynamic difficulty adjustment: unlike Bitcoin’s difficulty adjustment (~14 days), Bitcoin Cash relies on a dynamic difficulty adjustment algorithm that re-assesses the difficulty at every block.

  • Smart-contract support: it is possible to deploy smart contracts on the blockchain.

  • Token issuance support: with the Simple Ledger Protocol (SLP), it is possible to issue and transfer fungible & non-fungible tokens, which are secured by the Bitcoin Cash blockchain.

2. Bitcoin Cash’s key features

2.1 Nakamoto consensus (shared with Bitcoin)

Bitcoin Cash uses the same consensus mechanism as Bitcoin, in which anyone can join the network and become a bookkeeping service provider, or validator. All validators are allowed in the race to become the block producer for the next block, yet only the first to complete a computationally heavy task will win. This feature is called Proof-of-Work (“PoW”).

The probability of any single validator to finish the task first is equal to the percentage of the total network computation power (or hash-power ) the validator has. For instance, a validator with 5% of the entire network computation power has a 5% chance of completing the task first and therefore becoming the next block producer.

Since anyone can join the race, competition is never fixed. In the early days, Bitcoin mining was mostly done by personal computer CPUs. Yet today, most bitcoin validators, or miners, have opted for dedicated and more powerful devices such as ASIC-based machines. The idea behind PoW is that the one who produces a block must have spent resources external to the network (i.e., money to pay electricity) and can provide proof to other participants that they did so. With various miners competing for block rewards, it becomes difficult for one single malicious party to gain network majority (defined as more than 51% in the Nakamoto consensus mechanism). The ability to rearrange transactions (alter the immutability of the blockchain) via 51% attacks indicates another feature of every Nakamoto consensus: the finality of transactions is only probabilistic.

Once a block is produced, it is then propagated by the block producer to all other validators to check on the validity of all transactions in that block. The block producer will receive rewards in the network’s native currency (i.e., bitcoin) as all validators approve the block and update their ledgers. Since April 9th 2020, the current block mining reward has been 6.25 BCH/block.

2.2 UTXO model (shared with Bitcoin)

A UTXO transaction works like cash payment between two parties: Alice gives money to Bob and receives change (i.e., unspent amount). In comparison, blockchains like Ethereum rely on the account model.

2.3 Schnorr signatures

Elliptic Curve Digital Signature Algorithm (“ECDSA”) signatures have historically been used to sign transactions on the Bitcoin protocol.

However, many developers have advocated for replacing ECDSA with Schnorr Signatures. This has been approved on Bitcoin Cash since May 2019 while it remains in discussion for Bitcoin.

Schnorr Signatures allow multiple parties to collaborate in producing a signature that is validfor the sum of their public keys, making it particularly beneficial for the overall network scalability.

With ECDSA, when multiple addresses wish to conduct transactions to a single address, each transaction requires their own signature.

With the use of a Schnorr Signature mechanism, all these signatures can be combined into one. Therefore, the network is able to store more transactions in a single block.

In addition, the reduced size in signatures implies a reduced cost of transaction fees. The group of senders can split the transaction fees for that one group signature, instead of paying for one personal signature individually.

Schnorr Signatures also improve on the network’s privacy and token fungibility. For instance, a third-party observer is not able to detect if a user were sending a multi-signature transaction since the signature would be in the same format as a single-signature transaction.

Full specification for the implementation on Bitcoin Cash can be found here.

2.4 Adjusted difficulty adjustment algorithm (DAA)

Unlike Bitcoin, Bitcoin Cash’s difficulty adjustment algorithm (DAA) has been changed since August 1st 2017.

Prior to the hard-fork, most of the hashpower was pointed at Bitcoin, resulting in Bitcoin Cash having a minority of the total initial hashrate. As a consequence, Bitcoin Cash developers introduced the Emergency Difficulty Adjustment (EDA) algorithm to prevent block times from being very long, which would render the network inoperable (slow to use). With the mining difficulty being re-adjusted every 14 days for the initial bitcoin protocol, the hashpower dedicated to Bitcoin Cash would have been too low in order to mine blocks at bitcoin’s initial difficulty level within a reasonable amount of time (compared to the target block time of 10 minutes).

The Emergency Difficulty Adjustment (EDA) algorithm reduced the difficulty of Bitcoin Cash by -20% if the time difference between the previous 6th block and the previous 12th block was more than 12 hours.

While the EDA initially solved the problem of long block times, it introduced large oscillations in difficulty, causing the Bitcoin Cash blockchain to run ahead by thousands of blocks relative to Bitcoin.

As a response, the initial Emergency Difficulty Adjustment was discontinued and replaced by a new difficulty adjustment algorithm (DAA) on November 13rd 2017 to address this “difficulty volatility”.

Unlike Bitcoin’s DAA, Bitcoin Cash’s DAA adjusts the mining difficulty after each block. It calculates the difficulty at each new block based on a moving average window of the last 144 blocks.

2.5 Smart-contract and token support layers

Smart contracts (Cashscript)

Companies backing Bitcoin Cash (e.g., Bitcoin.com) have been expanding Bitcoin Cash’s scope of supported services. For instance, Bitcoin Cash developers can utilize smart contract languages to support more complex functions than just basic transactions on the network.

One smart contract language available to developers is Cashscript. Cashscript is inspired by Ethereum’s Solidity, and aims to allow users to ”. An example of contracts can be found here.

Token issuance (Simple Ledger Protocol)

The Simple Ledger Protocol has been the most popular protocol to issue tokens.

SLP transactions exist within a particular output known as OP_RETURN, which is a part of a standard transaction in the bitcoin protocol. If Alice wants to send Bob some tokens, she needs to send a minimal amount of BCH: the transaction will also contain the data required to transfer the tokens from Alice to Bob.

Token addresses are called “SLP Addr”, which are similar to CashAddr (an alternative way of displaying Bitcoin Cash addresses to prevent confusion from Bitcoin addresses).

The Simple Ledger Protocol supports both fungible and non-fungible tokens with different degrees of decimal precision, fixed supply, and whether it is mintable after the issuance.

The genesis transaction to issue a new token must include properties, metadata, and the initial mint quantity of the token. In short, the SLP supports multiple types of transactions: genesis, mint, send, and commit operations.

While the Simple Ledger Protocol remains in its early stage, Tether, the largest stablecoin issuer, announced its plans to issue new USDT on the Simple Ledger Protocol, heightening its support to new blockchains.

3. Economics and supply distribution

As discussed previously, Bitcoin Cash utilizes the Nakamoto consensus and nodes validate blocks via Proof-of-Work mining. From the perspective of miners, fees are a combination of transaction fees and block reward fees (generated from inflation).

Bitcoin Cash has a maximum supply of 21 million. After the hard-fork in August 2017, owners of Bitcoin were able to claim BCH at a pro-rata rate of their holdings. Similarly, other chain splits such (as the BCH/BSV hard-fork) allowed miners to claim their holdings on both chains.

Bitcoin Cash follows the same block reward halving schedule as Bitcoin. Since the target time for block production on the Bitcoin Cash blockchain is 10 minutes, it implies that Bitcoin Cash block reward halvings are bound to take place every ~4 years. As a result, the last new BCH ever mined will likely be around 2140. After that, transaction fees will be the only direct revenue source for miners.

Due to their distinct patterns in past difficulty adjustments, halvings amongst Bitcoin forks do not occur at the same time. For instance, Bitcoin Cash’s 2020 halving occurred much earlier than Bitcoin’s third halving.

4. Project team

The Bitcoin Cash fork from Bitcoin was supported by some of the critical members of the crypto community, including Jihan Wu (Bitmain) and Roger Ver (Bitcoin.com).

Later in 2018, a faction within the Bitcoin Cash community, supported by Craig Wright and Calvin Ayre, led to another contentious hard-fork, with a permanent chain-split. It ultimately led to the creation of Bitcoin Satoshi Vision (“Bitcoin SV”). This event was referred to as the “hash-war”.

Since its creation, the Bitcoin Cash project has been maintained by core developers and contributors from the community.

5. Additional resources