Bitcoin Forks and SegWit

In this section, we are going to learn about the bitcoin forks and Segregated Witness (SegWit). Let us first discuss what Bitcoin Forks is.

Bitcoin Forks

A fork is a change to the digital currency software which creates two different paths of the blockchain with a shared history. The forks can be temporary, or lasting for a few minutes, or can be permanent.

There are many reasons why a fork happens. The changes made to the bitcoin software can require either a Soft Fork or Hard Fork.

Soft Fork

A soft fork introduces a change which is backwards compatible with the previous version. It means there is no need to upgrade the older version of the bitcoin software necessarily. The users who are running the older version of the software will still recognize new blocks created by computers. It is called soft because both groups of users(old and new users) will continue to mine new blocks on the same blockchain. As they remain part of the same network, a soft fork will never result in the formation of a new digital currency.

A soft fork is considered complete when the majority of nodes in the bitcoin network have updated their software. If this doesn’t happen, the minority group may eventually decide to abandon the proposed update or move to implement a hard fork instead.

Hard Fork

A hard fork introduces a change that forces everyone to upgrade the software. The hard fork is not backwards compatible with older versions of the software. The users who are running the older version of the software in the Bitcoin network needs to upgrade their software to recognize new blocks.

As a result, hard forks lead to a split in the blockchain network with a group of users to form a cryptocurrency. The new network takes an exact copy of the blockchain as it was at the point of the split, and after that, both versions remain separate. Users who owned bitcoin at the time of the split can often claim new coins on the forked network.

Segregated Witness

The concept of Segregated Witness is invented by Pieter Wuille, who is a part of the bitcoin core development team since 2011. SegWit(Segregated Witness) is a protocol upgrade that changes the structure of bitcoin transaction data. It was activated on bitcoin on 23 August 2017 and characterized as a soft fork in the bitcoin chain, and then it has been widely accepted by bitcoin miners and users.

The segregated witness improves the scalability of bitcoin without increasing the block size. If it is activated, then it will fixed transaction malleability. It does this by allowing transaction-producing software to separate transaction signatures from the part of the data in a transaction that is covered by the transaction id and storing it outside the base transaction block.

The soft fork that was represented for segregated witness does not require upgrading to remain on the blockchain. It means that if miners have not upgraded the segregated witness can still remain on the blockchain. They won’t have access all the functionality that segregated witness can provide and also being able to participate in segregated witness transaction. However, they would still be able to validate the block that does not include the segregated witness information in them.

Now, we analyze about the segregated witness. To do this, let us first understand the contents of the bitcoin transaction. There are three main components of the bitcoin transaction. They are

  1. Input: Where the coin/funds are coming from.
  2. Amount: How many bitcoins are coming from the source.
  3. Output: Where that bitcoin are actually headed.

A transaction is very similar to a bank check, which contains inputs, amount, and output. For the transaction to happen, someone who has bitcoin needs to sign that transaction. The signature makes sure that your bitcoin cannot be used by someone who is not authorized. It is because you have the private keys that can be controlled by you only.

Now in SegWit transaction, the digital signature needs to be segregated from the transaction data. It would increase the 1 MB limit for block sizes. The digital signature freezes up about 60-65% of the space in a given transaction. SegWit transaction ignores the data attached to a signature by pulled out the signature from within the input and moving it to a structure towards the end of a transaction. It also solves the problem where a receiver could intercept and modify the sender’s transaction ID to get more coins from the sender. Since the digital signature would be detached from the input, the unauthorized party would have no way of changing the transaction ID without also nullifying the digital signature.

Blockchain Bitcoin Cash

Bitcoin Cash is peer-to-peer electronic cash for the Internet. It is fully decentralized, with no central bank, and do not require any trusted third parties to operate.

Bitcoin Cash is a cryptocurrency developed from a hard fork of the bitcoin network. It came in existence from the mid of 2017. Bitcoin Cash is different from Bitcoin. It is the upgraded version of the bitcoin core software. It is fastercheaper and more reliable to use. It increases the block size of bitcoin from 1 MB to 8 MB and allowing for around two million transactions to be processed per day.

How Bitcoin Cash came in existence?

The Bitcoin blockchain is a constantly updated ledger, and all transactions that take place on the bitcoin network are listed there. In the bitcoin network, the first transaction block took place on January 2009, and each new blocks are added to this Bitcoin blockchain approximately every 10 minutes. The bitcoin protocol ensures that every single block which gets added to the blockchain is valid and conforms to the rules of bitcoin. Furthermore, each block that is added in the blockchain contains a cryptographic hash of the previous block.

On August 1st, 2017, at block number 478,558, there was a split. The ViaBTC pool produced a 1.9 MB block which is not valid on the legacy Bitcoin network because bitcoin has a 1 MB limit. This new block did not have the 1 MB limit, and instead, it included 1.9 MB. It causes a split which resulted in the creation of Bitcoin Cash. The computers that are mining Bitcoin Cash have a protocol that limits the block size at 8 MB rather than 1 MB.

What is a Bitcoin Hard Fork?

A fork takes place when a blockchain splits into two different paths forward. In the case of bitcoin hard fork, to make transaction speeds faster on the network, one group(miners) within the bitcoin community wanted to increase the size of blocks on the bitcoin blockchain. As a result, the bitcoin blockchain may split into two different versions, resulting in two different chains with a separate coin in each one which gives birth of Bitcoin Cash.

As you can see in this diagram, there is a split that takes place on the network and essentially creates a new Blockchain with altered rules. The original and the forked version of the cryptocurrency had identical blockchains up to the block when the split occurred. After the split happened, everyone who held bitcoins before the hard fork, received the same amount of Bitcoin Cash tokens.

Blockchain Bitcoin Cash

What differs Bitcoin Cash from other Cryptocurrencies?

  1. Bitcoin Cash is based on the Bitcoin original source code with the difference of bigger blocks (8MB) size.
  2. In contrast to Bitcoin, bitcoin cash does not focus on becoming a store of value. Instead, its main aims are to be used for digital payments only.

Blockchain Double Spending

Double spending means spending the same money twice. As we know, any transaction can be processed only in two ways. One is offline, and another is online.

Offline: A transaction which involves physical currency or cash is known as an offline transaction.

Online: A transaction which involves digital cash is known as an online transaction.

Let us consider this example:

You go to Restaurants and order a cappuccino worth $5. You pay in cash. The service provider at Restaurants instantly confirmed that you have paid, and you received your coffee in exchange for the money. Now is it possible to spend the same $5 somewhere else to make another purchase? The answer is NO. But what if the answer is YES? It means the same person can use the same cash more than one times. This type of problem is known as Double Spending Problem.

Blockchain Double Spending

In a physical currency, the double-spending problem can never arise. But in digital cash-like bitcoin, the double-spending problem can arise. Hence, bitcoin transactions have a possibility of being copied and rebroadcasted. It opens up the possibility that the same BTC could be spent twice by its owner.

How Bitcoin handles the Double Spending Problem?

Bitcoin handles the double-spending problem by implementing a confirmation mechanism and maintaining a universal ledger called blockchain.

Let us suppose you have 1 BTC and try to spend it twice. You made the 1 BTC transaction to Alice. Again, you sign and send the same 1 BTC transaction to Bob. Both transactions go into the pool of unconfirmed transactions where many unconfirmed transactions are stored already. The unconfirmed transactions are transactions which do not pick by anyone. Now, whichever transaction first got confirmations and was verified by miners, will be valid. Another transaction which could not get enough confirmations will be pulled out from the network. In this example, transaction T1 is valid, and Alice will receive the bitcoin.

Blockchain Double Spending

What happened if both the transactions are taken simultaneously by the miners?

Suppose two different miners will pick both transactions at the same time and start creating a block. Now, when the block is confirmed, both Alice and Bob will wait for confirmation on their transaction. Whichever transaction first got confirmations will be validated first, and another transaction will be pulled out from the network.

Now suppose if both Alice and Bob received the first confirmation at the same time, then there is a race will be started between Alice and Bob. So, whichever transaction gets the maximum number of confirmations from the network will be included in the blockchain, and the other one will be discarded.

Limitation of Blockchain Technology

Blockchain technology has enormous potential in creating trustless, decentralized applications. But it is not perfect. There are certain barriers which make the blockchain technology not the right choice and unusable for mainstream application. We can see the limitations of blockchain technology in the following image.

Limitation of Blockchain Technology

Lack of Awareness

There is a lot of discussion about blockchain, but people do not know the true value of blockchain and how they could implement it in different situations.

Limited availability of technical talent

Today, there are a lot of developers available who can do a lot of different things in every field. But in the blockchain technology, there are not so many developers available who have specialized expertise in blockchain technology. Hence, the lack of developers is a hindrance to developing anything on the blockchain.

Immutable

In immutable, we cannot make any modifications to any of the records. It is very helpful if you want to keep the integrity of a record and make sure that nobody ever tampers with it. But immutability also has a drawback.

We can understand this, in the case, when you want to make any revisions, or want to go back and make any reversals. For example, you have processed payment and need to go back and make an amendment to change that payment.

Key Management

As we know, blockchain is built on cryptography, which implies that there are different keys, such as public keys and private keys. When you are dealing with a private key, then you are also running the risk that somebody may lose access to your private key. It happens a lot in the early days when bitcoin wasn’t worth that much. People would just collect a lot of bitcoin, and then suddenly forgot what the key was, and those may be worth millions of dollars today.

Scalability

Blockchain like bitcoin has consensus mechanisms which require every participating node to verify the transaction. It limits the number of transactions a blockchain network can process. So bitcoin was not developed to do the large scale volumes of transactions that many of the other institutions are doing. Currently, bitcoin can process a maximum of seven transactions per second.

Consensus Mechanism

In the blockchain, we know that a block can be created in every 10 minutes. It is because every transaction made must ensure that every block in the blockchain network must reach a common consensus. Depending on the network size and the number of blocks or nodes involved in a blockchain, the back-and-forth communications involved to attain a consensus can consume a considerable amount of time and resources.

Blockchain DAO

The DAO stands for Decentralized Autonomous Organization. As the name implies, it is an organization which is both autonomous and decentralized. Sometimes, it is also known as Decentralized Autonomous Corporation (DAC), but the term DAO is more often used because not all organizations are corporations.

A DAO is an organization which is represented by rules encoded as a computer program that is transparent, controlled by shareholders, and not influenced by the central government. A DAO is the most complex form of a smart contract. A smart contract is a computer program that autonomously exists on the internet, but at the same time, it needs people to perform a task that it can’t do by itself.

A DAO’s financial transaction record and program rules are maintained on a blockchain. Since DAO runs on a blockchain, and it’s running on a distributed network, you can have multiple combinations of different parties exchanging value and reaching agreements. It means that, to a Decentralized Autonomous Organization, it doesn’t matter that you are a human being or you are a robot. You can actually have devices communicating with devices, or devices communicating with people, or people communicating with people.

How does DAO work?

Decentralized Autonomous Organization runs through rules encoded as a computer program called Smart Contracts. A Smart Contract is an entity that lives on the internet and exists autonomously. It also has individuals to perform a certain task that the automation program itself cannot do.

Let us take an example of Uber to understand the working of DAO. Uber is an organization that allows you to call a car for yourself using a mobile app. Once you place your call, a driver will come up in a car, will pick you up and drive you to your destination. The app will take care of processing the payment, and the driver will be set off to go to the next rider. A mobile app runs the entire process. However, there is a human component, which is the driver that drives over and drives off.

Now, if you tie-in artificial intelligence, there is no reason to need a driver to come up and interact with you. You could have a self-driving car come over and pick you up. The whole thing is automated and self-executing so you can actually process the payment directly on the app and the car will interact with you directly, without requiring a human element. This type of process can be created into a Decentralized Autonomous Organization. Now, it doesn’t necessarily mean that you need to be replaced by a computer. You could actually have multiple human beings on a distributed network, and those human beings will reach these agreements based on smart contracts between each other.

Blockchain Cryptocurrency

Cryptocurrency is a type of digital asset which is used to exchange value between parties. It uses strong cryptography to secure financial transactions and control the creation of new units of that currency and verify the transfer of assets. Cryptocurrency does not exist physically.

We know that the government prints the government currencies like fiat currency such as Dollar, Yen or Yuan itself. It means there is a centralized institution exists which can create thousands or millions or billions more of that currency. Unlike government currencies like bitcoin, these type of currencies is created by the same mathematical formulas that make the cryptocurrency work. Thus, cryptocurrencies use decentralized control, which works through distributed ledger technology that serves as a public financial transaction database.

Today, many different types of cryptocurrencies are available. Some of them are given below.

Blockchain Cryptocurrency

Bitcoin

Bitcoin

Bitcoin is generally known as the first decentralized cryptocurrencies. It is created by the network of thousands of specific nodes called miners. The miners can process the bitcoin transactions in the blockchain network. Since the release of bitcoin, more than 4000 alternative variants of bitcoin are available now.

Litecoin

Litecoin

Litecoin cryptocurrency worked very similar to Bitcoin. We know that bitcoin wait ten minutes for a transaction block to be processed, but Litecoin can do this in maximum two and a half minutes. Litecoin doesn’t have a big market cap. The price of Litecoin is lower than Bitcoin, but it’s a very effective process and also has some variations from Bitcoin.

Z-Cash

Z-Cash

Z-Cash is a privacy-protecting digital currency which is built-on strong science in cryptography. It provides enhanced privacy for its users as compared to other cryptocurrencies such as bitcoin. Here, transaction data is kept confidential, which is made possible through zero-knowledge proofs. It allows transactions to be verified without any information about the sender, receiver, and the amount transacted.

Z-Cash features known as viewing keys and payment disclosure makes it possible to disclose some of the user’s transaction data. It makes the transactions on Z-Cash auditable and regulation-compliant.

Monero

Monero

Monero is an open-source cryptocurrency which focuses on untraceableprivacy and decentralization. It is fast, private, and secure digital cash, which is operated by a network of users. We can use it to buy and sell things and can exchange for other coins or tokens.

It uses a special kind of cryptography which ensures that the transactions remain 100% untraceable. It focuses on anonymity, which is harder to track, whereas Bitcoin is pseudonymous, which transactions are still traceable.

Dash

Dash

Dash is a short form of Digital Cash. It is an open-source cryptocurrency and is a form of a decentralized autonomous organization which is run by a subset of users, called master nodes. It is one of the most promising alternative coins to bitcoin. It permits very fast transactions, which are untraceable.

Blockchain Key Areas

In the blockchain technology, bitcoin is the best-known implementation of the blockchain. There is a lot of development and the direction is based on the premise of what blockchain does to enable Bitcoin to happen. We can learn and expand how it can spread into so many different areas.

Blockchain Key Areas

The blockchain technology fixes three things that the Internet was not designed to do. These three things are:

  1. Value
  2. Trust
  3. Reliability

Value

With blockchain, you can actually create value on a digital asset. The value can be controlled by that person who owns it. It enables a unique asset to be transferred over the internet without a middle centralized agent.

Trust

Blockchain enables to securely assign ownership of a specific digital asset and be able to track who actually controls that asset at a time. In other words, blockchain creates a permanent, secure, unalterable record of who owns what. It uses advanced hash cryptography to preserve the integrity of the information.

Reliability

Blockchain distributes their workload among thousands of different computers worldwide. It provides reliability because if you have everything localized in one location, it becomes a single point of failure. But, its decentralized network structure ensures that there is no single point of failure which could bring the entire system down.

Key Concepts of Bitcoin

There are four key concepts that you need to aware in Bitcoin. These are:

  • Disintermediated
  • Distributed
  • Decentralized
  • Trustless

Disintermediated

When you send money to someone over the Internet, you need a third party like banks which manages all your transactions. But in Bitcoin, you are doing transactions directly to another party over the Internet. This transaction takes place in the Bitcoin network. This network takes care of confirming and verifying that there was a true transfer of value between the two parties. This concept is called Disintermediated.

Key Concepts of Bitcoin

The Disintermediated is the act of removing the middleman. It is one of the key components that makes blockchain so valuable because it eliminates the unnecessary inefficiency that’s involved when we are using a third-party during the transfer of value between parties.

Distributed

The entire bitcoin network runs on a network of thousands of distributed computers which shares the work. So, instead of having one centralized computer which handles the workload, you are distributing it across multiple computers. The distributed network is more reliable because there is no single point of failure. Here, the work is shared across thousands of computers which are all running and sharing the workload.

Decentralized

Bitcoin is decentralized. It means that there is no central control, no central repository of data and no management in the middle that overseeing what Bitcoin does. As a result, there is no central point of failure.

Trustless

Bitcoin is Trustless because there is no need to have a third-party, such as a bank to certify and bring trust to the entire process of transactions. Instead, the blockchain and how Bitcoin process the transactions enable the trust is done by Distributed Trustless Consensus in which all the nodes agree that a transaction took place.

Coinbase Transaction

A coinbase transaction is the first transaction in a block. It is a unique type of bitcoin transaction that can be created by a miner. The miners use it to collect the block reward for their work and any other transaction fees collected by the miner are also sent in this transaction.

Explanation

Each transaction executed on the bitcoin network are combined together to form a block. When a block is formed, immediately, it will be added in the blockchain. Now, these blocks are immutable and tamper-proof for all transactions that are made on the bitcoin network. Each block must contain one or more transactions, and the first transaction in the block is called the coinbase transaction.

Coinbase Transaction

The miners are always responsible for creating a block. When a block is successfully created, he will be rewarded from bitcoin for their work. The bitcoin block reward is always dependent on the number of blocks from the genesis block and the number of fees included in the transactions of the block. The total amount of rewards that a miner will collect is the sum of the block reward and the transaction fees taken from all the transactions that have been included in the block.

In the start of the bitcoin, the block reward is 50 bitcoin per block. The block reward is reduced by half after every 210, 000 blocks, i.e. approximately in every four years. The current reward for successfully creating a block is 12.5 bitcoin. It will be going to get reduced 6.25 bitcoin per block in the year 2020.

There is one important feature of a coinbase transaction is that bitcoins involved in the transaction cannot be spent until they have received at least 100 block confirmations in the blockchain.

Blockchain Proof of work

Proof of Work(PoW) is the original consensus algorithm in a blockchain network. The algorithm is used to confirm the transaction and creates a new block to the chain. In this algorithm, minors (a group of people) compete against each other to complete the transaction on the network. The process of competing against each other is called mining. As soon as miners successfully created a valid block, he gets rewarded. The most famous application of Proof of Work(PoW) is Bitcoin.

Producing proof of work can be a random process with low probability. In this, a lot of trial and error is required before a valid proof of work is generated. The main working principle of proof of work is a mathematical puzzle which can easily prove the solution. Proof of work can be implemented in a blockchain by the Hashcash proof of work system.

In the below image, you can see that this block is composed of a block number, data field, cryptographic hash associated with it and a nonce. The nonce is responsible for making the block valid.

Blockchain Proof of work

In the puzzle game, bitcoin software creates a challenge, and there is a game begins. This game involves all miners competing against each other to solve the challenges, and this challenge will take approximately 10 minutes to be completed. Every single miner starts trying to find the solution to that one Nonce that will satisfy the hash for the block. At some specific point, one of those miners in the global community with higher speed and great hardware specs will solve the cryptography challenge and be the winner of the game. Now, the rest of the community will start verifying that block which is mined by the winner. If the nonce is correct, it will end up with the new block that will be added to the blockchain. The concept of generating a block provides a clear explanation of proof of work(PoW).