<blockquote>
  <p>Is it possible to rewrite past transactions in Bitcoin?</p>
</blockquote>

<p>Yes. If you have more than half of the hashpower, you can eventually rewrite a chain of any length.</p>

<blockquote>
  <p>For example, lets say, we have a super computer with any desirable speed</p>
</blockquote>

<p>Cryptography is based around protecting against adversaries with finite computing power. As soon as you suppose that you're going up against someone with infinite computing power, there's no public key cryptography system that you can use, because your adversary can just try every possible private key.</p>

<p>It's kind of like asking, "How do banks protect against thieves that teleport money out of safes?"</p>

<blockquote>
  <p>If so, the current network would accept our new (forged) chain and all the past transactions would become invalid.</p>
</blockquote>

<p>Yep.</p>

<blockquote>
  <p>Then you make the deal with the government to destroy bitcoin.</p>
</blockquote>

<p>I don't really see why the government would care if people used Bitcoin. Given that there are really trivial things they could do to make it very difficult to exchange or use Bitcoin, which they are not doing, I doubt they care.</p>

CC BY-SA 3.0
2017-10-03T06:46:07.353Z
2017-10-03T06:46:07.353Z
Nick ODell
<blockquote>
  <p>Is it possible to rewrite past transactions in Bitcoin?</p>
</blockquote>

<p>Yes. That is one of the reasons it is recommend to wait for more than one confirmation before accepting a bitcoin transaction.</p>

<blockquote>
  <p>For example, lets say, we have a super computer with any desirable speed, that would be able to calculate hash as fast as we want. Would it be possible to take for such computer, a block that is 2 weeks old from now and create (from that block) a new chain that is bigger than today's chain with its own transactions?</p>
</blockquote>

<p>No, since such a computer is itself impossible.</p>

<blockquote>
  <p>If so, the current network would accept our new (forged) chain and all the past transactions would become invalid.</p>
</blockquote>

<p>The question is, as I said, based on an impossible premise. Here are some further obstacles:</p>

<p>1) You can't just invent an arbitrary amount of computing power. There is only so much physical space accessible to mankind. There is only so much energy available.</p>

<p>2) A supercomputer is entirely the wrong tool since supercomputers are general purpose devices. They're absolutely <em>atrocious</em> at attempting to rewrite bitcoin transactions. Honest miners with specialized equipment would have a huge advantage.</p>

<p>3) So say instead of a supercomputer, you spent a billion dollars to build a device specifically to do this. You would be able to do this exactly once. The community would react by either changing the mining algorithm or other means that produce the same effect. So you would get this one attack and then you would have a billion dollar paperweight.</p>

<p>4) Even if you thought that was all worth it to shake confidence in bitcoin, it would likely backfire. What would happen is that bitcoin will have recovered from your billion dollar attack, you'd be out a billion dollars, and bitcoin would still keep going.</p>

CC BY-SA 3.0
2017-10-03T05:41:28.613Z
Here is an example how you can hack Bitcoin. You create a company that makes FPGAs, then you manufacture all the FPGAs by the amount of much higher computing power than Bitcoin's network. Then you make the deal with the government to destroy bitcoin. They pay you for the attack. You use those devices to rewrite the blockchain to steal the money out of bitcoin and then you sell those FPGAs like you would normally do to regular users. Instead of losing money you are making more. So, a supercomputer faster than Bitcoin's network is completely real. You are making dangerous assumptions.
Nulik
CC BY-SA 3.0
2017-10-03T05:44:05.887Z
@Nulik Except you can't use FPGAs to attack bitcoin anymore -- FPGAs are also general purpose devices. And read 3 and 4 -- it wouldn't destroy bitcoin.
David Schwartz
CC BY-SA 3.0
2017-10-03T05:07:14.670Z
2017-10-03T05:07:14.670Z
David Schwartz
<p>Is it possible to rewrite past transactions in Bitcoin?
For example, lets say, we have a super computer with any desirable speed, that would be able to calculate hash as fast as we want. Would it be possible to take for such computer, a block that is 2 weeks old from now and create (from that block) a new chain that is bigger than today's chain with its own transactions? If so, the current network would accept our new (forged) chain and all the past transactions would become invalid. </p>

<bitcoin-core><bitcoind>
rewriting past transactions in Bitcoin
Nulik
# rewriting past transactions in Bitcoin

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

Is it possible to rewrite past transactions in Bitcoin?
For example, lets say, we have a super computer with any desirable speed, that would be able to calculate hash as fast as we want. Would it be possible to take for such computer, a block that is 2 weeks old from now and create (from that block) a new chain that is bigger than today's chain with its own transactions? If so, the current network would accept our new (forged) chain and all the past transactions would become invalid.

**Tags:** bitcoin-core, bitcoind


---

## 2 answers

### Answer by username_1 on 2017-10-03. Score: 2 | Accepted answer

> Is it possible to rewrite past transactions in Bitcoin?

Yes. If you have more than half of the hashpower, you can eventually rewrite a chain of any length.

> For example, lets say, we have a super computer with any desirable speed

Cryptography is based around protecting against adversaries with finite computing power. As soon as you suppose that you're going up against someone with infinite computing power, there's no public key cryptography system that you can use, because your adversary can just try every possible private key.

It's kind of like asking, "How do banks protect against thieves that teleport money out of safes?"

> If so, the current network would accept our new (forged) chain and all the past transactions would become invalid.

Yep.

> Then you make the deal with the government to destroy bitcoin.

I don't really see why the government would care if people used Bitcoin. Given that there are really trivial things they could do to make it very difficult to exchange or use Bitcoin, which they are not doing, I doubt they care.


---

### Answer by username_2 on 2017-10-03. Score: 0

> Is it possible to rewrite past transactions in Bitcoin?

Yes. That is one of the reasons it is recommend to wait for more than one confirmation before accepting a bitcoin transaction.

> For example, lets say, we have a super computer with any desirable speed, that would be able to calculate hash as fast as we want. Would it be possible to take for such computer, a block that is 2 weeks old from now and create (from that block) a new chain that is bigger than today's chain with its own transactions?

No, since such a computer is itself impossible.

> If so, the current network would accept our new (forged) chain and all the past transactions would become invalid.

The question is, as I said, based on an impossible premise. Here are some further obstacles:

1) You can't just invent an arbitrary amount of computing power. There is only so much physical space accessible to mankind. There is only so much energy available.

2) A supercomputer is entirely the wrong tool since supercomputers are general purpose devices. They're absolutely *atrocious* at attempting to rewrite bitcoin transactions. Honest miners with specialized equipment would have a huge advantage.

3) So say instead of a supercomputer, you spent a billion dollars to build a device specifically to do this. You would be able to do this exactly once. The community would react by either changing the mining algorithm or other means that produce the same effect. So you would get this one attack and then you would have a billion dollar paperweight.

4) Even if you thought that was all worth it to shake confidence in bitcoin, it would likely backfire. What would happen is that bitcoin will have recovered from your billion dollar attack, you'd be out a billion dollars, and bitcoin would still keep going.

> **Comments:**
> **username_0**: Here is an example how you can hack Bitcoin. You create a company that makes FPGAs, then you manufacture all the FPGAs by the amount of much higher computing power than Bitcoin's network. Then you make the deal with the government to destroy bitcoin. They pay you for the attack. You use those devices to rewrite the blockchain to steal the money out of bitcoin and then you sell those FPGAs like you would normally do to regular users. Instead of losing money you are making more. So, a supercomputer faster than Bitcoin's network is completely real. You are making dangerous assumptions.  
> **username_2**: @username_0 Except you can't use FPGAs to attack bitcoin anymore -- FPGAs are also general purpose devices. And read 3 and 4 -- it wouldn't destroy bitcoin.  

---

