Bitcoin Forks Compared: BTC, BCH, BSV, & BSC

BSC
5 min readApr 1, 2020

--

Written by Steven M.

To help understand the upcoming Bitcoin SC hard fork, this article will compare the hard forks for Bitcoin Cash (ABC) and Bitcoin Satoshi Vision, review the technical approach and parameters for these forks, and compare with Bitcoin SC’s approach.

Intro to Hard Forks

Blockchain hard forks happen when protocol or consensus rules are updated in node software to produce blocks and transactions that are not compatible with non-updated versions of nodes. This is generally described as the software not being “backward compatible” which is a bit of a misnomer, since the new version nodes are compatible with older blocks and transactions, thus preserving the full history of a blockchain. Node software enforces the protocol change at a block height certain. What is incompatible after a hard fork is the blocks going forward. After a hard fork, the blockchain is split and exists as two blockchains with separate characteristics.

For “consensus” hard forks, where the community agrees on the updates to a blockchain, a single “official” new blockchain will continue after the hard fork, and perhaps a split chain for laggards who didn’t update in time. However, if there is developer support for both chains after a hard fork, and technology — business — community interest in supporting two versions of the blockchain, the hard fork will give two blockchains going forward.

This report compares three blockchain splits from hard forks which are shown schematically below.

This timeline shows the Bitcoin Cash split from Bitcoin was on August 1, 2017, the Bitcoin SV split from Bitcoin Cash on November 15, 2018, and BitcoinSC will split from Bitcoin in the early May time frame at a block height 630,000.

Next, consideration of some of the technical issues for these hard forks.

Block Size

Block size is an important parameter in blockchain configuration since it controls scaling for transaction capacity, transactions per second, and node requirements. Block size has been a contentious issue in the blockchain community and has been a motivating factor for past chain splits.

Table 1 — Block Size

Bitcoin launched with a 1.0 MB block size, and has retained this size although adjustments using block “weight” for SegWit transactions allow larger blocks. Bitcoin Cash launched with an initial block size of 8 MB, and hard forked in May 2018 to a size of 32 MB.

Bitcoin SV features very large blocks, launched with 128 MB, and implemented the Quasar protocol in July 2019 allowing blocks up to 2 GB.

Bitcoin SC will launch with 2.0 MB blocks and is scalable up to 32 MB size (plus the SegWit “weight” adjustment).

Another way to examine block size and TPS is to see actual usage of blocks on-chain. Blockchains are occasionally overloaded, but most run at a lesser capacity than full blocks.

getchaintxstats give some statistics for the blockchain capacity usage over the past 4,320 blocks or 30 days. Table 2 gives transactions during the last 30 days (window_tx_count) and TPS (txrate) and shows an actual usage rate over the last month of 3.4 TPS for Bitcoin, 0.5 TPS for Bitcoin Cash and 6.3 TPS for Bitcoin SV.

Table 2 — getchaintxstats

The commonly used value for Bitcoin TPS is 4, implying a transaction size of 417 bytes, and using SegWit transactions would give higher throughput. Bitcoin SC with 2 MB block size would give 2x Bitcoin TPS.

Block Height Delta

As you know, difficulty is adjusted every 2,016 blocks (~ 2 weeks) to maintain the 10-minute block spacing. In a perfect world, after splitting from the Bitcoin blockchain, the split chains would run block height roughly in sync with Bitcoin block height. However, various tweaks attempting to improve difficulty adjustment can decouple block height on the split chains.

By definition, at the hard fork block height, the main chain and split chain are exactly in sync. There are minimal practical issues with these different block heights, although it is nice when software does what you are expecting for block spacing. Perhaps the only implication for different block heights is that halvings will occur at different times, so more for reference, the approximate block height offsets are shown below.

Table 3 — Block Height Offset

Again, the practical implication of these block height offsets is that Bitcoin Cash and Bitcoin SV will reach their halvings a little over a month earlier than Bitcoin.

Bitcoin SC may use a more frequent and gentler difficulty adjustment algo, effectively tracking closer to the Bitcoin block height.

Replay Attacks

Since the addresses, private keys and coins are otherwise identical between Bitcoin and a forked chain, developers of the new split chain can add replay protection. Without replay protection, a signed transaction from one chain will validate and execute on the split chain in a “replay attack”, as Ethereum discovered in 2016.

Bitcoin Cash added replay protection in their hard fork by adding a marker so that signatures wouldn’t match between Bitcoin and Bitcoin Cash (two-way replay protection). Bitcoin SV did not initially add replay protection (for philosophical reasons). Bitcoin SC will add replay protection using a modified signature similar to Bitcoin Cash.

Opcodes and Bytecodes

Bitcoin and its forks use script opcodes for basic programming operations executed on a stack. By design, script has limited capability for safety and of the ~100 opcodes available, relatively few are used for normal transactions (pay2pubkeyhash, multi-sig, etc.).

Table 4 — Opcodes

There is a slight variation in opcodes between these projects. Table 4 shows the count in current release GetOpName() function. The Bitcoin SV count includes 16 opcodes (OP_1 — OP16) for pushing onto the stack but otherwise is in the same size range as Bitcoin and Bitcoin Cash.

Bitcoin SC, forked from Bitcoin v0.19, will include additional opcodes for interfacing with the smart contract layer, which will offer Turing-complete on-chain smart contract execution with ~100 bytecodes (e.g., a Constantinople-class virtual machine). In contrast to Bitcoin and these other forks, Bitcoin SC is a fully programmable blockchain, capable of running on-chain applications such as decentralized exchanges and DeFi solutions.

More info and sign your support for Bitcoin SC https://bsc.net/

Another kind of hard fork: American Gothic, Grant Wood, 1930

--

--