Stedsm
Legendary
Offline
Activity: 3052
Merit: 1273
|
|
September 28, 2014, 12:35:45 PM |
|
How is regular shoping going to work if it takes a while to confirm? like you go to a supermarket with your phone and then pay, what happens if you have to wait to get it confirmed??
One way is off-blockchain transactions. So if then exchange had a deal to be a processor for the supermarket and you can send funds from your Exchange account so it all happens within the exchange. There could also be deal to use "green addresses" where your online wallet sending address is trusted by the supermarket. So if you sent funds from your exchange wallet and the supermarket trusts the exchange. Or, the supermarket will accept your 0-confirmation bitcoin transaction as long as it has minimum fee attached. Double-spending is extremely hard unless you have a significant proportion of network hashrate, and so it is very very unlikely a casual supermarket customer has the ability to double-spend successfully. As far as I know, there hasn't been a double spend in over 2 years. I doubt there will be one ever again.
|
| .SHUFFLE.COM.. | ███████████████████████ ███████████████████████ ███████████████████████ ███████████████████████ ███████████████████████ ███████████████████████ ███████████████████████ ███████████████████████ ███████████████████████ ███████████████████████ ███████████████████████ ███████████████████████ ███████████████████████ | ███████████████████████ ███████████████████████ ███████████████████████ ███████████████████████ ███████████████████████ ███████████████████████ ███████████████████████ ███████████████████████ ███████████████████████ ███████████████████████ ███████████████████████ ███████████████████████ ███████████████████████ | . ...Next Generation Crypto Casino... |
|
|
|
Pkofet
|
|
September 28, 2014, 01:05:17 PM |
|
How is regular shoping going to work if it takes a while to confirm? like you go to a supermarket with your phone and then pay, what happens if you have to wait to get it confirmed??
One way is off-blockchain transactions. So if then exchange had a deal to be a processor for the supermarket and you can send funds from your Exchange account so it all happens within the exchange. There could also be deal to use "green addresses" where your online wallet sending address is trusted by the supermarket. So if you sent funds from your exchange wallet and the supermarket trusts the exchange. Or, the supermarket will accept your 0-confirmation bitcoin transaction as long as it has minimum fee attached. Double-spending is extremely hard unless you have a significant proportion of network hashrate, and so it is very very unlikely a casual supermarket customer has the ability to double-spend successfully. As far as I know, there hasn't been a double spend in over 2 years. I doubt there will be one ever again. While double-spending is rare, I don't think it is that rare. You can take a look at https://blockchain.info/double-spends to check the latest 20 double-spending attempts.
|
|
|
|
shorena
Copper Member
Legendary
Offline
Activity: 1498
Merit: 1540
No I dont escrow anymore.
|
|
September 28, 2014, 01:10:28 PM |
|
-snip- Or, the supermarket will accept your 0-confirmation bitcoin transaction as long as it has minimum fee attached. Double-spending is extremely hard unless you have a significant proportion of network hashrate, and so it is very very unlikely a casual supermarket customer has the ability to double-spend successfully.
As far as I know, there hasn't been a double spend in over 2 years. I doubt there will be one ever again. This all depends on what you understand as "double spend". Its especially hard if you want to revoke a confirmation (">50%-attack"), which seems not to be the case here. Why be afraid of a 1 confirmation revoke if you are talking about 0 confirmation TX? Anyway a 0 confirmation TX can be "double spend"* if the TX is badly propagated through the network and has a low or no fee. In this case it would be possible to generate another TX that spends the same inputs but pays a (higher) fee and uses a full node with plenty connections to broadcast it to the network. This is indeed nothing a casual supermarket customer would or could pull off. On the other hand the supermarket could demand a fee on the TX and set up several nodes to see how good the TX has been propageted to make a possible doublespend even harder. * its not actually spend twice, but for the sake of the argument lets call it that. People generally have different ideas of what a double spend actually is. I have no idea what this list by bc.i want to tell me, most of the TXs look pretty normal.
|
Im not really here, its just your imagination.
|
|
|
CIYAM
Legendary
Offline
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
|
|
September 28, 2014, 01:14:13 PM |
|
Yes - the term "double spend" seems to imply that someone "spending the same BTC twice" has been recorded in the blockchain (but no such event has or *can* occur - because if it *could* then Bitcoin would be *pointless*).
What the term is generally referring to is a "double-spend attempt" whereby one tx spending certain UTXO's can end up being "replaced" by another (most usually when 0 confirmations have occurred - and in fact I'm not aware of any such events happening when there was 1 or more confirmations although potentially that might have happened we had the "fork" back in early 2013).
The easiest way to perform such an attack is to provide *no fee" in the initial tx and provide a "generous fee" in the "replacement tx".
Depending upon how you do this it can be actually successful (and is not so hard) so it is never advised for vendors to accept zero confirmations (especially those without any fee).
|
|
|
|
Pkofet
|
|
September 28, 2014, 01:16:30 PM |
|
People generally have different ideas of what a double spend actually is. I have no idea what this list by bc.i want to tell me, most of the TXs look pretty normal. What about this vs this? The two different transactions are broadcast at the same second (according to bc.i received time) and have 2 different destination addresses.
|
|
|
|
CIYAM
Legendary
Offline
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
|
|
September 28, 2014, 01:21:57 PM |
|
What about this vs this? The two different transactions are broadcast at the same second (according to bc.i received time) and have 2 different destination addresses. Perhaps the "wording" used in blockchain.info could be better (i.e. "double-spend attempt" vs. "double-spend"). Of course until at least 1 confirmation has occurred it is impossible for them to identify which one is the one that "will go through" (apart from perhaps guess by looking at the tx fee which would not have helped in this case - but they should probably change the wording after x confirmations as the other is never going to confirm then). Note that https://blockchain.info/tx-index/65484044 has 47 confirmations (so it is a *real* tx) whereas https://blockchain.info/tx-index/65484042 has no confirmations (and is never going to get any unless Bitcoin has a major disaster).
|
|
|
|
shorena
Copper Member
Legendary
Offline
Activity: 1498
Merit: 1540
No I dont escrow anymore.
|
|
September 28, 2014, 01:28:15 PM |
|
What about this vs this? The two different transactions are broadcast at the same second (according to bc.i received time) and have 2 different destination addresses. Perhaps the "wording" used in blockchain.info could be better (i.e. "double-spend attempt" vs. "double-spend"). Yes, my problem is basically that for me a double spend would be if one of the TX had at least one confirmation, but I cant tell how common this idea is. People generally have different ideas of what a double spend actually is. I have no idea what this list by bc.i want to tell me, most of the TXs look pretty normal. What about this vs this? The two different transactions are broadcast at the same second (according to bc.i received time) and have 2 different destination addresses. This looks interesting. The time is not relevant though. Its just the time bc.i received the TX. They however spend the exact same inputs. It might have been an experiment of sorts, since one was transmitted to bc.i from a node in germany and the other one from a node in japan and the amount of BTC transfered is very low. {"double_spend":true,"block_height":322877,"time":1411876758,"inputs":[{"sequence":4294967295,"prev_out":{"n":0,"value":30000,"addr":"15KUh45rrsDWxffxyAvNtZZqivA3uuSWT2","tx_index":65485082,"type":0,"script":"76a9142f5f1af9b3dc4806d8f4b11aa5fb880d18b12da988ac"},"script":"483045022100eec570ea9dd29d0c25be3f56cf5e13f3be53e129e16f63d032c0b817ed1e9f0c0220344bfe30580bfe3e255a80c321694fceed28061692e045918cc25ef7d4ef4f9d01410400d81973c54901ea63f2fe2b5214f707dbac4e5c499ad1364d8148ee9c93663bded0f86c0f6ceaa2747d8ad4034dfeea781c9b16f202f22e76cfe64f01d49980"}],"vout_sz":1,"relayed_by":"106.187.96.219","hash":"1ae0763c896d1da162c7be8c998970231c5b38786db0ec93e6efc6cdd7d240a9","vin_sz":1,"tx_index":65484044,"ver":1,"out":[{"n":0,"value":10000,"addr":"1tokyoKz3RTWDNVLdGCBjEHkdvbAxh9rm","tx_index":65484044,"spent":true,"type":0,"script":"76a91409cc3ef2423ff7d0c3552d6b2b8efdcfef7c8fbb88ac"}],"size":224}
{"double_spend":true,"time":1411876758,"inputs":[{"sequence":4294967295,"prev_out":{"n":0,"value":30000,"addr":"15KUh45rrsDWxffxyAvNtZZqivA3uuSWT2","tx_index":65485082,"type":0,"script":"76a9142f5f1af9b3dc4806d8f4b11aa5fb880d18b12da988ac"},"script":"483045022100a96c1da1bc72172180ebab6ef9837727c065f851d50813059f188ada07c19faf022018365f048eab41617ab706c2e62f1379e1918d1fa26f0c163a1ff8f4248ddb7a01410400d81973c54901ea63f2fe2b5214f707dbac4e5c499ad1364d8148ee9c93663bded0f86c0f6ceaa2747d8ad4034dfeea781c9b16f202f22e76cfe64f01d49980"}],"vout_sz":1,"relayed_by":"5.9.104.212","hash":"9ea1dc2e2d9dca8e66022df9d63f4922e2ee92ad2354db1d6b3128d8b71cd7bd","vin_sz":1,"tx_index":65484042,"ver":1,"out":[{"n":0,"value":10000,"addr":"1o24eTapXpEWZcPi1B3JDegjDuhWPauN7","tx_index":65484042,"spent":true,"type":0,"script":"76a91408b4057f38740cc77c3b15c2e9e3ca81a9c26a1188ac"}],"size":224}
|
Im not really here, its just your imagination.
|
|
|
amaclin
Legendary
Offline
Activity: 1260
Merit: 1019
|
|
September 28, 2014, 01:29:29 PM |
|
What about this vs this? The two different transactions are broadcast at the same second (according to bc.i received time) and have 2 different destination addresses. It is not a big problem to create two (three, four...) transactions to different addresses and send them in one second to different nodes. It might have been an experiment of sorts Definetely yes.
|
|
|
|
CIYAM
Legendary
Offline
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
|
|
September 28, 2014, 01:34:46 PM |
|
Yes, my problem is basically that for me a double spend would be if one of the TX had at least one confirmation, but I cant tell how common this idea is.
Small re-orgs (of 1-2 blocks) do happen fairly often but generally don't involve such "tx replacements" (although that of course *could happen*) this is why you should care about confirmations (the more valuable the tx the more you'd generally want to wait). If I was say accepting BTC for something as valuable as a *house* then I'd probably want to wait for 100 confirmations (although maybe you think that would be "going overboard"). For a face-to-face situation involving even a few thousand dollars I would be basically happy with just a couple.
|
|
|
|
Minnlo
|
|
September 28, 2014, 01:36:31 PM |
|
So after all, accepting 0 conf. transaction isn't safe at all, even if the transacted amount is rather small and the transaction has enough fee?
|
|
|
|
CIYAM
Legendary
Offline
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
|
|
September 28, 2014, 01:38:03 PM |
|
So after all, accepting 0 conf. transaction isn't safe at all, even if the transacted amount is rather small?
It is always possible to "game" 0 confirmations - so yes you are taking the risk of getting played if you do this. Of course this depends upon "what you are selling" (if it is a service like a VPS you can always *switch it off* when the payment later fails - but if it is a "coffee" then you "probably don't want it returned after it has been consumed").
|
|
|
|
fathur01
|
|
September 28, 2014, 01:43:03 PM |
|
So after all, accepting 0 conf. transaction isn't safe at all, even if the transacted amount is rather small and the transaction has enough fee?
if you send 1 btc with 0 fee it will still confirm eventually. But 0.001 with 0 fee wont confirm and will go back to the senders address, scamming the seller from his item.
|
|
|
|
Minnlo
|
|
September 28, 2014, 01:44:19 PM |
|
So after all, accepting 0 conf. transaction isn't safe at all, even if the transacted amount is rather small?
It is always possible to "game" 0 confirmations - so yes you are taking the risk of getting played if you do this. Of course this depends upon "what you are selling" (if it is a service like a VPS you can always *switch it off* when the payment later fails - but if it is a "coffee" then you "probably don't want it returned after it has been consumed"). I see. Thanks for your clarifications. So, it seems the only safe way to handle coffee shop and supermarket payments is to do it through offchain transactions.
|
|
|
|
Minnlo
|
|
September 28, 2014, 01:47:11 PM |
|
So after all, accepting 0 conf. transaction isn't safe at all, even if the transacted amount is rather small and the transaction has enough fee?
if you send 1 btc with 0 fee it will still confirm eventually. But 0.001 with 0 fee wont confirm and will go back to the senders address, scamming the seller from his item. But the problem we are concerning here is the potential double spending attempts, which if success the transaction may never be confirmed.
|
|
|
|
CIYAM
Legendary
Offline
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
|
|
September 28, 2014, 01:51:59 PM |
|
But the problem we are concerning here is the potential double spending attempts, which if success the transaction may never be confirmed.
Yup - the easiest way to "game" is to send a tx with "no fee" (that has reasonably aged inputs and a not too tiny output amount) through the "normal channels" (which looks legit but has "low priority") and then send the same tx with a "fee" (and of course a *different output address*) directly to a "friendly mining pool" (i.e. one that prefers fees over no fees) very shortly afterwards.
|
|
|
|
shorena
Copper Member
Legendary
Offline
Activity: 1498
Merit: 1540
No I dont escrow anymore.
|
|
September 28, 2014, 02:07:46 PM |
|
But the problem we are concerning here is the potential double spending attempts, which if success the transaction may never be confirmed.
Yup - the easiest way to "game" is to send a tx with "no fee" (that has reasonably aged inputs and a not too tiny output amount) through the "normal channels" (which looks legit but has "low priority") and then send the same tx with a "fee" (and of course a *different output address*) directly to a "friendly mining pool" (i.e. one that prefers fees over no fees) very shortly afterwards. The sad thing is that you dont actually need to know someone running a mining pool as there are services out there for this. Thus, allways be sceptic when a TX has no fees E.g. bitundo
|
Im not really here, its just your imagination.
|
|
|
Brad Pitt
Member
Offline
Activity: 64
Merit: 10
|
|
September 28, 2014, 02:09:28 PM Last edit: August 13, 2015, 12:11:04 PM by Brad Pitt |
|
I'm pretty new to bitcoin but I have a question I'm unsure of. Can you spend bitcoin as soon as it is sent to you or do you have to wait for it to fully confirm? I've read different answers that you can and cant. Thanks.
1MCLsSdL6NijcZFL2jQWo3oEvHWoez6uSU
|
|
|
|
CIYAM
Legendary
Offline
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
|
|
September 28, 2014, 02:10:22 PM |
|
The sad thing is that you dont actually need to know someone running a mining pool as there are services out there for this. Thus, allways be sceptic when a TX has no fees E.g. bitundo Not surprised - which is why accepting 0 confirmations is "not a smart idea" in general.
|
|
|
|
CIYAM
Legendary
Offline
Activity: 1890
Merit: 1086
Ian Knowles - CIYAM Lead Developer
|
|
September 28, 2014, 02:11:37 PM |
|
I'm pretty new to bitcoin but I have a question I'm unsure of. Can you spend bitcoin as soon as it is sent to you or do you have to wait for it to fully confirm? I've read different answers that you can and cant. Thanks.
I think that varies from "client to client" (the protocol won't stop it - but you'll end up with "stuck txs" due to the dependencies). From memory the most recent versions of "bitcoin-core" won't use unconfirmed "inputs" (but don't quote me on that - as I am not 100% certain).
|
|
|
|
amaclin
Legendary
Offline
Activity: 1260
Merit: 1019
|
|
September 28, 2014, 02:12:26 PM |
|
you dont actually need to know someone running a mining pool as there are services out there for this. There are no such services. Now. Point.
|
|
|
|
|