9

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

3

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.

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.

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)

  • 2
    You could do it with less that 50% if you got lucky. – Peter Sep 3 '11 at 10:21
  • 1
    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 Sep 6 '11 at 21:32
  • 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 Sep 7 '11 at 7:56
  • 1
    As David Schwartz mentioned your second paragraph is purely made up. I know, it probably comes from 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 May 8 '12 at 14:08
  • As im aware there are checkpoints in place also? Maybe someone can add some information regarding these as they are somewhhat relevant. – MaxSan May 10 '12 at 10:40
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 for more information.

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.

  • 2
    I wouldn't compare 0-confirmation with credit cards: they don't have much in common. – o0'. May 8 '12 at 18:57

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.