Bitcoin Expansion and Segregated Witness Normally, there are two ways to increase the number of transactions in a block: increasing the block size and reducing the volume of transaction data. The corresponding methods are expansion and segregated witness. Expansion is very simple, which is to increase the block capacity. What is not simple is how much to increase it. Currently, the information of a complete Bitcoin blockchain exceeds 180G. If the block capacity is increased to 8M and each block is calculated as full, the volume of the entire blockchain ledger will increase by 404G each year. In this case, the rapid increase in hard disk costs will lead to fewer and fewer nodes storing complete blockchain information, and the consequences are self-evident. And what is Segregated Witness? Segregated Witness is to retain the transaction information in each transaction data in the block, and leave the verification information needed by miners to confirm the validity of the transaction in a script. When miners package, they can check the verification information in the script through the transaction information to confirm the authenticity of the packaged information, but only the transaction information is retained in the block during packaging. Let’s take an example. If every passenger on a bus brings a large package with a ticket on it, originally everyone puts the package on the seat next to them to make it easier for the driver to check the tickets. However, in order to carry more people, the driver asks the person who has verified the ticket to put the package on the roof of the bus, so that more people can sit in the bus. In the entire use of blockchain, all that needs to be traced is transaction information, that is, as long as the people on the bus are actually on the bus, no one needs to see what your ticket looks like, and the driver can also accurately confirm that no one has evaded the fare. So, no matter how we look at it, isolated witness is a good choice, but the problem is that not everyone agrees with this solution. Under normal circumstances, after the community reaches a unified consensus on such an upgrade, the client can complete the upgrade just like traditional centralized software. However, what happens if those who approve upgrade the software, but those who disapprove do not? This is another question we want to talk about, namely Bitcoin's soft fork and hard fork. The difference between a soft fork and a hard fork is determined by the updated system. When the transaction information sent by the new and old systems is incompatible with each other, and the blocks packaged by the miners of the new and old systems do not contain each other's transaction information, it becomes a hard fork. A hard fork generally starts from a block at a certain height and directly becomes two blockchains. When the transaction information issued by the new system is compatible with the old system, but the transaction information of the old system is not compatible with the new system, the blocks packaged by the miners of the old system will contain two types of transaction information, while the blocks packaged by the miners of the new system will not contain the transaction information initiated by the old system, resulting in the two types of blocks existing in parallel in the network. However, when the computing power of the new system reaches more than 51%, it will be difficult for the transaction information of the old system to be packaged into the blockchain. In a distributed system like blockchain, normal direct software updates require the approval of the majority of the community. For example, among the many expansion protocols of Bitcoin, at least 75% of the computing power must be approved, and at most 95%, but a soft fork only requires 51% of the computing power. Although soft forks are relatively mild, they are still a form of deception of old nodes, which can cause hard forks at any time. BCH is the product of Bitcoin's hard fork, while Litecoin has achieved segregated witness through soft forks. (Maitian Finance) |