Preamble

Dear BitcoinCash community, I am sincerely tired of it ... really tired to read more and more people threatening to send or freaking out to receive a split coin that will "taint" their clean coins.
I will try in this article to explain why you don't risk anything at all not splitting your coins if you hold your wallet's private key, and that all of this is just #FUD.
My general philosophy is to rely only on relevant technical analysis until it is proven wrong. So please take the time to read the following analysis thoroughly and try to identify if there is something false in it, then I will be more than happy to learn from it and change my mind if your point is valid.

Mechanism

In order to split his/her coin (UTXO), the user is pro-actively building a transaction T :
  • adding a chain specific opcode within a script (DSV for ABC, MUL for SV for example)
  • or using a previously split transaction as an input.
Note that the user wallet can automatically use a split UTXO on behalf of the user, while some wallet are providing features to flag to not use particular UTXOs (like SamuraiWallet).
When the user sends the transaction T, it is in fact relayed to the node that the user is connected to, which can be an ABC flavored node or a SV flavored node or a pre-fork node that is not up-to-date.
Note that if you are using a wallet and not crafting a transaction by hand, your wallet will relay your transaction to the node that your wallet provider is using (again an ABC or SV flavored or a pre-fork one if not up-to-date).
Let's take:
  • CTXO : a "clean" UTXO that is compatible with the current BCH chain, and which will be valid post-fork both on ABC and SV forks
  • Tuni : a transaction not using any new post-fork features from ABC and SV and using UTXO as an input
  • Tdsv : a transaction splitting CTXO with DSV opcode (or previously DSV split UTXO)
  • Tmul : a transaction splitting CTXO with MUL opcode (or previously MUL split UTXO)
  • ABC : an ABC node with post-fork ruleset supporting DSV opcode
  • SV : a SV node with post-fork ruleset supporting MUL opcode
  • NayBC : a node that is compatible with pre-fork ruleset where both DSV and MUL are considered invalid.

1) Then what happen if the user sends Tdsv to:
  • an ABC node, it will accept the Tdsv and put it on the ABC blockchain
  • an SV node, it will reject the transaction, since it is not supporting DSV opcode
  • an NayBC node, it will reject the transaction, since it is not supporting DSV opcode.
So DSV flavored UTXO stays on DSV flavored fork, and will never end up on SV or pre-fork blockchains.

2) If the user sends Tmul to:
  • an ABC node, it will reject the transaction, since it is not supporting MUL opcode
  • an SV node, it will accept Tmul and put it on the SV blockchain
  • an NayBC node, it will reject the transaction, since it is not supporting MUL opcode.
So MUL flavored UTXO stays on MUL flavored fork, and will never end up on ABC or pre-fork blockchains.

3) If the user sends Tuni to:
  • an ABC node, it will accept Tuni and put it on the ABC blockchain
  • an SV node, it will accept Tuni and put it on the SV blockchain
  • an NayBC node, it will accept Tuni and put it on the SV blockchain.
So clean transactions will be put on all blockchains whatever happens unless some mining nodes refuse to listen to some other nodes by blacklisting them. This is the reason why we built chopsticks.cash, to relay (and not to replay) your transactions to all nodes' types. You can broadcast split coins through our API as well but it does not really serve a purpose other than relaying your flavored transaction to different node implementations of the flavored fork. We made this choice to not have you send us your keys to sign the split transactions.
The opposite approach is what people call "splitting your coins" recently, which is basically chaining the steps 1) and 2) to split a clean UTXO to obtain 3 UTXOs: 1 UTXO compatible only ABC, 1 UTXO compatible only SV and 1 UTXO compatible only with the pre-fork blockchain because it could be mined further post-fork if miners want to do so.

Conclusion(s)

The mechanism of splitting coins and sending it to the network that I presented above proves that there is no case where a split UTXO can "taint" your clean UTXO. It's not technically possible to mix UTXOs that are on different blockchains.

Coin tainting

The statement "I will send you a tainted dust to contaminate your coins" is technically invalid and misleading. The people who say that don't understand how Bitcoin works or want to create FUD.
Who cares if you mix a split UTXO coming from the same chain, which is accepting the opcode used to split... your coins are safe on the other forks anyway. So the notion of "tainting" itself is misleading.
Losing value by not splitting
Since your clean UTXO is present and valid on all forks and the state of the blockchain are forked, if exchanges (like Bittrex) list ABC and SV coins :
  • if your funds are already on the exchange pre-fork, they will credit both your ABC and SV exchange wallets, and a BCH classic (NayBC) wallet could be displayed as well if it continues to be mined
  • if you send your coins to your ABC exchange wallet from a ABC compatible wallet and you send your coins to your SV exchange wallet from a SV compatible wallet they will credit your wallets without issues.
Here is how exchanges are going to create your exchange wallets:
  • user sends a clean UTXO to an address they hold R
  • they split the UTXO with ABC split coin dust
  • they split the UTXO with SV split coin dust
  • then display the address R as it appears through an ABC and SV node.
Then, you will obtain your split coins, no need to split your coins yourself.
Note that if ABC or SV is abandoned, exchanges will remove it, delisting it and you will end up with the wallets which are still supported/mined.
So the statement "you must split your coins, or you will end up losing money" is false.
Losing data by splitting and not replaying 1:1
Read my previous article that explains why you may end up losing your business metadata if you are splitting your coins and not replaying your transactions that hold your business metadata across chains (1:1:1).
Losing coins due to a business decision
Recently some businesses decided to side with one of the other fork by splitting all UTXO (e.g, all wallets UTXOs) they manage with 1) OR 2) only.
Let's say that they sided with ABC and use 1) only:
  • if you have access to your private keys, you are fine because you will be able to access your coins from a wallet compatible with the other fork
  • if you don't have access to your private keys, you may end up losing the SV coins and the NayBC coins because you will not be able to load your coins on a SV compatible wallet. Those businesses could rollback their decision at a certain point but it's safer to temporarily send your coins from these businesses wallets to a wallet you hold the keys.

Our decision

Again as a business owner, the safest move for eminent.ly is to not split our coins because we don't want to lose our metadata (since we will not being using any of the new opcodes and will end up on all forks by definition) and because we hold our wallets' private keys.
That's all folks, please give me your thoughts and prove me wrong if I am!

Disclaimer: I might be proven wrong in my analysis in the future so do your own research and follow closely the comments following this article (which I hope will be numerous) to forge your own opinion.
Say ...
🙅‍♀️#war🙅‍♂️🙅‍♀️#war🙅‍♂️ 🙅‍♀️#war🙅‍♂️ 🙅‍♀️#war🙅‍♂️🙅‍♀️#war🙅‍♂️🙅‍♀️#war🙅‍♂️
🙅‍♀️#war🙅‍♂️ 🙅‍♀️#war🙅‍♂️ 🙅‍♀️#war🙅‍♂️ 🙅‍♀️#war🙅‍♂️ 🙅‍♀️#war🙅‍♂️
🙅‍♀️#war🙅‍♂️ 🙅‍♀️#war🙅‍♂️ 🙅‍♀️#war🙅‍♂️ 🙅‍♀️#war🙅‍♂️ 🙅‍♀️#war🙅‍♂️
🙅‍♀️#war🙅‍♂️ 🙅‍♀️#war🙅‍♂️ 🙅‍♀️#war🙅‍♂️ 🙅‍♀️#war🙅‍♂️ 🙅‍♀️#war🙅‍♂️
🙅‍♀️#war🙅‍♂️ 🙅‍♀️#war🙅‍♂️ 🙅‍♀️#war🙅‍♂️ 🙅‍♀️#war🙅‍♂️ 🙅‍♀️#war🙅‍♂️
🙅‍♀️#war🙅‍♂️ 🙅‍♀️#war🙅‍♂️🙅‍♀️#war🙅‍♂️ 🙅‍♀️#war🙅‍♂️ 🙅‍♀️#war🙅‍♂️
🙅‍♀️#war🙅‍♂️ 🙅‍♀️#war🙅‍♂️🙅‍♀️#war🙅‍♂️ 🙅‍♀️#war🙅‍♂️🙅‍♀️#war🙅‍♂️🙅‍♀️#war🙅‍♂️

... to the #war and pass the message to your peers!

 

25.0¢
0.0¢

No one has reviewed this piece of content yet
Comments
  spent 10.0¢
Misleading. Craig has said that if you split into ABC then that UTXO will be marked and made invalid on SV and will instead be distributed to miners. You left out the MOST IMPORTANT DETAIL IN THIS WHOLE DISCUSSION. This and only this is the reason that people talk about "tainting" your UTXOs... because if you send a standard UTXO with an ABC split UTXO as a larger transfer (which many wallets currently will do without being properly fixed)... then IF SV WINS... Your money = gone! Noobs are going to get destroyed by listening to people like you. The way I see it... You keep all your pre-fork UTXOs in one place... you reject any incoming payments (with ABC tainted coins)... and you wait until a winner emerges and act accordingly with splits onto the dominant chain... the #1 danger is to split onto ABC too early. If you split onto SV I guess you'll be fine because the ABC miners are not going to steal your money on the ABC chain. But the reverse is not true. Your money = gone if you split into ABC and then they lose. Or if you receive dust payments from ABC split coins and then create larger Txns with those UTXOs on the ABC fork...same outcome as splitting all of those coins into ABC (because you used a split coin as one of the inputs... so all the other inputs are entered into the ABC blocks only now and SV miners will take all of your BCH if they win hash battle.) Use bitcoin,.com wallets at your own risk! (i.e. don't do it! and warn all the noobs out there!)
0.0¢
   4mo ago
10.0¢