<p>Bitcoin Cash changes the sighash preimage to the one that is used by segwit. This is specified in <a href="https://github.com/bitcoin/bips/blob/master/bip-0143.mediawiki" rel="nofollow noreferrer">BIP 143</a>. <code>OP_CHECKSIG</code> on the Bitcoin Cash chain must use this new sighash preimage creation algorithm, but <code>OP_CHECKSIG</code> on Bitcoin uses a different sighash preimage creation algorithm (the original one), so they are incompatible with each other.</p>

<p>The <code>SIGHASH_FORKID</code> is an addition to the sighash type and simply means that the sighash type must have bit 6 set.</p>

CC BY-SA 3.0
2017-08-13T20:29:14.020Z
2017-08-13T20:29:14.020Z
Ava Chow
<p>Bitcoin Cash apparently uses sighash_forkid, such that if you don't implement that into your raw transactions, the bitcoin cash network won't accept it.  How would one need to alter (what to add and how to get it) a transaction made to bitcoin tx specifications, to make it work on the Bitcoin cash chain?</p>

<p>It has been suggested that in an answer to this question: </p>

<blockquote>
  <p>The SIGHASH_FORKID is an addition to the sighash type and simply means that the sighash type must have bit 6 set.</p>
</blockquote>

<p>What is it to "have bit 6 set"?  And set to what?  What is an example of it being "set" and not being "set"?  Instead of "01" can I just type <code>ĹéêŤ</code> or does it need to be a "01" or a "02" or what can it be or not be?</p>

<signature><raw-transaction><bitcoin-cash>
What is the exact difference between a Bitcoin and Bitcoin Cash raw transaction to address sighash_forkid?
Mine
# What is the exact difference between a Bitcoin and Bitcoin Cash raw transaction to address sighash_forkid?

(Asked by: username_0 on 2017-08-13)

Bitcoin Cash apparently uses sighash\_forkid, such that if you don't implement that into your raw transactions, the bitcoin cash network won't accept it. How would one need to alter (what to add and how to get it) a transaction made to bitcoin tx specifications, to make it work on the Bitcoin cash chain?

It has been suggested that in an answer to this question:

> The SIGHASH\_FORKID is an addition to the sighash type and simply means that the sighash type must have bit 6 set.

What is it to "have bit 6 set"? And set to what? What is an example of it being "set" and not being "set"? Instead of "01" can I just type `ĹéêŤ` or does it need to be a "01" or a "02" or what can it be or not be?

**Tags:** signature, raw-transaction, bitcoin-cash


---

## 1 answers

### Answer by username_1 on 2017-08-13. Score: 3

Bitcoin Cash changes the sighash preimage to the one that is used by segwit. This is specified in [BIP 143](https://github.com/bitcoin/bips/blob/master/bip-0143.mediawiki). `OP_CHECKSIG` on the Bitcoin Cash chain must use this new sighash preimage creation algorithm, but `OP_CHECKSIG` on Bitcoin uses a different sighash preimage creation algorithm (the original one), so they are incompatible with each other.

The `SIGHASH_FORKID` is an addition to the sighash type and simply means that the sighash type must have bit 6 set.


---

