Author

Topic: Double Spending? (Read 911 times)

full member
Activity: 126
Merit: 100
March 19, 2015, 01:08:43 PM
#5
Thanks a lot to everyone for explaining it to me. I am just too paranoid due to my past experiences with BitCoins.
I just wanted to return to this amazing thing forgetting my past, but turns out it is REALLY hard. Sad

Anyways, thanks a lot everyone Smiley
legendary
Activity: 3472
Merit: 4801
March 19, 2015, 12:59:52 PM
#4
People use the words "double spending" as a generic term when they don't understand the details of what they are discussing (or they believe that the person that they are communicating with won't understand the details).

True double spending (where the exact same unspent outputs are spent in multiple transactions AND more than one of those transactions are in the current blockchain) is impossible with bitcoin.  It has never occurred.

Generally, when most people talk about double spending, they are talking about a situation where an attacker creates a transaction that pays a vicitm and gets their victim to see the unconfirmed transaction in the victim's wallet.  Then the attacker creates a different transaction paying the attacker that spends the exact same unspent outputs, and gets a miner to confirm the second transaction (the one paying the attacker).  If the attacker can convince the victim to give them something of value prior to the victim noticing that the second transaction exists and is confirmed, then the attacker has successfully stolen the "thing of value" from the victim.

When blockchain.info (and perhaps some other block explorers) talk about double spending, they are talking about a situation that is quite normal and where frequently nothing was lost or stolen.  Blockchain.info even says so right at the top of their "double spend" page:

https://blockchain.info/double-spends
Quote
Double spends on this page may be unintentional. In the event that a double spend is maliciously crafted being listed on this page is no indication that it was successful or any merchant or user lost money as a result.


In that situation blockchain.info is just saying that the user sent a transaction that never got confirmed (perhaps because they forgot to include a transaction fee).  Eventually, blockchain.info stopped broadcasting the transaction and made the funds available for the user to re-send.  When the user re-sent the transaction, it generated a new transactionID, but used the same unspent outputs from the first attempt.  Therefore, since the same unspent outputs were seen in more than one transaction attempt, blockchain.info calls it a "double spend".

hero member
Activity: 560
Merit: 509
I prefer Zakir over Muhammed when mentioning me!
March 19, 2015, 12:59:02 PM
#3
Read this to know more about 'Double Spending' and it's different types: https://en.bitcoin.it/wiki/Double-spending

Explained well and easy to understand.

FYI: It isn't always evil, sometimes if you sent a transaction where address was wrong or any problem in the amount, you maybe able to overcome with double spending.
copper member
Activity: 1498
Merit: 1528
No I dont escrow anymore.
March 19, 2015, 12:56:18 PM
#2
Can someone explain me in "lay-man's" terms what is double spending and what are it's ill affects because I just got 2 transactions but the sender has a warning about double spending.

Every time you receive bitcoin you have something you can spend. This something is called input and its e.g. valued 1 bitcoin. Now if you create a new transaction you have to use at least one input for a transaction to create what is called an output. An output for you is an input for the person you send bitcoins to.
Transactions are one or more inputs and one or more outputs. Now the important thing is that you cant spend half an input. If you received 1 bitcoin in the past you have to use this input entirely. Thats why there is change, but lets not get distracted by that now.
If someone tries to spend the same input twice its called a double spend attempt, because its the attempt to spend the same coins twice. What you can do is to wait for the first confirmation, because an input can only spend once. If that has allready happend and the transaction that uses this input is in a block you can not create a new valid transaction with this input. Thus if you are afraid someone wants to scam you by sending the coins to you and to someone else, just wait for a single confirmation.

Technically it would be possible to reverse a transaction that is already confirmed, but that would require an attacker to have over 50% of the total network hashing power. Its usually called a 51% attack and its very costly.
full member
Activity: 126
Merit: 100
March 19, 2015, 12:43:52 PM
#1
Can someone explain me in "lay-man's" terms what is double spending and what are it's ill affects because I just got 2 transactions but the sender has a warning about double spending.
Jump to: