For BCH, there are two very significant events in the first half of 2020: halving once every four years and upgrading twice a year.

At present, the halving of BCH has been successfully completed, and the exciting upgrade is less than a month away. Every upgrade of BCH is of great concern. Although the attention level of this upgrade is not as high as the previous upgrade due to the effect of halving, the BCH development team has also made sufficient preparations.

Bitcoincash.org website upgrade notice

What BCH is about to upgrade

According to the draft "Network Upgrade Specification on May 15, 2020" published on the Bitcoincash.org website:

When the median time elapsed in the last 11 blocks of BCH (MTP-11) is greater than or equal to the UNIX timestamp 1589544000, Bitcoin Cash will perform the upgrade of the network consensus rules according to this specification. This means that the upgrade time of BCH is about May 15, 2020.

01

The changes to the consensus rules in this upgrade are:

· Replace BCH's SigOps counting and limiting system with the new SigChecks system;

· Added a new opcode named OP_REVERSEBYTES to the script system.

02

In addition to the changes in the consensus rules, there are some changes that are not consensus content, but are recommended for BCH client policy changes:

The default value of the maximum number of ancestors in the memory pool was changed from 25 to 50;

The default value of the maximum number of descendants in the memory pool was changed from 25 to 50;

· Automatic replay protection for future upgrades.

SigChecks

Based on the number of signature checks that were actually performed when the script was executed, the execution limit was removed and replaced with a new limit. This new system is called SigChecks.

From the early days, Bitcoin has a SigOps counting rule for limiting the possible CPU usage in a given transaction or block, based on the principle that signature verification is by far the most CPU intensive operation. Although partially effective, sigops has some problems, mainly because: SigOps is judged by parsing the script rather than executing the script. Bitcoin divides the script into two transactions (the scriptPubKey that creates the transaction and the scriptSig that spends the transaction), but the actual CPU work to verify the transaction only occurs in the spending transaction, which leads to some contradictions: transactions / zones that contain higher sigops Blocks may require very little CPU work. Conversely, transactions with lower sigops may require very high CPU work.

The basic idea of ​​SigChecks is to perform counting only in expenditure transactions and to count the actual signature checking operations performed. This solves a series of problems caused by sigops.

OP_REVERSEBYTES

This new opcode reverses the order of the bytes in the string, and it can be used to change the byte order. The main reason for introducing the OP_REVERSEBYTES opcode is that it can simplify the process to the greatest extent when conducting more complex smart contracts. Especially some advanced smart contract languages.

Automatic replay protection

The purpose of automatic replay protection is to be used as a full-node version deprecation mechanism, which aims to make the unverified full verification node automatically separated from the main network after the next upgrade on May 15, 2020. The node that implements the next upgrade will remove this automatic replay protection, so all regular wallets can continue to use the default ForkID and can follow the upgraded main chain without changing.

BCH upgrade progress

As the upgrade time of BCH is approaching, the major development teams of BCH have released new versions compatible with the content of BCH upgrades, so as to leave the major nodes of BCH with sufficient time to upgrade.

Proportion of major client nodes of BCH

Bitcoin ABC has launched the latest upgraded version 0.21.0 as early as February. Compared with the consensus changes in the most basic BCH upgrade, Bitcoin ABC increased the transaction chain limit from 25 to 50 and supported the infrastructure financing plan for miner activation. Nodes using the Bitcoin ABC client can download the new version on their official website

Bitcoin ABC client download content

The Bitcoin Unlimited development team released the latest version of BCH Unlimited 1.8.0 yesterday. In addition to being compatible with the basic content of this upgrade, Bitcoin Unlimited also renamed the project to BCH Unlimited, increased the time of unconfirmed transactions to 500, improved memory pool management, and repaired graphene failures. Bitcoin Unlimited is currently the client with the largest number of nodes. Nodes using the Bitcoin Unlimited client can download the latest version.

Announcement on the release of a new version of Bitcoin Unlimited

The node adopts the third-ranked BCHN client, and announced on April 16 that it has released Bitcoin Cash Node v0.21.1.

BCHN Announces New Version

BCH upgrade has always been a major event for BCH. Although there are only small changes each time, and it is difficult to see the effects of the changes in real time, the quantitative changes will eventually cause qualitative changes. Each upgrade is for the better development of BCH. After the precipitation of time, these functions of BCH will come in handy to bring us killer applications.

At present, all major clients have provided the latest version of the upgrade to download. All we need to do is urge all BCH nodes to update in time before the BCH upgrade comes, and cooperate with the BCH protocol upgrade to meet a better BCH.