Block Chain - Bitcoin Forks and SegWit

Bitcoin forks and Segregated Witness (SegWit) are two significant developments in the Bitcoin network that have had a notable impact on its scalability, transaction capacity, and overall functionality. 

Bitcoin Forks

A fork in the context of Bitcoin refers to a divergence in the blockchain's protocol that results in two separate and independent blockchains. This can happen due to differences in the consensus rules or a change in the underlying codebase.

Forks Types

Hard Fork: A hard fork occurs when a change in the protocol is not backward compatible. It means that nodes running the older version of the software will not recognize the new rules, leading to a permanent divergence in the blockchain. The chain is split into two separate chains, and each continues with its own set of rules. Bitcoin Cash (BCH) is an example of a hard fork that occurred on August 1, 2017, when a group of developers and miners increased the block size limit from 1 MB to 8 MB.

Soft Fork: A soft fork is a backward-compatible protocol upgrade, meaning nodes running the older version of the software will still recognize and accept blocks produced under the new rules. The new rules are more restrictive than the original rules, and the blockchain remains unified. Segregated Witness (SegWit) is an example of a soft fork, which we'll discuss in the next point.

Segregated Witness (SegWit)

Segregated Witness (SegWit) is a protocol upgrade implemented as a soft fork in the Bitcoin network. It was activated on August 24, 2017, after a period of testing and community support. The primary goal of SegWit was to address the issue of transaction malleability and increase the block size limit effectively.

Key features of SegWit

Transaction Malleability Fix: Before SegWit, the structure of Bitcoin transactions allowed a third party to change the transaction ID without changing its content, creating a potential issue known as transaction malleability. SegWit solved this problem by separating the transaction signature (witness data) from the transaction data itself, making it impossible to change the transaction ID without altering the transaction.

Block Size Increase: While SegWit did not directly increase the block size limit, it changed the way transactions were stored in blocks. Signature data (witnesses) was moved outside the base transaction block, allowing for more transactions to be packed into a block. As a result, the effective block size capacity increased, leading to higher transaction throughput and lower fees.

Transaction Fee Savings: SegWit also introduced a feature called "transaction fee savings" by removing the signature data from the base transaction block. This resulted in smaller transaction sizes, leading to lower transaction fees for users.