<blockquote>
  <p>I think it would be possible to create a legitimate seeming
  transaction on the Bitcoin testnet that the Bitcoin mainnet would
  accept.</p>
</blockquote>

<p>no</p>

CC BY-SA 3.0
2017-03-26T21:22:53.493Z
// ,   soul + wit
Nathan Basanese
CC BY-SA 3.0
2017-03-26T18:51:50.063Z
2017-03-26T18:51:50.063Z
amaclin
<p>The answer is no, you can't, because the two chains don't share a common history.</p>

<p>Internally, transactions don't spend "from" an address. Instead, they refer to a specific output created by an earlier transaction which they consume.</p>

<p>In order for a replay attack to work, that same transaction whose outputs are being spent must exist on both chains. This is only possible when the two chains share a common history, and the earlier transaction either occurred before the fork (so it exists on both sides), or it itself was already a replay.</p>

<p>As soon as a transaction's history is not identical - meaning it consists of the same transactions leading up all the same to the same coinbase outputs that created the coins - they cannot be replayed, as the txids of the inputs will not exist in both chains.</p>

CC BY-SA 3.0
2017-03-27T02:53:26.987Z
2017-03-27T13:40:30.947Z
2017-03-27T13:40:30.947Z
Pieter Wuille
<p>I think it would be possible to create a legitimate seeming transaction on the Bitcoin testnet that the Bitcoin mainnet would accept. </p>

<p>I've read a bit about the ETC replay attacks, and it seems like it would be impossible, since there was never any hard fork to create testnet. </p>

<p><a href="https://medium.com/@timonrapp/how-to-deal-with-the-ethereum-replay-attack-3fd44074a6d8" rel="nofollow noreferrer">https://medium.com/@timonrapp/how-to-deal-with-the-ethereum-replay-attack-3fd44074a6d8</a></p>

<p>But I'm not sure about this. Has anyone successfully done it?</p>

<p>Do you know a good reason why it 100% would not work? </p>

<testnet><replay-attack>
Can I do a replay attack to spend my testnet bitcoin on the mainnet?
Nathan Basanese
# Can I do a replay attack to spend my testnet bitcoin on the mainnet?

(Asked by: username_0 on 2017-03-26)

I think it would be possible to create a legitimate seeming transaction on the Bitcoin testnet that the Bitcoin mainnet would accept.

I've read a bit about the ETC replay attacks, and it seems like it would be impossible, since there was never any hard fork to create testnet.

<https://medium.com/@timonrapp/how-to-deal-with-the-ethereum-replay-attack-3fd44074a6d8>

But I'm not sure about this. Has anyone successfully done it?

Do you know a good reason why it 100% would not work?

**Tags:** testnet, replay-attack


---

## 2 answers

### Answer by username_2 on 2017-03-27. Score: 6 | Accepted answer

The answer is no, you can't, because the two chains don't share a common history.

Internally, transactions don't spend "from" an address. Instead, they refer to a specific output created by an earlier transaction which they consume.

In order for a replay attack to work, that same transaction whose outputs are being spent must exist on both chains. This is only possible when the two chains share a common history, and the earlier transaction either occurred before the fork (so it exists on both sides), or it itself was already a replay.

As soon as a transaction's history is not identical - meaning it consists of the same transactions leading up all the same to the same coinbase outputs that created the coins - they cannot be replayed, as the txids of the inputs will not exist in both chains.


---

### Answer by username_1 on 2017-03-26. Score: -2

> I think it would be possible to create a legitimate seeming
> transaction on the Bitcoin testnet that the Bitcoin mainnet would
> accept.

no

> **Comments:**
> **username_0**: // ,   soul + wit  

---

