Ethereum Logo

The Ethereum / Ethereum Classic “Replay Attack” explained

In the recent days – when Ethereum’s Ether-blockchain forked into ETH and ETC – we could not do else but read the term “Replay Attack”. If you wondered what exactly a replay attack is, continue to read. I will explain.

The basis of the Replay Attack is the fact that all wallets which contained Ether at the time of the fork will credit their corresponsing Ethereum Classic wallets with ETC. So, if you had, say, 100 ETH in your wallet, then you’ll be credited with 100 ETC.
But that’s not an automatic process (well, it is, but only under certain circumstances): it only works on exchanges which support the quasi-new Ethereum Classic chain.

Poloniex is an exchange which supports Ethereum Classic. If your wallet contained Ether before the hard fork, you’ll be credited the same amount of ETC. This also works post-fork, and that’s where the replay attack comes into play. The only thing you need to do is find an exchange which still uses old wallets, which were created before the hard fork happened.
If you were to exploit the Replay Attack (which I don’t condone, recommend or do), you’d have to do the following:

  • find a service or an exchange which still uses pre-fork wallets (like Coinbase, at the time of writing this post)
  • buy ETH there using BTC, and send it to an exchange which supports ETC
  • when the ETH arrive in your wallet, you’ll find the same amount of ETC being credited to the respective wallet
  • sell your ETH and ETC for BTC and send back the BTC to the service or exchange using pre-fork wallets
  • rinse and repeat

Just to make this clear: I don’t suggest doing this, and neither am I doing this.
I’m posting about this because I think Coinbase should also be supporting ETC, so their users who own(ed) ETH can also get their share of ETC. It’s only fair and they should treat their users that way.

4 thoughts on “The Ethereum / Ethereum Classic “Replay Attack” explained

  1. I’m trying to understand your great article on the replay attack and write up another elaboration to help the Ethereum and Ethereum Classic communities understand all this. Can I humbly ask you a few questions about your article?

    • Here I’ll post my questions now if you can answer later…1. Coinbase intended to only support ETH (forked chain) right? So why would they use pre-fork wallets? What does that mean?

      2. Why does Poloniex post-fork still credit funds to both chains? Don’ you have to specify if you are doing a ETH or ETC transaction? How can they control if a transaction shows up on both chains?

  2. Hey Christian,

    I think they just had those old wallets in place (before the fork), so they didn’t bother updating. Maybe they underestimated ETC, maybe they did not care. However, it’s really hard to find useful information on that topic. What is easy to find is conspiracy theories. 😉
    Some even said that they were buying the ETC they let users withdraw after they got replayed until no more ETC were there. But who knows if that’s true – I certainly don’t.

    2nd question: it only works (or: worked) if you send from an old wallet. If the wallet is pre-fork, then the transaction is sent to the (at the time of creation of the wallet) whole network, which later split into ETH and ETC. So the coins exist on both chains and are also available in ETC. However, you can only do this once.
    So, getting ETH in ETH and ETC only happens on purpose; for normal transactions, you have to specify if you’re sending ETH or ETC.

    Hope this helped. 🙂

Leave a Reply

Your email address will not be published. Required fields are marked *