introduction:On November 15, BCH will face a potential split. If it does, one currency will be changed into two currencies, but there are some things to be noted, otherwise one of your currencies may become invalid.
1.BCH protocol upgrade
In November 15th, BCH faced an escalation of the agreement. There are two competing versions of the protocol upgrade, bitcoin ABC 0.18.2 and bitcoin SV 0.1.
Abc 0.18.2 protocol version is mainly modified by adding two opcode, OP_CHECKDATASIG (CDS) and OP_CHECKDATASIGVERIFY (DSV), and changing the transaction sorting rules in blocks from TTOR to CTOR.
The main modifications of the SV0.1 protocol version are to restore the four early bitcoin opcodes, namely, OPCode, OP_MUL, OP_LSHIFT, OP_RSHIFT, OP_INVERT; to remove 201 opcodes per script; and to raise the block size limit to 128MB.
There are some other changes in the two version, but this article focuses on the operation code.
This competitive upgrade of BCH's agreement may lead to splitting, that is, one chain into two chains, one currency into two currencies. And because the two chains use the same forkid, there is no replay protection for each other, that is, transactions on one chain may also be legal on the other.
Considering the transaction replay and transaction script of two chains, this may lead to transactions sent by users on one chain, which is legal on the other chain, but may never be spent on the other chain. That is, transactions can be legally replayed, but they cannot be legally unlocked.
The knowledge of transaction replay, as I wrote in the last article, I copied it to the next chapter of this article and skipped it directly. This article focuses on the fact that transactions can be legally replayed but not legally unlocked.
2.transaction replay
If a block chain is split and a transaction is initiated on either chain, the transaction will be valid on both chains. This is to say that you have made two transactions. Another one here is "replay".
Let me give an example to explain this. After the withdrawal of the army from Taiwan, Chiang Kai-shek replicated many of the mainland's institutions in Taiwan. For example, Tsinghua University was also built in Taiwan. In mainland China, there is also a Tsinghua University in Beijing.
If you write a letter to Tsinghua University in the United States, you use paper to send the letter to the postman. But the collection address only reads "XXX of Tsinghua University, China."
This address can be interpreted as Tsinghua University in Beijing or Tsinghua University in Taiwan. The postman is in trouble. He simply photocopies your letter and sends it to two universities.
This is the replay attack. Because originally you only wanted to send it to Tsinghua University in Taiwan, but now it has been re-placed to Tsinghua University in Beijing.
The so-called replay protection is to find a way to make your transaction valid only in one chain and not in another chain. Thus, "replay" can be avoided.
If BCH is really split on November 15, and the two chains are not protected against replay, because both chains inherit the coins before the splitting point, the transactions constructed with coins before the splitting point are legal on both chains, that is, they can be replayed.
But if the deal uses a new OPCode, no matter which chain the OPCode is, it may produce a transaction that can be replayed but cannot be spent.
3.P2SH transaction
Bitcoin has a transaction type called P2SH, Pay to Script Hash, which is paid to script hash. This transaction locks UTXO onto the script hash, because it is script hash, not script content, so the node does not know the script content when the transaction broadcasts, so it certainly does not know what opcode OPCode is included in the script.
To redeem the money in the P2SH transaction (that is, to spend the money in the P2SH address) requires computing the content of the script, which OPCodes the script uses will be known by the node.
The characteristics of the above P2SH will make the BCH P2SH replay very dangerous after this split.
4.The P2SH transaction with the new opcode can be replayed, but it can not be spent on the replay chain.
If a P2SH transaction is constructed using UTXO before the splitting point after the splitting of BCH on November 15, a new OPCode is used in the script. The transaction is legal in both chains, because the nodes of the two chains cannot know that the transaction uses the OPCode of the other chain, so the transaction can be replayed.
Once the P2SH transaction is repositioned to another chain, it will not be redeemed, because the new OPCode of the opposite chain on this chain is illegal and can not be unlocked. This is equivalent to the loss of this currency in this chain.
So after splitting up, please be careful with the new OPCode. What if users need new OPCode to do business?
5.First, make sure the currency is split accurately, and then use the new OPCode.
If BCH is really split and you need to use a new OPCode, you must first separate your coins from each other. Separation is to separate the coins before you split point and send them to a new address on the two chains.
Concluding remarks
Bifurcations and splits are knowledge that must be grasped by the block chain world.
The easiest and most effective way to split is to buy UTXO for a coinbase transaction from the mine in 100 blocks after the split point, send it to your BCH wallet, and then transfer all the balance to a new address at once. It only needs to be done once in a chain, and it can be completely separated.
After separating the coin, you can use the new OPCode, because it will not be replayed anymore.
If you do not separate money before, it is best not to do the transfer, not to turn the currency to the beginning of the 3 address. The 3 address is the p2sh address.
The recharge address of some exchanges is a multi signature address, which is 3. Individuals suggest that exchanges suspend the use of address recharge at the beginning of 3, and that users should not recharge in such exchanges before separating currencies. Anyway, before separating money, it is best not to move.
For many small white users, the best way is to learn how to separate currencies. If not, store them in the exchange promising to potentially split currencies.