Pages:
Author

Topic: Has anybody ever successfully double spent? (Read 3137 times)

legendary
Activity: 1386
Merit: 1000
KawBet.com - Anonymous Bitcoin Casino & Sportsbook
January 04, 2015, 06:40:24 AM
#54
Blockchain Info thinks this address has double spends...


" You should be extremely careful when trusting any transactions "

How does one 'be careful'?
legendary
Activity: 3472
Merit: 4801
Nah, I guess he's right, man! You could issue a transaction to the network to send your BTC to another address of your's and at the same time issue the payment-transaction to your 'victim's' BitcoinQT. They'd now think your transaction paid for your goods.

You'd first need to figure out how to isolate the victim's Bitcoin-Qt from the network without them realizing it.  Otherwise, they will see the transaction that you issued to another address of yours and they will refuse to accept the transaction that you try to send to their Bitcoin-Qt.

If you send to their Bitcoin-Qt first, then they will relay the transaction to the network, and the network will refuse to relay your transaction that pays to your own address.

Another way would be to issue the payment transaction to the network, but then mine the next block with the BTC going to a wallet of your own!

Sure, if you have enough hash power. You've still got to find someone that will accept your unconfirmed transaction and that doesn't have identifying information about you.  Even then, you won't be able to reliably pull off the attack unless you have enough hash power to pull off much more profitable attacks against the network (in which case it's silly to be using all that hash power to try and steal $1 hear and there).

But those things only can happen if you accept 0-confirmation transactions.

And if your victim can't identify you.
sr. member
Activity: 280
Merit: 250
Relax!
A true double spend (where a previous transaction output is used as an input in two different transactions that are both permanently recorded in the blockchain) is impossible.  It never has happened. It never will happen.

However, people that don't understand the technical detais of how bitcoin works like to use the words "double spend" to describe a variety of scams that allow an attacker to fool their target into believing that they've received bitcoins that they never actually received.

So, if you are asking about a true double spend, then no, it hasn't ever happened.  It never will.

If you are asking about a scam where someone is tricked into believing that they've received bitcoins that they haven't due to the target's own misunderstanding about how bitcoin works, then yes.  That has happened many times.

That's the way to look at this. The only possible real-world double-spend is a transaction lanced in order to trick your victim into believing they received their Bitcoins, when the real transaction that is being accepted in the Blockchain goes to an address you control yourself.
Incorrect. If you have a transaction that is already confirmed by the network then you will need to get a miner to mine enough blocks so that they have a longer chain from the time the TX was originally confirmed and to include a conflicting transaction with at least one of the same input


Nah, I guess he's right, man! You could issue a transaction to the network to send your BTC to another address of your's and at the same time issue the payment-transaction to your 'victim's' BitcoinQT. They'd now think your transaction paid for your goods.
Another way would be to issue the payment transaction to the network, but then mine the next block with the BTC going to a wallet of your own!
But those things only can happen if you accept 0-confirmation transactions.
sr. member
Activity: 434
Merit: 250
Loose lips sink sigs!
I've never heard of double spending, how often does this actually happen?
full member
Activity: 196
Merit: 100
Hi
A true double spend (where a previous transaction output is used as an input in two different transactions that are both permanently recorded in the blockchain) is impossible.  It never has happened. It never will happen.

However, people that don't understand the technical detais of how bitcoin works like to use the words "double spend" to describe a variety of scams that allow an attacker to fool their target into believing that they've received bitcoins that they never actually received.

So, if you are asking about a true double spend, then no, it hasn't ever happened.  It never will.

If you are asking about a scam where someone is tricked into believing that they've received bitcoins that they haven't due to the target's own misunderstanding about how bitcoin works, then yes.  That has happened many times.

That's the way to look at this. The only possible real-world double-spend is a transaction lanced in order to trick your victim into believing they received their Bitcoins, when the real transaction that is being accepted in the Blockchain goes to an address you control yourself.
Incorrect. If you have a transaction that is already confirmed by the network then you will need to get a miner to mine enough blocks so that they have a longer chain from the time the TX was originally confirmed and to include a conflicting transaction with at least one of the same input
hero member
Activity: 1008
Merit: 502
I think double spending bitcoins would not be an easy task. however double spending other coins would probably be easier. I tried it a couple times just to see if I could do it, but was never successful Sad haha. I just wanted to see if it could happen and since i had the hardware to have over 51% of the network hashrate I thought I would try it. But I never never mined the block I sent so Sad pity for me.
hero member
Activity: 518
Merit: 500
Trust me!
A true double spend (where a previous transaction output is used as an input in two different transactions that are both permanently recorded in the blockchain) is impossible.  It never has happened. It never will happen.

However, people that don't understand the technical detais of how bitcoin works like to use the words "double spend" to describe a variety of scams that allow an attacker to fool their target into believing that they've received bitcoins that they never actually received.

So, if you are asking about a true double spend, then no, it hasn't ever happened.  It never will.

If you are asking about a scam where someone is tricked into believing that they've received bitcoins that they haven't due to the target's own misunderstanding about how bitcoin works, then yes.  That has happened many times.

That's the way to look at this. The only possible real-world double-spend is a transaction lanced in order to trick your victim into believing they received their Bitcoins, when the real transaction that is being accepted in the Blockchain goes to an address you control yourself.
full member
Activity: 196
Merit: 100
Hi
A true double-spend would generate new Bitcoins from nothing. So far, nobody has been able to do that. If they had, it would be recorded in the block chain.
This is not true, nor is your statement about not being able to generate bitcoin out of nothing true.

A double spend is exactly what it's name implies, spending the same input twice. If someone were to double spend an input they would broadcast a transaction to the network, receive something of value in exchange for that transaction and then get a 2nd transaction that spends at least one of the same inputs to get confirmed in the longest blockchain, invalidating the 1st transaction.

When there was still very little transaction volume someone was able to manipulate some part of of a transaction so that the output would be an unlimited amount of bitcoin; they were able to generate billions of bitcoin to an address they choose. Luckily transaction volume was very low at the time so an announcement on bitcointalk was enough to get people to not send any additional transactions until the issue was fixed, the protocol was quickly forked to prevent this "bug" from being exploited while reverting back to the block prior to when the bug was first exploited   
newbie
Activity: 20
Merit: 0
it doesnt make sense
legendary
Activity: 1204
Merit: 1002
There have been attacks on buyers who accepted zero-confirmation transactions. This happened most notoriously with SatoshiDICE. At one time they paid out immediately on wins of zero-conf bets. Someone realized they could undo a losing bet by attempting a double-spend.  This didn't generate extra Bitcoins, but it invalidated the payment to the betting firm, effectively canceling the previous transaction. With everything anonymous, this could be repeated endlessly.

So, nobody does zero-conf transactions with instant return of anything of non-trivial value any more.

A true double-spend would generate new Bitcoins from nothing. So far, nobody has been able to do that. If they had, it would be recorded in the block chain.

legendary
Activity: 1008
Merit: 1000
It is that easy with 0 confirmations and no fee, multi-bit will let you set your date back in order to have balance again. I had no real knowledge of the Blockchain when I did it, just that I needed to resend the original transaction with a higher fee so it would be included into miner's transactions before my first transaction.

That won't work, the nodes will reject it if you do soon after the first transaction. You will have to wait 24-48 hours, try rolling back and then sending it again.
legendary
Activity: 1008
Merit: 1000
-snip-
Its not easy. You will have to set up two transaction points spatially separated and do transaction from them quickly so that the transaction from one is not yet propagated to the nodes close by the other. As soon as the transaction gets to most nodes, they will reject any new transactions.

Its not that hard if you have time because you dont want to screw anyone. Nodes tend to remove transactions from their mempool. Not sure if there is a timeout, but nodes get restarted and rebooted all the time removing your 1st unconfirmed transactions from their memory. They will now accept your 2nd transactions and broadcast it. I had a similar "problem" where I tried to combine 4 low value inputs into a single input without paying a fee. The TX had an overall BTC value of 0.0022 and the inputs had been several hundred blocks old, but of course this was not enough to get a high enough priority. Thus I had to remove the transaction from my bitcoin core with pywallet and create a new one - a double spend - which paid a fee. The 2nd transaction propagated fast and was confirmed within the next few blocks.

It means intentionally send a transaction of an low priority and hope it does not get confirmed. This kind of attack can be easily prevented by accepting 0 confirm transactions only for a sufficient high priority. I think thats what the merchants do.
member
Activity: 112
Merit: 10
Double spend is closely linked to the 51% attack issue.
As long as you wait 6 confirmations for your bitcoins, you should be safe from somebody double spending those bitcoins.  Smiley

so there are cases where a transaction with 1 confirmation was undone? 

from this thread I have learnt that people have double spent on accident, or on purpose trying to scam from sites not taking secondary measures, but these were cases with low or no transaction fees so the network hadn't processed them. 
legendary
Activity: 1582
Merit: 1064
Double spend is closely linked to the 51% attack issue.
As long as you wait 6 confirmations for your bitcoins, you should be safe from somebody double spending those bitcoins.  Smiley
legendary
Activity: 4542
Merit: 3393
Vile Vixen and Miss Bitcointalk 2021-2023
I see you like gambling... Smiley
The first condition is the most critical and makes it much less of a gamble:

  • I had reliable identifying information about the sender

As long as you can reliably identify who you're transacting with, you can sue them if they defraud you. When deciding whether to accept 0-confirmation transactions, the question is not, "Can they double-spend?" (of course they can), but rather, "Can I do anything to recover my losses if they do?", and in many cases the answer is "yes, probably".
legendary
Activity: 882
Merit: 1024
-snip-
Its not easy. You will have to set up two transaction points spatially separated and do transaction from them quickly so that the transaction from one is not yet propagated to the nodes close by the other. As soon as the transaction gets to most nodes, they will reject any new transactions.

Its not that hard if you have time because you dont want to screw anyone. Nodes tend to remove transactions from their mempool. Not sure if there is a timeout, but nodes get restarted and rebooted all the time removing your 1st unconfirmed transactions from their memory. They will now accept your 2nd transactions and broadcast it. I had a similar "problem" where I tried to combine 4 low value inputs into a single input without paying a fee. The TX had an overall BTC value of 0.0022 and the inputs had been several hundred blocks old, but of course this was not enough to get a high enough priority. Thus I had to remove the transaction from my bitcoin core with pywallet and create a new one - a double spend - which paid a fee. The 2nd transaction propagated fast and was confirmed within the next few blocks.

It is that easy with 0 confirmations and no fee, multi-bit will let you set your date back in order to have balance again. I had no real knowledge of the Blockchain when I did it, just that I needed to resend the original transaction with a higher fee so it would be included into miner's transactions before my first transaction.
copper member
Activity: 1498
Merit: 1528
No I dont escrow anymore.
-snip-
Its not easy. You will have to set up two transaction points spatially separated and do transaction from them quickly so that the transaction from one is not yet propagated to the nodes close by the other. As soon as the transaction gets to most nodes, they will reject any new transactions.

Its not that hard if you have time because you dont want to screw anyone. Nodes tend to remove transactions from their mempool. Not sure if there is a timeout, but nodes get restarted and rebooted all the time removing your 1st unconfirmed transactions from their memory. They will now accept your 2nd transactions and broadcast it. I had a similar "problem" where I tried to combine 4 low value inputs into a single input without paying a fee. The TX had an overall BTC value of 0.0022 and the inputs had been several hundred blocks old, but of course this was not enough to get a high enough priority. Thus I had to remove the transaction from my bitcoin core with pywallet and create a new one - a double spend - which paid a fee. The 2nd transaction propagated fast and was confirmed within the next few blocks.
legendary
Activity: 1008
Merit: 1000
If you are talking about 0 confirmation transactions then it's rather easy to double spend. Send a transaction with no fee, then roll back your transactions and send the same transaction with a higher fee so it gets included into the Blockchain first, rejecting the first transaction. This only applies to accepting 0 confirmation transactions though, you would need a lot of mining power to try and get transactions with one or more confirmation through.

It just so happened that my first transaction I sent with Bitcoin was with no fee and was stuck for 4-5 days trying to get into BTC-e with no confirmations and so had to do something. The first transaction was left in perpetual limbo as 0 confirmations so technically it wasn't a double spend.

Its not easy. You will have to set up two transaction points spatially separated and do transaction from them quickly so that the transaction from one is not yet propagated to the nodes close by the other. As soon as the transaction gets to most nodes, they will reject any new transactions.
sr. member
Activity: 249
Merit: 250
December 31, 2014, 12:54:28 PM
#36
Many people including Mt Gox have double spent bitcoins Shocked
legendary
Activity: 1302
Merit: 1008
Core dev leaves me neg feedback #abuse #political
December 31, 2014, 12:04:34 PM
#35
I sp34ks interweb, anything-fu = comparison to a martial art, masters of martial arts have black belts of rank 1st dan, 2nd dan, 3rd dan etc...

Not to nitpick but dan typically applies to Japanese martial arts. Kung Fu uses a different term for black belt ranks.

Traditional Shaolin Chinese Kung-Fu uses sashes (not belts).
Pages:
Jump to: