$BCH 2017 · 28 min

Bitcoin Cash: Peer-to-Peer Electronic Cash for the World

By Bitcoin Cash Development Team

Bitcoin Cash (BCH) hard-forked from Bitcoin on August 1, 2017. It does not have its own whitepaper — the document presented here is Bitcoin's original whitepaper by Satoshi Nakamoto, which Bitcoin Cash references as the foundation of its peer-to-peer electronic cash vision.

Abstract

Bitcoin Cash is a peer-to-peer electronic cash system that forked from the Bitcoin blockchain on August 1, 2017. Created in response to Bitcoin's scaling limitations, Bitcoin Cash increased the block-size/" class="glossary-link" data-slug="block-size" title="block size">block size limit to enable greater transaction throughput and lower fees, restoring the original vision of Bitcoin as a practical medium of exchange for everyday transactions. With 32MB blocks, an adaptive difficulty adjustment algorithm, and continued protocol development, Bitcoin Cash aims to scale on-chain to serve as global peer-to-peer cash.

The Bitcoin Cash project was born from a fundamental disagreement within the Bitcoin community about how the network should scale to accommodate growing demand. While one faction advocated for off-chain scaling solutions such as the Lightning Network built atop witness/" class="glossary-link" data-slug="segregated-witness" title="Segregated Witness">Segregated Witness (SegWit), another faction argued that increasing the block size limit was the most straightforward and proven approach to scaling. When consensus could not be reached, the latter group executed a hard fork, creating a new chain that preserved Bitcoin's transaction history while implementing a larger block size limit and rejecting SegWit. This document describes the technical specifications, design philosophy, and development trajectory of Bitcoin Cash.

Introduction

The original Bitcoin whitepaper, published by Satoshi Nakamoto in 2008, described "a purely peer-to-peer version of electronic cash" that would "allow online payments to be sent directly from one party to another without going through a financial institution." This vision of Bitcoin as a medium of exchange for everyday transactions was central to its early adoption and community growth. Early Bitcoin proponents frequently cited low transaction fees and fast payments as key advantages over traditional financial systems.

However, as Bitcoin's popularity grew through the mid-2010s, a fundamental constraint began to limit its utility as electronic cash. The one-megabyte block-size/" class="glossary-link" data-slug="block-size" title="block size">block size limit, originally introduced as a temporary anti-spam measure, created an artificial ceiling on the number of transactions the network could process. As demand for block space increased, users were forced to compete for limited capacity by offering higher transaction fees. By early 2017, median Bitcoin transaction fees had risen to several dollars, making small-value transactions economically impractical. During peak congestion periods, fees could exceed twenty dollars, and transactions could remain unconfirmed for hours or even days.

This situation represented a fundamental departure from Bitcoin's original promise. A system designed to enable peer-to-peer electronic payments was becoming too expensive and too slow for the very use cases it was created to serve. While Bitcoin was increasingly positioned as "digital gold" — a store of value rather than a medium of exchange — many community members and developers believed this represented a betrayal of the project's founding principles.

Bitcoin Cash was created to resolve this crisis by taking the most direct approach to scaling: increasing the block size limit. By allowing more transactions to fit in each block, Bitcoin Cash aimed to restore low fees and fast confirmations, making peer-to-peer electronic cash practical again. The project's proponents argued that on-chain scaling was not only technically feasible but was the approach that Satoshi Nakamoto had originally envisioned, pointing to early communications in which Nakamoto discussed raising the block size limit as the network grew.

The creation of Bitcoin Cash on August 1, 2017, was one of the most significant events in cryptocurrency history. It represented the first major chain split in Bitcoin's history driven by a genuine philosophical disagreement about the protocol's future direction. The fork demonstrated that in a decentralized system, unresolvable disputes can be settled by allowing each faction to pursue its own vision independently, with the market ultimately determining the outcome.

Background: The Scaling Debate

The Bitcoin scaling debate was one of the most contentious and prolonged disputes in the history of open-source software development. At its core, the debate centered on a seemingly simple question: how should the Bitcoin network increase its transaction processing capacity? The answer to this question, however, touched on fundamental issues of governance, decentralization, technical philosophy, and the very identity of Bitcoin.

Bitcoin's block-size/" class="glossary-link" data-slug="block-size" title="block size">block size limit of one megabyte was introduced by Satoshi Nakamoto in 2010 as a temporary measure to prevent denial-of-service attacks in which an adversary could flood the network with oversized blocks. At the time, actual block usage was far below this limit, and Nakamoto suggested that the limit could be raised in the future through a simple code change. However, as Bitcoin's usage grew and blocks began to fill, raising the limit proved to be far more contentious than anyone had anticipated.

One faction, which came to be associated with the Bitcoin Core development team, argued that the block size should remain small to preserve decentralization. Their reasoning was that larger blocks would increase the computational and bandwidth requirements for running a node/" class="glossary-link" data-slug="full-node" title="full node">full node, potentially pricing out ordinary users and concentrating node operation among well-resourced entities. They proposed an alternative scaling path: witness/" class="glossary-link" data-slug="segregated-witness" title="Segregated Witness">Segregated Witness (SegWit), a protocol change that restructured transaction data to effectively increase the block's transaction capacity without raising the nominal size limit, combined with off-chain solutions such as the Lightning Network that would move most transactions off the main blockchain.

The opposing faction, which included prominent developers, miners, and businesses, argued that raising the block size limit was the simplest, most proven, and most urgent solution. They contended that the one-megabyte limit was an arbitrary constraint that had never been intended as a permanent feature of the protocol, and that the resulting fee increases and congestion were driving users and merchants away from Bitcoin. They were skeptical of SegWit's complexity and concerned that the Lightning Network, which was still largely theoretical at the time, might never deliver on its promises of cheap, instant transactions.

The debate escalated through a series of proposals and counter-proposals. Bitcoin XT, proposed by Mike Hearn and Gavin Andresen in 2015, sought to increase the block size to 8MB. Bitcoin Classic proposed a more modest increase to 2MB. Bitcoin Unlimited proposed removing the block size limit entirely, allowing miners to set their own limits through market dynamics. Each proposal generated fierce debate and none achieved the overwhelming consensus needed for a non-contentious hard fork.

Several attempts at compromise were made. The Hong Kong Agreement (February 2016) saw Bitcoin Core developers and miners agree to deploy SegWit followed by a hard fork to 2MB, but the agreement fell apart when the hard fork component was not pursued. The New York Agreement (May 2017), also known as SegWit2x, proposed activating SegWit immediately followed by a 2MB hard fork within six months. This agreement was signed by over fifty companies representing a majority of Bitcoin's hash power, but it was strongly opposed by the Bitcoin Core development team and a significant portion of the user community.

As it became clear that compromise was impossible, the big-block faction decided to act unilaterally. On August 1, 2017, they executed a hard fork of the Bitcoin blockchain, creating Bitcoin Cash with an initial block size limit of 8MB. This was not a decision taken lightly — it required splitting the blockchain, the network, the community, and the brand. But the proponents of Bitcoin Cash believed it was the only way to preserve Bitcoin's original vision as peer-to-peer electronic cash.

The Fork

The Bitcoin Cash hard fork was executed on August 1, 2017, at block-height/" class="glossary-link" data-slug="block-height" title="block height">block height 478,558. At that point, the Bitcoin blockchain split into two separate chains: the original chain, which continued as Bitcoin (BTC) with SegWit activation, and the new chain, which became Bitcoin Cash (BCH) with an increased block size limit of 8MB.

The fork was technically clean and well-planned. Every Bitcoin address that held a balance at the time of the fork received an identical balance on both chains. If a user held 1 BTC before the fork, they would have 1 BTC on the Bitcoin chain and 1 BCH on the Bitcoin Cash chain after the fork. The entire transaction history prior to block 478,558 was shared between both chains.

One of the critical technical challenges of the fork was implementing replay protection. In the absence of replay protection, a transaction broadcast on one chain could be replayed on the other chain, potentially causing users to unintentionally spend coins on both chains. Bitcoin Cash implemented strong replay protection by modifying the transaction signing algorithm. Specifically, Bitcoin Cash introduced a new SigHash flag (SIGHASH_FORKID) that is included in the hash of each transaction signature. Transactions signed with this flag are valid on the Bitcoin Cash chain but invalid on the Bitcoin chain, and vice versa. This ensured a clean separation between the two networks from the moment of the fork.

The initial block size limit for Bitcoin Cash was set at 8MB, eight times larger than Bitcoin's 1MB limit. This represented a significant increase in on-chain transaction capacity, allowing Bitcoin Cash to process substantially more transactions per block while maintaining low fees. The first Bitcoin Cash block after the fork was mined by ViaBTC mining-pool/" class="glossary-link" data-slug="mining-pool" title="mining pool">mining pool and was approximately 1.9MB in size, demonstrating the immediate practical benefit of the larger block size.

The fork also removed SegWit, which had been activated on the Bitcoin chain. The Bitcoin Cash developers rejected SegWit for several reasons: they believed it introduced unnecessary complexity to the protocol, it created a two-tier transaction system with different fee structures, and it modified the block structure in ways that they argued undermined the UTXO model's simplicity. By choosing a straightforward block size increase instead, Bitcoin Cash maintained a simpler and more traditional Bitcoin-like protocol architecture.

In the aftermath of the fork, both chains had to contend with the challenge of difficulty adjustment. Bitcoin Cash initially used the same SHA-256 difficulty from the Bitcoin chain, but with significantly less hash power devoted to mining. To prevent a scenario in which blocks were mined extremely slowly, Bitcoin Cash implemented an Emergency Difficulty Adjustment (EDA) mechanism that would decrease the difficulty by 20 percent if fewer than 6 blocks were mined in a 12-hour period. While this mechanism successfully kept the chain alive during the critical early period, it proved to be unstable, causing wild oscillations in block production times and hash rate as miners switched between Bitcoin and Bitcoin Cash based on profitability. The EDA was replaced in November 2017 with a more stable difficulty adjustment algorithm based on a moving average of the previous 144 blocks.

The fork was met with significant controversy in the broader cryptocurrency community. Critics argued that Bitcoin Cash was an illegitimate attempt to co-opt the Bitcoin brand, while supporters maintained that it was a legitimate continuation of Bitcoin's original roadmap. Exchanges and service providers had to make rapid decisions about whether to support the new chain and how to handle the distribution of forked coins to their customers. Despite the controversy, Bitcoin Cash quickly established itself as a viable and actively used cryptocurrency, achieving significant trading volume and merchant adoption in the months following the fork.

Technical Specifications

Bitcoin Cash shares the fundamental technical architecture of Bitcoin, including the SHA-256 proof-of-work consensus mechanism, the UTXO transaction model, the secp256k1 elliptic curve for digital signatures, and the ten-minute target block-time/" class="glossary-link" data-slug="block-time" title="block interval">block interval. However, several key modifications differentiate it from the Bitcoin protocol.

The most prominent difference is the block size limit. Bitcoin Cash launched with an 8MB block size limit and subsequently increased it to 32MB in May 2018. This 32MB limit provides approximately 32 times the transaction capacity of Bitcoin's effective 1MB non-witness/" class="glossary-link" data-slug="segregated-witness" title="SegWit">SegWit block size (or roughly 8 times the capacity of Bitcoin's SegWit-enhanced effective limit of approximately 4MB). The larger block size is the cornerstone of Bitcoin Cash's on-chain scaling philosophy, providing ample room for transaction growth without the fee pressure that arises when blocks are consistently full.

Bitcoin Cash does not implement Segregated Witness (SegWit). Instead of separating witness data from transaction data as SegWit does, Bitcoin Cash keeps the original Bitcoin transaction format intact. All transaction data, including signatures, is stored within the block in the traditional manner. This simplifies the protocol and maintains backward compatibility with older Bitcoin software and infrastructure.

A significant protocol enhancement in Bitcoin Cash is the improved SigHash algorithm, which was introduced at the time of the fork. The new algorithm, based on BIP 143 (which was originally developed for SegWit), fixes the quadratic hashing problem that existed in the original Bitcoin signature verification scheme. In the original scheme, the computational cost of verifying a transaction's signature grew quadratically with the number of inputs, creating a potential denial-of-service vector. The new SigHash algorithm makes verification cost linear, enabling the network to safely process larger and more complex transactions.

Bitcoin Cash supports a larger maximum transaction size and a greater number of signature operations (sigops) per block compared to Bitcoin. The sigops limit is scaled proportionally with the block size, ensuring that the computational cost of block validation remains bounded while still allowing significantly more transactions per block.

The scripting system in Bitcoin Cash has been actively developed beyond Bitcoin's comparatively conservative approach. Bitcoin Cash has re-enabled and introduced several opcodes that expand the expressiveness of its scripting language. Notable additions include OP_CHECKDATASIG and OP_CHECKDATASIGVERIFY, which allow transaction scripts to verify signatures against arbitrary data (not just transaction data), enabling oracle-based smart contracts and other advanced scripting patterns. The OP_REVERSEBYTES opcode, native introspection opcodes, and larger script and stack limits have further enhanced Bitcoin Cash's programmability.

Bitcoin Cash uses the same address format foundation as Bitcoin but adopted the CashAddr format in January 2018 to prevent confusion and cross-chain sending errors. CashAddr addresses begin with "bitcoincash:" as a prefix (often shortened to "q" or "p" for the hash portion) and use a different encoding scheme than Bitcoin's base58check format. This visual distinction makes it immediately clear whether an address belongs to Bitcoin or Bitcoin Cash, reducing the risk of users accidentally sending coins to the wrong chain.

The network operates on port 8333, the same default port as Bitcoin, though Bitcoin Cash nodes identify themselves with a different network magic number in the protocol handshake. This means that Bitcoin and Bitcoin Cash nodes will not accidentally connect to each other despite using the same port.

Transaction Throughput and Scalability

Transaction throughput and scalability are central to Bitcoin Cash's value proposition. The project's fundamental thesis is that peer-to-peer electronic cash must be able to process transactions quickly and cheaply to be viable for everyday use, and that on-chain scaling through larger blocks is the most reliable way to achieve this.

With a 32MB block-size/" class="glossary-link" data-slug="block-size" title="block size">block size limit and a ten-minute block interval, Bitcoin Cash has a theoretical maximum throughput of approximately 100 transactions per second, depending on the average transaction size. This represents a substantial increase over Bitcoin's theoretical maximum of approximately 7 transactions per second with 1MB blocks. In practice, the actual throughput depends on the mix of transaction types and sizes, but Bitcoin Cash's capacity is more than sufficient for its current transaction volume, with blocks typically well below the 32MB limit.

The abundance of available block space has a direct and measurable impact on transaction fees. When blocks are not full, there is no fee competition, and transactions can be confirmed with minimal fees. Bitcoin Cash's default minimum relay fee is 1 satoshi per byte (where 1 satoshi = 0.00000001 BCH), and most transactions are confirmed in the next block at or near this minimum. This makes Bitcoin Cash transactions cost fractions of a cent under normal conditions, compared to Bitcoin's fees which can range from dollars to tens of dollars during periods of congestion.

The Bitcoin Cash development community has conducted extensive research and testing on the limits of on-chain scaling. The Gigablock Testnet Initiative, conducted in 2017-2018, demonstrated that the Bitcoin protocol could handle blocks of 1GB or more with appropriate software optimizations and modern hardware. These tests identified several bottlenecks in the original codebase — including block propagation, transaction validation, and UTXO set management — and informed subsequent optimization efforts.

Several protocol and implementation improvements have been made to support larger blocks. Graphene, a block propagation protocol based on invertible Bloom lookup tables and Bloom filters, dramatically reduces the bandwidth required to propagate blocks by encoding only the difference between a block and the transactions a receiving node already has in its mempool. Canonical Transaction Ordering (CTOR), implemented in November 2018, requires transactions within a block to be ordered by their transaction ID. This seemingly minor change enables significant optimizations in block validation and propagation, as it allows for parallel validation of transactions and more efficient set reconciliation algorithms.

The UTXO commitment and parallel validation initiatives have further improved the network's ability to handle large blocks efficiently. By leveraging modern multi-core processors and solid-state storage, optimized node implementations can validate blocks containing tens of thousands of transactions within acceptable time frames.

Bitcoin Cash's scalability roadmap envisions further increases to the block size limit as technology and demand warrant. The project's developers have expressed a long-term goal of supporting global-scale payment volumes entirely on-chain, targeting throughput levels that would allow Bitcoin Cash to serve billions of daily transactions. While this goal is ambitious, the ongoing improvements in hardware capabilities, network bandwidth, and software optimization provide a credible path toward achieving it incrementally over time.

An important aspect of Bitcoin Cash's scaling approach is the concept of "zero-confirmation" transactions. For low-value payments, merchants can accept transactions immediately upon broadcast, before they are included in a block. Bitcoin Cash has implemented several measures to improve the reliability of zero-confirmation transactions, including the "first-seen" rule (where nodes relay only the first version of a transaction they see, making double-spend attempts more difficult) and double-spend notification protocols that alert merchants if a conflicting transaction is detected. These measures make Bitcoin Cash practical for point-of-sale transactions where waiting ten minutes for a block confirmation would be impractical.

OP_RETURN and Data Applications

Bitcoin Cash supports the OP_RETURN opcode, which allows users to embed arbitrary data in the blockchain within a transaction output that is provably unspendable. This feature enables a range of data-centric applications built on top of the Bitcoin Cash blockchain, including token protocols, messaging systems, notarization services, and social media platforms.

The OP_RETURN data limit on Bitcoin Cash has been set at 220 bytes per output, significantly larger than Bitcoin's 80-byte limit. Additionally, Bitcoin Cash allows multiple OP_RETURN outputs in a single transaction, further expanding the amount of data that can be embedded in a single transaction. These generous limits, combined with low transaction fees, make Bitcoin Cash an economically viable platform for data applications that would be prohibitively expensive on more capacity-constrained chains.

The Simple Ledger Protocol (SLP) was one of the earliest and most widely adopted token systems built on Bitcoin Cash using OP_RETURN. SLP allowed users to create and transfer custom tokens on the Bitcoin Cash blockchain by encoding token metadata in OP_RETURN outputs. While SLP has since been largely superseded by the CashTokens protocol, it demonstrated the viability of building token economies on top of the UTXO model.

CashTokens, activated in May 2023, represents a more sophisticated approach to tokenization on Bitcoin Cash. Unlike SLP, which relied on OP_RETURN metadata that could be ignored by the base protocol, CashTokens is a consensus-level feature that integrates tokens directly into the UTXO model. Each UTXO can carry both a BCH value and an associated token, with token validity enforced by the consensus rules. CashTokens supports two types of tokens: fungible tokens (similar to ERC-20 tokens on Ethereum) and non-fungible tokens (NFTs). The consensus-level enforcement means that token transactions have the same security guarantees as native BCH transactions, eliminating the trust assumptions and indexing requirements of overlay protocols like SLP.

Memo.cash is a decentralized social media protocol built on Bitcoin Cash using OP_RETURN transactions. Users broadcast posts, follows, likes, and other social actions as Bitcoin Cash transactions with encoded OP_RETURN data. Because the data is stored on the blockchain, it is censorship-resistant and permanently archived. The low transaction costs on Bitcoin Cash make this economically feasible — each social media action costs a fraction of a cent.

Other data applications on Bitcoin Cash include document timestamping and notarization services, where the hash of a document is embedded in an OP_RETURN output to create a permanent, tamper-proof record of the document's existence at a specific point in time. Supply chain tracking, credential verification, and decentralized identity systems have also been built using Bitcoin Cash's data embedding capabilities.

The combination of large OP_RETURN capacity, low fees, and fast confirmation times positions Bitcoin Cash as a competitive platform for blockchain-based data applications. While purpose-built data blockchains exist, Bitcoin Cash offers the advantage of a well-established, highly secure, and widely supported network with a proven track record of continuous operation.

Network Architecture

The Bitcoin Cash network operates on the same fundamental peer-to-peer architecture as Bitcoin, with nodes communicating via a gossip protocol to propagate transactions and blocks. Full nodes maintain a complete copy of the blockchain and independently validate all transactions and blocks according to the consensus rules. The network is permissionless, meaning that anyone can operate a node and participate in the network without authorization.

Multiple independent full node implementations exist for Bitcoin Cash, reflecting the project's commitment to decentralized development. Bitcoin Cash Node (BCHN) is the most widely used implementation and serves as the de facto reference client. Other implementations include Bitcoin Unlimited, BCHD (written in Go), and Knuth (a high-performance C++ implementation). The existence of multiple independent implementations reduces the risk of a single software bug causing a network-wide failure and ensures that no single development team has unilateral control over the protocol.

Mining on Bitcoin Cash uses the SHA-256 proof-of-work algorithm, identical to Bitcoin. This means that the same ASIC mining hardware can be used to mine either chain, and miners can switch between Bitcoin and Bitcoin Cash based on profitability. In practice, Bitcoin Cash's hash rate is a fraction of Bitcoin's, as the majority of SHA-256 mining power is directed at the more profitable Bitcoin chain. However, Bitcoin Cash's difficulty adjustment algorithm ensures that blocks are produced at the target ten-minute interval regardless of the absolute hash rate level.

The difficulty adjustment algorithm is one of Bitcoin Cash's most important protocol components. The original Bitcoin difficulty adjustment, which recalculates every 2016 blocks (approximately two weeks), was too slow to accommodate the rapid hash rate fluctuations that Bitcoin Cash experienced as miners switched between it and Bitcoin. After the problematic Emergency Difficulty Adjustment (EDA) period in 2017, Bitcoin Cash adopted a new algorithm in November 2017 that adjusted difficulty based on a 144-block moving window.

In November 2020, Bitcoin Cash upgraded to the ASERT (Absolutely Scheduled Exponentially Rising Targets) difficulty adjustment algorithm, also known as aserti3-2d. ASERT is a mathematically elegant algorithm that adjusts the difficulty target based on the difference between the actual time elapsed and the expected time since a reference block (the "anchor block"). If blocks are being produced faster than expected, the difficulty increases exponentially; if slower, it decreases exponentially. The "3-2d" designation refers to a half-life of approximately two days (specifically 288 blocks at the ten-minute target), meaning that a sustained doubling or halving of hash rate would result in a full difficulty adjustment within two days. ASERT has proven to be highly stable, producing consistent block intervals even under significant hash rate volatility.

Block propagation efficiency is critical for a network with large blocks. Bitcoin Cash has adopted several optimizations to ensure that large blocks can propagate across the network quickly. Compact Blocks (BIP 152), which allow nodes to reconstruct blocks from transaction IDs rather than full transaction data, dramatically reduce the bandwidth required for block propagation when nodes have overlapping mempools. The Graphene protocol provides even greater compression by using probabilistic data structures to achieve near-optimal block encoding. Xthinner is another compression protocol developed specifically for Bitcoin Cash that achieves approximately 99.6 percent compression for typical blocks.

The network's relay and mempool policies are designed to support reliable zero-confirmation transactions. Nodes follow a strict first-seen rule, accepting and relaying only the first version of a transaction they observe. If a second transaction attempting to spend the same inputs (a double-spend attempt) is detected, nodes will generate a double-spend proof and propagate it through the network, alerting merchants and other interested parties. This infrastructure provides a reasonable security level for accepting unconfirmed transactions for everyday, low-value payments.

Smart Contract Capabilities

While Bitcoin Cash is primarily designed as a peer-to-peer electronic cash system, it has developed significant smart contract capabilities through extensions to its scripting language. Unlike Ethereum's account-based, Turing-complete smart contract model, Bitcoin Cash smart contracts operate within the UTXO model using a stack-based scripting language that is deliberately not Turing-complete. This design provides predictable execution costs and avoids the class of vulnerabilities associated with unbounded computation, while still enabling a surprisingly rich set of programmable financial instruments.

The Bitcoin Cash scripting language has been progressively enhanced through a series of protocol upgrades. In May 2018, several opcodes that had been disabled early in Bitcoin's history were re-enabled, including bitwise logic operators (OP_AND, OP_OR, OP_XOR), arithmetic operators for larger numbers, and string manipulation operations (OP_SPLIT, OP_CAT). These restored opcodes significantly expanded the expressiveness of Bitcoin Cash scripts.

The introduction of OP_CHECKDATASIG and OP_CHECKDATASIGVERIFY in November 2018 was a particularly important advancement. These opcodes allow a transaction script to verify an ECDSA signature against arbitrary data, not just the transaction itself. This enables oracle-based contracts where an external data source signs a message attesting to some real-world condition (such as a price, weather event, or sports score), and the contract's execution depends on the content of that signed message. This capability opens the door to decentralized prediction markets, insurance contracts, and other financial instruments that depend on external data.

Native introspection opcodes, introduced in May 2022, allow transaction scripts to examine the properties of the transaction that contains them. Scripts can inspect the value, locking script, and token data of both inputs and outputs within the same transaction. This enables covenant-style contracts — scripts that restrict how coins can be spent in future transactions, not just who can spend them. Covenants enable powerful patterns such as vaults (time-locked spending restrictions for security), recurring payments, decentralized exchanges, and on-chain voting mechanisms.

CashScript is a high-level smart contract language for Bitcoin Cash, analogous to Solidity for Ethereum. CashScript allows developers to write contracts in a familiar, JavaScript-like syntax that is compiled down to Bitcoin Cash script bytecode. The language handles the complexity of UTXO-based contract design, including input/output introspection and signature verification, making it accessible to developers who may not be familiar with low-level stack-based programming. CashScript contracts have been used to build decentralized exchanges, escrow services, crowdfunding platforms, and other applications.

The CashTokens upgrade in May 2023 added another dimension to Bitcoin Cash's smart contract capabilities. By embedding fungible and non-fungible tokens directly into the UTXO model at the consensus level, CashTokens enables token-based contracts that are enforced by the network's consensus rules rather than overlay protocols. Non-fungible tokens (NFTs) in CashTokens carry a "commitment" field — arbitrary data attached to the token — that can be read and validated by smart contract scripts. This creates a mechanism for maintaining on-chain state across multiple transactions, a capability that was previously difficult to achieve in the UTXO model. Contracts can use NFTs as state carriers, updating the commitment data with each transaction to implement complex multi-step protocols.

The combination of introspection opcodes, CashTokens, and CashScript creates a smart contract platform that, while fundamentally different from Ethereum's model, is capable of implementing many of the same decentralized financial applications. Decentralized exchanges, automated market makers, lending protocols, and decentralized autonomous organizations have all been built or prototyped on Bitcoin Cash. The UTXO-based approach offers advantages in terms of parallelization (UTXOs can be validated independently), privacy (each UTXO is independent), and predictability (no global state to contend with), though it requires different design patterns than account-based systems.

Monetary Policy

Bitcoin Cash inherits Bitcoin's monetary policy in its entirety. The total supply of Bitcoin Cash is capped at 21 million coins, and the issuance schedule follows the same halving mechanism as Bitcoin. This shared monetary policy is a direct consequence of the fork: because Bitcoin Cash split from the Bitcoin blockchain, it began with the same issuance history and continues with the same future issuance rules.

The block-reward/" class="glossary-link" data-slug="block-reward" title="block reward">block reward started at 50 BCH per block (inherited from Bitcoin's genesis parameters) and halves every 210,000 blocks, approximately every four years. The first halving occurred in November 2012 (before the fork, so this is shared history), reducing the reward to 25 coins. The second halving in July 2016 reduced it to 12.5 coins. The third halving in April 2020, which occurred after the fork and thus was specific to the Bitcoin Cash chain, reduced the reward to 6.25 BCH. The fourth halving in April 2024 further reduced it to 3.125 BCH per block.

This halving schedule creates a disinflationary monetary policy in which the rate of new coin creation decreases over time, approaching zero asymptotically. The final Bitcoin Cash coin is expected to be mined around the year 2140. At that point, miner revenue will consist entirely of transaction fees.

The 21 million supply cap and halving schedule give Bitcoin Cash the same scarcity properties as Bitcoin. The circulating supply as of early 2026 is approximately 19.8 million BCH, representing over 94 percent of the total supply that will ever exist. The remaining coins will be distributed over more than a century of diminishing block rewards.

Bitcoin Cash's approach to the transition from block rewards to fee-based miner compensation differs from Bitcoin's strategy. Bitcoin's scaling philosophy, which constrains block space to maintain a fee market, implicitly relies on high per-transaction fees to compensate miners as block rewards diminish. Bitcoin Cash takes the opposite approach: by keeping fees low and blocks large, the network aims to generate sufficient total fee revenue through high transaction volume rather than high per-transaction fees. In this model, if each transaction pays a fee of one cent but the network processes millions of transactions per block, the aggregate fee revenue can still be substantial enough to incentivize mining.

This volume-based fee model requires that Bitcoin Cash achieves significantly higher transaction throughput than Bitcoin to provide equivalent miner incentives in the post-subsidy era. Proponents argue that this is achievable through continued on-chain scaling, as global payment demand is enormous and even a modest share of worldwide transactions would represent millions of payments per day. Critics counter that achieving this level of adoption is uncertain and that the low-fee model may create insufficient incentives during the transition period.

The shared monetary policy between Bitcoin and Bitcoin Cash means that the two chains are in direct competition for SHA-256 mining hash power. Miners allocate their resources to whichever chain is more profitable at any given time, and the difficulty adjustment algorithms on both chains accommodate this fluid allocation. In practice, Bitcoin Cash's share of the total SHA-256 hash rate has been proportional to its relative price, reflecting the rational economic behavior of profit-maximizing miners.

Conclusion

Bitcoin Cash represents a principled continuation of the original Bitcoin vision as peer-to-peer electronic cash. By increasing the block-size/" class="glossary-link" data-slug="block-size" title="block size">block size limit and pursuing on-chain scaling, Bitcoin Cash has maintained the low fees and fast transactions that characterized early Bitcoin, making it practical for the everyday payments and microtransactions that the original whitepaper envisioned.

The project's technical trajectory has been marked by thoughtful and consequential protocol improvements. The ASERT difficulty adjustment algorithm provides stable block production under volatile hash rate conditions. The enhanced scripting language, with restored and new opcodes, enables sophisticated smart contracts within the UTXO model's safety constraints. CashTokens brings consensus-enforced tokenization to the Bitcoin protocol for the first time. CashScript makes these capabilities accessible to a broad developer community. Together, these advances demonstrate that the UTXO model can support a rich ecosystem of decentralized applications while maintaining its fundamental simplicity and security properties.

The scaling debate that led to Bitcoin Cash's creation highlighted a fundamental tension in decentralized systems: the trade-off between on-chain capacity and the cost of operating full nodes. Bitcoin Cash has chosen to prioritize transaction capacity and user experience, arguing that the economic benefits of widespread adoption and usage outweigh the increased hardware requirements for node operators. This is an empirical question whose answer will unfold over the coming years and decades as both Bitcoin and Bitcoin Cash continue to evolve along their respective paths.

Bitcoin Cash's survival and continued development through multiple bear markets, contentious forks (notably the Bitcoin SV split in November 2018), and sustained community effort demonstrates the resilience of the project and the conviction of its participants. The network has processed hundreds of millions of transactions since the fork, maintained continuous operation, and attracted a global community of developers, merchants, and users who share the belief that peer-to-peer electronic cash is a technology worth building.

The long-term success of Bitcoin Cash depends on its ability to attract users and merchants who value low-fee, reliable transactions, and to scale its infrastructure to meet the demands of a global payment network. The technical foundations are sound, the roadmap is clear, and the community is committed. Whether Bitcoin Cash ultimately achieves its ambitious goal of serving as electronic cash for the world will be determined not by technical limitations but by the network effects, market dynamics, and adoption patterns that govern the evolution of all monetary systems.

Frequently Asked Questions

What is the Bitcoin Cash whitepaper?
Bitcoin Cash (BCH) forked from Bitcoin on August 1, 2017, to restore the original vision of peer-to-peer electronic cash. It increased the block size from 1MB to 32MB to enable more transactions per second and lower fees.
How is Bitcoin Cash different from Bitcoin?
Bitcoin Cash supports 32MB blocks (vs Bitcoin's ~4MB with SegWit), does not use Segregated Witness, and implements the ASERT difficulty adjustment algorithm for more stable block times. It prioritizes on-chain scaling for everyday payments.
Who created Bitcoin Cash and when?
Bitcoin Cash was created on August 1, 2017, through a hard fork of Bitcoin. Key proponents included Roger Ver and the Bitcoin ABC development team, who advocated for larger blocks to increase transaction capacity and reduce fees.
What is Bitcoin Cash's core technical approach?
Bitcoin Cash pursues on-chain scaling by increasing block size rather than relying on off-chain solutions like the Lightning Network. Its 32MB blocks can process over 100 transactions per second, compared to Bitcoin's ~7 TPS.
How does Bitcoin Cash's consensus work?
Bitcoin Cash uses SHA-256 proof-of-work like Bitcoin, with the ASERT (Absolutely Scheduled Exponentially Rising Targets) difficulty adjustment algorithm that recalculates difficulty every block for more responsive adjustments.
What is Bitcoin Cash's supply model?
Bitcoin Cash has the same supply model as Bitcoin: a 21 million coin hard cap with block rewards halving approximately every 210,000 blocks (~4 years). BCH follows the same halving schedule since it shares Bitcoin's genesis block.
What are Bitcoin Cash's primary use cases?
Bitcoin Cash focuses on being a medium of exchange for everyday transactions. Its low fees (typically under $0.01) and fast confirmations make it suitable for point-of-sale payments, remittances, and microtransactions.
What problem does Bitcoin Cash solve?
Bitcoin Cash addresses Bitcoin's scalability debate by choosing larger blocks for higher throughput. It aims to fulfill the original Bitcoin whitepaper vision of 'peer-to-peer electronic cash' with fees low enough for daily transactions.
How does Bitcoin Cash's security model work?
Bitcoin Cash uses SHA-256 proof-of-work, sharing the same mining algorithm as Bitcoin. However, BCH has significantly less hash power than BTC, making it more vulnerable to 51% attacks. The ASERT difficulty adjustment helps maintain stable block production.
What is the current state of the Bitcoin Cash ecosystem?
Bitcoin Cash maintains an active ecosystem focused on merchant adoption and payments. It supports CashTokens (fungible and NFT tokens), CashFusion for privacy, and is accepted by numerous merchants worldwide through payment processors like BitPay.