[Ethereum] How to split the ETH and ETC if I have an account that made a transaction with the WithdrawDAO contract

ethereum-classichardforksreplay-attackthe-daotransactions

Let's say:

  • I own account A, which had a 100 ETH pre-DAO balance.
  • Pre-fork I sent 50 ETH from A -> DAO.
  • Post-fork I had 50 ETHF and 50 ETHC in A.
  • Post-fork I made a transaction with the WithdrawDAO contract, so now account A has 100 ETHF and 50 ETHC (minus gas of course).

How do I split out the ETHF and ETHC in account A?

My thought is that rather than using a splitter contract I could simply make a transaction to deposit the 100 ETHF into a new account B. If my understanding is correct, then if the transaction was replayed on the classic chain it would simply fail due to insufficient funds, and would therefore be immune to a replay attack.

If so, then at this point:

  • Account A has 0 ETHF, 50 ETHC.
  • Account B has 100 ETHF, 0 ETHC.

And my ether would be cleanly split. Is this correct? My assumption is that ethereum transactions fail completely if the balance is insufficient, rather than partially fulfilling the transaction. Just want to make double sure I'm not missing anything.

Best Answer

You are correct. In fact, you could use it as a method to split.