Blockchain Semantics Insights
Business Case | Deep Tech | Announcements | Blockchain Glossary |
Decrypting SegwitBy Abhishek Singh | April 5, 2018, 6:36 a.m. GMT
SegWit or Segregated Witness is a soft fork that was implemented on Bitcoin Blockchain network in order to solve the block size problem of the Bitcoin Blockchain. What was the block size problem of the Bitcoin blockchain, you wonder? As you may know, in Blockchain there are blocks which contain transactions that are happening in the network. A block contains set of transactions that are verified by miners.
So, what is block size?
Each transaction has a data size- in other words, it occupies storage space on the Blockchain. Block size is the data size of each block- it directly determines how many transactions can be held in a block. Initially, when Bitcoin was launched there was no limit to the size of the block. Then people started putting fake blocks which used to contain long fake transactions, which used to get detected but would waste time and resources nonetheless. So Satoshi Nakamoto saw a possible DOS or denial of service attack. Thus, in order to cure it, Satoshi Nakamoto fixed a block size limit of 1MB. This means that 1 MB size of transactions could be present in a block. 1 MB and no more.
The problem with Bitcoin transactions:
But as the Bitcoin network grew, people started using it more than earlier for executing transactions. Only 1 MB of transactions could be in a block and it takes 10 minutes to mine a block- this was a problem. Transactions were getting verified very slowly, there were a lot of transactions waiting for verification and remained in the unconfirmed pool for very long. This was making Bitcoin network very slow.
The solution proposed was "SegWit":
A sample Bitcoin transaction contains 2 things.
Input- Input contains previous transaction’s hash and a digital signature. The previous transaction hash is used to prove that the sender has sufficient balance to transfer. The digital signature is used to prove sender’s authenticity. This digital signature consumes 65% of the transaction size.
Output- Output of a transaction contains the amount that is to be sent and the receiver’s public key.
Dr. Peter Wullie suggested a way to solve this issue. He proposed to strip-off the signature part of the block and place it in a side-chain. What this would do is make transactions lighter. As the transactions are lighter, there would be more transactions in a block. This could have been done by a soft-fork.
In a meet in New York, it was agreed that a two-step forking would happen. First, the soft-fork which would strip-off the signature part and add it in a side-chain and second a hard fork to make the block size 2MB. But for all this to happen there had to support from 80% of the miners. The soft fork was called SegWit and hard fork was called SegWit2x. Segwit was activated on 24th August 2014. But the community did not get support for a hard fork. Thus, it was not implemented on Bitcoin Blockchain.
To know more about forking, soft fork and hard forking visit our blog on forking.