<p>This is not a possible thing to do <em>at all</em> without having over 51% of the network. All transaction are irreversable.</p>

<p>With 51% of the network hash power, it is really easy to reverse transactions.</p>

<p>Anyone with that kind of power would make a better profit just mining as attacking the network would cause a collapse in confidence and drop the value (with that kind of power its safe to assume you have a hoard of BTC)</p>

CC BY-SA 3.0
2011-09-03T10:21:18.903Z
You could do it with less that 50% if you got lucky.
Peter
CC BY-SA 3.0
2011-09-06T21:32:05.740Z
With 51% you can undo any transaction you wish. It's not difficult at all, you simply create your own chain with a conflicting transaction and wait until your chain is longer.
David Schwartz
CC BY-SA 3.0
2011-09-07T07:56:03.707Z
It is hard considering you must keep over 51% and the fact not even most governments dont have access to that level of power.
MaxSan
CC BY-SA 3.0
2012-05-08T14:08:35.283Z
As David Schwartz mentioned your second paragraph is purely made up. I know, it probably comes from http://bitcoin.stackexchange.com/a/660/132, but the author of this answer (which surprisingly has a positive score) don't understand what he say and recognize it himself in the comments. Please replace your second paragraph by “With 51% of the network hash power, it is really easy to reverse transactions.”
Stéphane Gimenez
CC BY-SA 3.0
2012-05-10T10:40:46.180Z
As im aware there are checkpoints in place also? Maybe someone can add some information regarding these as they are somewhhat relevant.
MaxSan
CC BY-SA 3.0
2011-08-31T18:57:36.107Z
2012-05-10T10:40:00.097Z
2012-05-10T10:40:00.097Z
MaxSan
<p>Attacker would need to control more computational power than everybody else combined. To reverse his own transaction in last block he would need to privately rebuild the block with transaction removed and build another block on top of it before network builds one on top of original one. </p>

<p>Attacker cannot remove other people's transactions, at least not permanently.</p>

<p>Check <a href="https://en.bitcoin.it/wiki/Weaknesses#Attacker_has_a_lot_of_computing_power" rel="nofollow">wiki</a> for more information.</p>

CC BY-SA 3.0
2011-08-31T18:58:15.523Z
2011-08-31T19:09:47.867Z
2011-08-31T19:09:47.867Z
klemen
<p>An attacker with more computational power than all legitimate Bitcoin miners can, given enough time, reverse any Bitcoin transaction after the latest checkpoint. Executing this attack is generally believed to be very unprofitable, since an attacker this powerful would be noticed as soon as he reversed any transactions, and all potentially-vulnerable sites would shut down until the attacker lost control. The Bitcoin developers could even reverse the attacker's damage in some cases by hard-coding some transaction ordering info into the client (though doing this would be controversial).</p>

<p>Attackers with less computational power than the rest of the network can still succeed in reversing transactions, though their success isn't guaranteed. Reversing a two-confirmation transaction, for example, requires solving three blocks before the rest of the network solves one. A miner who solves one-fourth of all blocks on average can do this with probability ~1/64. Whenever the attacker fails to create the three blocks necessary, he will lose any blocks he created in the double-spend attempt, so attempting this attack is often unprofitable.</p>

<p>Reversing a 1-confirmation transaction requires mining only two blocks in row, which can be profitable against certain targets with only around 5% of the network's computational power. With 5% of the network, the attacker has a 5% chance of solving the first necessary block and a 5% chance of solving the next block and succeeding in the double-spend. The attacker only risks losing a block while mining the second block, so his real odds of losing a block instead of reversing the transaction is 95% -- not too bad in some cases. This was MyBitcoin's excuse for how they lost customer money (which may or may not be true, though it is possible).</p>

<p>0-confirmation transactions can be reversed by solving only one block, and sometimes without solving any blocks. They should be treated as being nearly as reversible as credit card payments.</p>

CC BY-SA 3.0
2012-05-08T18:57:32.513Z
I wouldn't compare 0-confirmation with credit cards: they don't have much in common.
o0'.
CC BY-SA 3.0
2012-05-08T06:29:10.450Z
2012-05-08T06:35:43.437Z
2012-05-08T06:35:43.437Z
theymos
<p>There are multiple attack vectors for this.</p>

<p>If the merchant accepts on 0/unconfirmed then there is a race attack in which an attacker (scammer) will send one transaction to the "merchant" (or to a node closer to the merchant) and a separate transaction that double spends those same coins to other nodes, such as mining nodes.  Depending on the merchant's configuration the success ratio of this will vary.  The range where the attacker is successful ranges from near 0% to near 100%, but simple steps taken by the merchant (turn off listener, explicitly connect to well connected nodes) will prevent most of the risks of this attack. </p>

<ul>
<li><a href="http://bitcointalk.org/index.php?topic=79090.0" rel="nofollow">http://bitcointalk.org/index.php?topic=79090.0</a></li>
</ul>

<p>If the merchant accepts on 0/unconfirmed, regardless of protections from a race attack then the Finney attack is possible.  In this, the attacker also has control of a miner that has successfully mined but not yet announced a block with a special transaction that also has not been announced.  As soon as the block is mined, the attacker spends the coin from that special transaction with a merchant, secures delivery of the goods purchased, then broadcasts the block which contains the special transaction which invalidates the payment the merchant already accepted.  A disincentive to this is that for every couple seconds that the block is held, costs the attacker, on average, about $1 so even with this vulnerability there are tools available to a merchant to manage the risk so payment on 0/unconfirmed can still be recognized.</p>

<p>As the number of confirmations required increases the success of a double spend attack drop, and a merchant that requires 6/unconfirmed is essentially secure (based on probability of success) against double spends where the miner attempts to rewrite blocks.  Essentially this is only success for an attacker once 51% majority of network hashing is attained.  The consensus is that while this technically is possible, it doesn't make economic sense (no profit from doing so).  So if "feasible" means it must bring a profit, then this 51% attack method wouldn't be one of the methods you ask about.</p>

CC BY-SA 3.0
2012-05-07T17:49:04.133Z
2012-05-07T17:49:04.133Z
Stephen Gornick
<p>How can transactions be maliciously reversed? What resources are required?</p>

<transactions>
Are there any feasible methods of maliciously reversing transactions?
Peter
# Are there any feasible methods of maliciously reversing transactions?

(Asked by: username_0 on 2011-08-31)

How can transactions be maliciously reversed? What resources are required?

**Tags:** transactions


---

## 4 answers

### Answer by username_7 on 2012-05-07. Score: 4 | Accepted answer

There are multiple attack vectors for this.

If the merchant accepts on 0/unconfirmed then there is a race attack in which an attacker (scammer) will send one transaction to the "merchant" (or to a node closer to the merchant) and a separate transaction that double spends those same coins to other nodes, such as mining nodes. Depending on the merchant's configuration the success ratio of this will vary. The range where the attacker is successful ranges from near 0% to near 100%, but simple steps taken by the merchant (turn off listener, explicitly connect to well connected nodes) will prevent most of the risks of this attack.

* <http://bitcointalk.org/index.php?topic=79090.0>

If the merchant accepts on 0/unconfirmed, regardless of protections from a race attack then the Finney attack is possible. In this, the attacker also has control of a miner that has successfully mined but not yet announced a block with a special transaction that also has not been announced. As soon as the block is mined, the attacker spends the coin from that special transaction with a merchant, secures delivery of the goods purchased, then broadcasts the block which contains the special transaction which invalidates the payment the merchant already accepted. A disincentive to this is that for every couple seconds that the block is held, costs the attacker, on average, about $1 so even with this vulnerability there are tools available to a merchant to manage the risk so payment on 0/unconfirmed can still be recognized.

As the number of confirmations required increases the success of a double spend attack drop, and a merchant that requires 6/unconfirmed is essentially secure (based on probability of success) against double spends where the miner attempts to rewrite blocks. Essentially this is only success for an attacker once 51% majority of network hashing is attained. The consensus is that while this technically is possible, it doesn't make economic sense (no profit from doing so). So if "feasible" means it must bring a profit, then this 51% attack method wouldn't be one of the methods you ask about.


---

### Answer by username_1 on 2011-08-31. Score: 5

This is not a possible thing to do *at all* without having over 51% of the network. All transaction are irreversable.

With 51% of the network hash power, it is really easy to reverse transactions.

Anyone with that kind of power would make a better profit just mining as attacking the network would cause a collapse in confidence and drop the value (with that kind of power its safe to assume you have a hoard of BTC)

> **Comments:**
> **username_0**: You could do it with less that 50% if you got lucky.  
> **username_2**: With 51% you can undo any transaction you wish. It's not difficult at all, you simply create your own chain with a conflicting transaction and wait until your chain is longer.  
> **username_1**: It is hard considering you must keep over 51% and the fact not even most governments dont have access to that level of power.  
> **username_3**: As username_2 username_2 mentioned your second paragraph is purely made up. I know, it probably comes from http://bitcoin.stackexchange.com/a/660/132, but the author of this answer (which surprisingly has a positive score) don't understand what he say and recognize it himself in the comments. Please replace your second paragraph by “With 51% of the network hash power, it is really easy to reverse transactions.”  
> **username_1**: As im aware there are checkpoints in place also? Maybe someone can add some information regarding these as they are somewhhat relevant.  

---

### Answer by username_4 on 2011-08-31. Score: 0

Attacker would need to control more computational power than everybody else combined. To reverse his own transaction in last block he would need to privately rebuild the block with transaction removed and build another block on top of it before network builds one on top of original one.

Attacker cannot remove other people's transactions, at least not permanently.

Check [wiki](https://en.bitcoin.it/wiki/Weaknesses#Attacker_has_a_lot_of_computing_power) for more information.


---

### Answer by username_5 on 2012-05-08. Score: 0

An attacker with more computational power than all legitimate Bitcoin miners can, given enough time, reverse any Bitcoin transaction after the latest checkpoint. Executing this attack is generally believed to be very unprofitable, since an attacker this powerful would be noticed as soon as he reversed any transactions, and all potentially-vulnerable sites would shut down until the attacker lost control. The Bitcoin developers could even reverse the attacker's damage in some cases by hard-coding some transaction ordering info into the client (though doing this would be controversial).

Attackers with less computational power than the rest of the network can still succeed in reversing transactions, though their success isn't guaranteed. Reversing a two-confirmation transaction, for example, requires solving three blocks before the rest of the network solves one. A miner who solves one-fourth of all blocks on average can do this with probability ~1/64. Whenever the attacker fails to create the three blocks necessary, he will lose any blocks he created in the double-spend attempt, so attempting this attack is often unprofitable.

Reversing a 1-confirmation transaction requires mining only two blocks in row, which can be profitable against certain targets with only around 5% of the network's computational power. With 5% of the network, the attacker has a 5% chance of solving the first necessary block and a 5% chance of solving the next block and succeeding in the double-spend. The attacker only risks losing a block while mining the second block, so his real odds of losing a block instead of reversing the transaction is 95% -- not too bad in some cases. This was MyBitcoin's excuse for how they lost customer money (which may or may not be true, though it is possible).

0-confirmation transactions can be reversed by solving only one block, and sometimes without solving any blocks. They should be treated as being nearly as reversible as credit card payments.

> **Comments:**
> **username_6**: I wouldn't compare 0-confirmation with credit cards: they don't have much in common.  

---

