In the recent past, Bitcoin is regarded as one of the most incredible technological innovations. As it faced a lot of criticism and debates owing to its issues of scalability and performance, Bitcoin gave birth to Bitcoin Cash on 1 August 2017. In the simplest of terms, Bitcoin Cash is a cryptocurrency. It was developed by a team of developers by preparing a code change to increase the block size limit of Bitcoin. This change was termed as a ‘hard fork.’ It refers to a radical change to the protocol, which makes the previously invalid transactions or blocks valid and vice-versa. A fork happens in a cryptocurrency when it is declared that a blockchain is being transferred to a new set of network infrastructure and rules.
Let us now move on to understand what Bitcoin Cash is.
What Is Bitcoin Cash?
The Bitcoin Cash Project website defines Bitcoin Cash as an electronic peer-to-peer cash system for the internet. It is fully decentralized, not controlled by any central bank, and does not require trusted third parties to operate. The primary motive of Bitcoin Cash is to scale Bitcoin-style transactions by increasing the size of the blocks. These bigger blocks will be able to process more transactions, thereby increasing the business flow through the system.
Though it is similar to Bitcoin, some of the aspects in which it differs are:
- Block Size- 8MB, whereas that of Bitcoin is 1 MB.
- It will not have Segwit. Segwit, the shortened form of Segregated Witness, is a protocol upgrade, which changes the way data is stored.
- It will not have the feature of ‘replace by a fee.’
- It will have a replay and wipeout protection.
- Proof-of-Work difficulty can be adjusted, which is higher than the normal 2016 block difficulty adjustment interval of Bitcoin.
What Is Ethereum?
Ethereum is a global, decentralized platform which helps write code to control money and build applications which can be accessed from across the globe. It is a software platform based on blockchain technology which lets developers build and deploy decentralized applications. It is a distributed public blockchain network. It is a computing platform which produced the cryptocurrency token ‘Ether.’ Vitalik Buterin is the founder of Ethereum. Ether started trading in July 2015. It is considered the second-most valuable digital currency after Bitcoin. In 2016, Ethereum forked into Ethereum Classic (ETC) and Ethereum (ETH).
Let us now analyze the specific differences between Bitcoin Cash and Ethereum.
1. Preventing Replay Attacks
A replay attack is a data transmission, which is delayed or maliciously repeated. In a blockchain, it can be explained as one where a transaction which happens in one blockchain is taken from there and maliciously repeated in another blockchain. For example, though Alice only wants to send 5 BTC (Bitcoin) to Bob, she will also send 5 BCH (Bitcoin Cash).
How Bitcoin Cash prevents replay attacks?
It uses a redefined sighash algorithm. This is used only when the sighash flag has a bit 6 set. Another method it applies against replay attacks is by using OP_RETURN output. This has the string “Bitcoin: A Peer-to-Peer Electronic Cash System” as data. Any transaction with this string is considered invalid by bitcoin cash nodes until the 5,30,000th block.
How Ethereum prevents replay attacks?
The addresses in the testnet of Bitcoin use a different prefix from other addresses in the mainnet; it will have different keys. This is how Bitcoin prevents replay attacks. Ethereum currently does not have any prefixes. So, a transaction signed by a key on one Ethereum blockchain is valid on all the other Ethereum networks. In the case of “testing,” when funds are sent from accountB to accountTest, the same transaction can be replayed on the public Ethereum blockchain. If accountB has funds on the blockchain, the replay attack will succeed. To fully succeed in stealing the funds, an attacker needs to know the private key of accountTest. Ethereum uses different keys/addresses between the frontier network and other Ethereum blockchains to avoid a replay attack.
2. Consensus Algorithms
A consensus algorithm is a computer science process used to achieve agreement on a single data value among distributed systems or processes. It helps achieve reliability in a network.
Avalanche protocol is a robust consensus mechanism which contains proofs of the properties of Byzantine Fault Tolerance (BFT). Using both proof-of-work and avalanche algorithms will provide Bitcoin Cash with immense benefits. In the avalanche consensus, a network of nodes can communicate in real-time and reach a reliable consensus. The avalanche protocol arrives at a consensus using a ‘chatty’ communication process with the peers. For a node to be confident that it is following the correct network consensus, it needs to communicate with other nodes for a while. Avalanche operates like an instant messaging system. It excels in speed as it can arrive at a reliable consensus within a short period. As long as correct nodes are connected to the network, the consensus will never change. Its message client is always switched on and it is resilient to attacks. All the members present in the group message take decisions in an instant.
Currently, Ethereum uses the Proof-of-Work consensus system. Here, individuals are awarded Ether native tokens for mining activities. The quickest individual to solve each block with the highest level of computing power is granted the reward. It is used to confirm transactions and produce new blocks on the chain. It is used in many projects in the Ethereum platform. It provides a low impact of stake on mining possibilities. It also defends the network from DDoS (Distributed Denial-of-Service) attacks. As it is highly expensive and uses more computing power, Ethereum is now pursuing a switch from the PoW to the PoS system, as it is more secure and energy-efficient.
3. Programming Languages
The coding language of Bitcoin Cash Protocol is Spedn. It is specially designed for BCH-based smart contracts. It is a high-level smart contract language which is explicit and safe, detects many errors at compile-time, purely functional without side effects, and has a syntax similar to C.
Ethereum uses Solidity, which is an object-oriented programming language used to write smart contracts (self-executing contracts). It is a computer protocol used to verify, facilitate, and enforce the performance or negotiation of a contract. Transactions done on a smart contract can be tracked and reversed. These allow performing credible transactions without involving third parties.
While these were some of the specific distinction points of Bitcoin Cash and Ethereum, let’s go through some of the general differences between the two.
- Bitcoin Cash is meant to be a form of payment, whereas Ethereum is meant to be a supercomputer as it aims to support everything from games to tokens to social networks.
- Ethereum is more popular than Bitcoin Cash as the number of transactions and unconfirmed transactions exceed that of Bitcoin Cash.
- For Bitcoin Cash, success means getting more merchants and consumers to use and accept BCH actively. For Ethereum, its success relies on getting more people to develop decentralized applications, participate in Initial Coin Offerings (ICOs), and exchange tokens.
- In Bitcoin Cash, miners charge a minimum transaction fee for each transaction. More the transaction fees, the faster the transactions will be processed. In Ethereum, there are no transaction fees. It uses a Gas system which is a unit used to measure the computational effort which will be taken to execute certain operations.
Bitcoin Cash is one among the marvels of the Bitcoin bubble. Though the future of Bitcoin Cash and its long-term repercussions are unknown, it is certainly an interesting experiment which will teach us a few valuable lessons moving forward. The block size of 8 MB is definitely an alluring aspect and its outcomes to the miners still remain to be seen.