But let's say someone owns both BTC and BCH after the hard fork.
And then, he wants to sell BCH and buy BTC.
However, when he broadcasts a transaction on BCH, what is to stop someone from broadcasting the same transaction on the BTC network?
Bcash split from bitcoin as of block 478559. If you want to spend coin on the bitcoin blockchain that is invalid on the bcash blockchain, you must use a UTXO that can be traced to a block reward from 478560 or later. This will guarantee your transaction will not be valid on the bcash blockchain.
Alternatively, you can include a UTXO that can be traced back to a transaction whose 'sister' UTXO was spent to another address on the bcash blockchain.
For example. UTXO ABC:2 is for 2 BTC, was spent on the bitcoin blockchain via txid xyz with one output to bitcon address xx. The same UTXO ABC:2 was spent on the bcash blockchain via txid wxy that had one output to bcash address zz. Any UTXO that can be traced back to the utxo xyz:0 will not be valid on the bcash blockchain.
More or less this with one more addition. There are several forks (BCash, BSV, BCHA, eCash) that are worth some money if you have 1
BTC all of the ones I mentioned will get you about another $900. If you only have .1
BTC it's probably not worth the time for $90 YMMV. But anyway, if you send on 1 of the forks you send on all so you have to taint your coins with a bit of BCash, BSV, and such so when you move them you only move them on the 1 blockchain.
-Dave