jonald_fyookball
Legendary
Offline
Activity: 1302
Merit: 1008
Core dev leaves me neg feedback #abuse #political
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
December 31, 2014, 02:50:49 PM |
|
Question is: how could a Joe like me that has 0 hash power be able to double spend even with 0 confirmation transactions that sooner or later will be identified?
I think most wallets won't let you try , so would need a slightly modified version of a wallet that would allow you to broadcast a (non valid ) transaction that has already spent funds.
|
|
|
|
MicroGuy
Legendary
Offline
Activity: 2506
Merit: 1030
Twitter @realmicroguy
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
December 31, 2014, 03:07:51 PM |
|
Question is: how could a Joe like me that has 0 hash power be able to double spend even with 0 confirmation transactions that sooner or later will be identified?
What would happen if you and your wife had cloned wallets and visited two separate merchants who accepted bitcoin and made purchases using synchronized watches?
|
|
|
|
DannyHamilton
Legendary
Offline
Activity: 3472
Merit: 4790
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
December 31, 2014, 03:19:31 PM |
|
Question is: how could a Joe like me that has 0 hash power be able to double spend even with 0 confirmation transactions that sooner or later will be identified?
What would happen if you and your wife had cloned wallets and visited two separate merchants who accepted bitcoin and made purchases using synchronized watches? If: - You both were connected to different peers
- You created the transaction so that both wallets spent the same unspent output
- You could time it so that both of your wallets transmitted your transaction at the exact same time
Then each merchant would have a 50% chance of seeing the unconfirmed transaction at all. In other words, each merchant would have a 50% chance of seeing a transaction with 0 confirmations that sent bitcoins to their address, and a 50% chance that they'd be sitting there waiting for you to pay them, because they don't see the transaction at all. Eventually 1 of the transactions would be confirmed. At that time, the competing transaction would cease to exist. It would be dropped from the memory pools of all peers. The transaction that did get confirmed would be seen by the merchant that the payment was made to with 1 confirmation. So, if you got lucky and both merchants saw their own unconfirmed transaction, and if the merchant allowed you to leave with the merchandise while there were 0 confirmations, then you would have committed "shoplifting" (since you left with merchandise that you didn't pay for) and they would call the police and report the theft. Then the police would review their security cameras, get a description of you from any witnesses, and the shop would be watching for you to return. If the shop is accepting transactions with 0 confirmations, and they aren't completely stupid, then they will require that you provide identifying information (such as a government issued photo ID, or a "frequent customer" card issued by the shop) along with the purchase that will have been recorded with the transaction. This identifying information will also be turned over to the police. Additionally, any merchant that is willing to accept transactions with 0 confirmations really should be running custom software that will maintain connections to a very large number of peers. This custom software should alert them if it received conflicting transactions from different peers. This alert should occur within a second or so of you both sending your transactions. As such, both merchants will immediately know that you are attempting a scam, and that they should not allow you to leave with the merchandise until they see at least 1 confirmation on the transaction. Essentially, a transaction with 0 confirmations is a lot like a personal check. If you have $20 in your bank account, and you and your wife in separate shops each write a check for $18, what will happen? Assuming that the bank doesn't allow you to overdraw your account, one check will "bounce". You'll have committed fraud, or theft, and the merchant can press charges in court if necessary. A merchant should treat a transaction with 0 confirmations with the same scrutiny that they treat a personal check. Of course, since all transactions in bitcoin are completely public, the merchant has extra tools available to them to reduce their risk with bitcoin transactions that they don't have with personal checks (such as monitoring peers for conflicting transactions, and the ability to know for certain that the funds being spent actually exist).
|
|
|
|
Unbelive
Full Member
![*](https://bitcointalk.org/Themes/custom1/images/star.gif) ![*](https://bitcointalk.org/Themes/custom1/images/star.gif)
Offline
Activity: 210
Merit: 100
Invest & Earn: https://cloudthink.io
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
December 31, 2014, 03:45:59 PM |
|
double spant will cost so much money , no borning people will do this thing for bitcoin but i think this will happen in altcoin
Yes i agree. Double spend is a crime and crime never pays off.
|
|
|
|
jonald_fyookball
Legendary
Offline
Activity: 1302
Merit: 1008
Core dev leaves me neg feedback #abuse #political
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
December 31, 2014, 03:47:33 PM |
|
Additionally, any merchant that is willing to accept transactions with 0 confirmations really should be running custom software that will maintain connections to a very large number of peers. This custom software should alert them if it received conflicting transactions from different peers.
+1. We don't hear much of this idea and it is a great answer to complaints about block times.
|
|
|
|
Come-from-Beyond
Legendary
Offline
Activity: 2142
Merit: 1010
Newbie
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
December 31, 2014, 03:50:01 PM |
|
|
|
|
|
DannyHamilton
Legendary
Offline
Activity: 3472
Merit: 4790
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
December 31, 2014, 03:54:53 PM |
|
Additionally, any merchant that is willing to accept transactions with 0 confirmations really should be running custom software that will maintain connections to a very large number of peers. This custom software should alert them if it received conflicting transactions from different peers.
+1. We don't hear much of this idea and it is a great answer to complaints about block times. I have happily accepted transactions in excess of $5000 with 0 confirmations when it met the following conditions: - I had reliable identifying information about the sender
- I was able to see that it was a standard transaction
- The transaction included a reasonable transaction fee
- I was able to determine to my satisfaction that there weren't any competing transactions with identifiable propagation
I had no concern at all. Any merchant can do the same.
|
|
|
|
Flashman
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
December 31, 2014, 04:27:51 PM |
|
Blockchain.info has a flag on one of my addresses accusing it of double spending. However, I think that is based on blockchain.info's flakey timestamping, registering an output several minutes before an input or something.
|
TL;DR See Spot run. Run Spot run. .... .... Freelance interweb comedian, for teh lulz >>> 1MqAAR4XkJWfDt367hVTv5SstPZ54Fwse6
Bitcoin Custodian: Keeping BTC away from weak heads since Feb '13, adopter of homeless bitcoins.
|
|
|
Come-from-Beyond
Legendary
Offline
Activity: 2142
Merit: 1010
Newbie
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
December 31, 2014, 04:28:17 PM |
|
- I was able to determine to my satisfaction that there weren't any competing transactions with identifiable propagation
I see you like gambling... ![Smiley](https://bitcointalk.org/Smileys/default/smiley.gif)
|
|
|
|
Flashman
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
December 31, 2014, 04:33:20 PM |
|
You'd be gambling, Mr Hamilton here is 2nd Dan in Blockchainfu.
|
TL;DR See Spot run. Run Spot run. .... .... Freelance interweb comedian, for teh lulz >>> 1MqAAR4XkJWfDt367hVTv5SstPZ54Fwse6
Bitcoin Custodian: Keeping BTC away from weak heads since Feb '13, adopter of homeless bitcoins.
|
|
|
DannyHamilton
Legendary
Offline
Activity: 3472
Merit: 4790
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
December 31, 2014, 04:37:23 PM |
|
- I was able to determine to my satisfaction that there weren't any competing transactions with identifiable propagation
I see you like gambling... ![Smiley](https://bitcointalk.org/Smileys/default/smiley.gif) Life is a gamble. Every time we step out our front door, we are gambling and taking a chance that we might die. All we can do is mitigate the risks to a tolerable level. The four conditions that I place I accepting a transaction with 0 confirmations are sufficient for bringing the risks to my own personal tolerable level. The increased reduction in risk by getting confirmations is negligible if those four conditions are already met.
|
|
|
|
DannyHamilton
Legendary
Offline
Activity: 3472
Merit: 4790
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
December 31, 2014, 04:38:44 PM |
|
You'd be gambling, Mr Hamilton here is 2nd Dan in Blockchainfu.
I'm assuming that English isn't your first language? I'm having difficulty understanding what you are trying to say in this comment. Perhaps if you post it in your native language, I can decipher it a bit better?
|
|
|
|
Flashman
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
December 31, 2014, 04:43:41 PM |
|
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...
|
TL;DR See Spot run. Run Spot run. .... .... Freelance interweb comedian, for teh lulz >>> 1MqAAR4XkJWfDt367hVTv5SstPZ54Fwse6
Bitcoin Custodian: Keeping BTC away from weak heads since Feb '13, adopter of homeless bitcoins.
|
|
|
Soros Shorts
Donator
Legendary
Offline
Activity: 1617
Merit: 1012
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
December 31, 2014, 05:03:33 PM |
|
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.
|
|
|
|
jonald_fyookball
Legendary
Offline
Activity: 1302
Merit: 1008
Core dev leaves me neg feedback #abuse #political
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
December 31, 2014, 05:04:34 PM Last edit: December 31, 2014, 05:14:50 PM by jonald_fyookball |
|
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).
|
|
|
|
DiabolusLoki
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
December 31, 2014, 05:54:28 PM |
|
Many people including Mt Gox have double spent bitcoins ![Shocked](https://bitcointalk.org/Smileys/default/shocked.gif)
|
|
|
|
Fernandez
Legendary
Offline
Activity: 1008
Merit: 1000
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
January 01, 2015, 08:15:39 AM |
|
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.
|
|
|
|
shorena
Copper Member
Legendary
Offline
Activity: 1498
Merit: 1530
No I dont escrow anymore.
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
January 01, 2015, 08:31:16 AM |
|
-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.
|
Im not really here, its just your imagination.
|
|
|
Crestington
Legendary
Offline
Activity: 882
Merit: 1024
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
January 01, 2015, 08:39:49 AM |
|
-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.
|
|
|
|
Foxpup
Legendary
Offline
Activity: 4466
Merit: 3082
Vile Vixen and Miss Bitcointalk 2021-2023
|
![](https://bitcointalk.org/Themes/custom1/images/post/xx.gif) |
January 01, 2015, 08:45:39 AM |
|
I see you like gambling... ![Smiley](https://bitcointalk.org/Smileys/default/smiley.gif) 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".
|
Will pretend to do unspeakable things (while actually eating a taco) for bitcoins: 1K6d1EviQKX3SVKjPYmJGyWBb1avbmCFM4I am not on the scammers' paradise known as Telegram! Do not believe anyone claiming to be me off-forum without a signed message from the above address! Accept no excuses and make no exceptions!
|
|
|
|