Author

Topic: Double Spending + Off Chain Transactions (Read 908 times)

sr. member
Activity: 448
Merit: 250
It's Money 2.0| It’s gold for nerds | It's Bitcoin
June 13, 2014, 10:28:23 PM
#6
Hi all,

Apologies in advance if this is a stupid question or I'm misunderstanding something basic, but I've read about potential security issues with off-the-blockchain transactions through intermediaries and have a question. The main take-away I've gotten is that intermediaries don't confirm transactions with with the public ledger, so transactions are promises of bitcoin transfers rather than actual transfers.

How does the blockchain prevent double-spending if, say, Alice spends her bitcoins through an intermediary by buying things on Overstock or something (off-chain) and then attempts to make a normal transaction to Bob on-chain? How is this detected?

Thanks in advance for help!

As long as the coins that the 3rd party holding your coins are not compromised you should be fine. You do have the risk that the 3rd party looses x% of their coins from a double spend attack, if this was the case then you would likely encur a loss of x%. This would be regardless of when you has transferred your coins around "off chain"
newbie
Activity: 4
Merit: 0
Thanks for the replies!

Recap: If I'm trading on an exchange, I have to "deposit" my bitcoins into the exchange "shared wallet," which is a transaction on the blockchain, right? So then high-frequency transactions can occur after that happens. Make sense.

I'm still a bit confused about the situation with intermediaries though. I thought the whole point of something like Coinbase is to have instantaneous confirmation (for micro-transactions) and to take on regulatory and exchange rate risk for the online retailers.

So if I'm trying to pay Overstock for an iPhone case in bitcoin, for instance, then that transaction doesn't need to be validated via the block chain and doesn't take 10 minutes - the off-chain validation happens immediately. Are you guys saying that each transaction is still validated on the blockchain later and that the intermediary is just taking on the risk that it won't be valid? That doesn't make sense to me because then how do off-chain transactions via intermediaries undermine the idea of a decentralized virtual currency, as some argue?
sr. member
Activity: 381
Merit: 250
Hi all,

Apologies in advance if this is a stupid question or I'm misunderstanding something basic, but I've read about potential security issues with off-the-blockchain transactions through intermediaries and have a question. The main take-away I've gotten is that intermediaries don't confirm transactions with with the public ledger, so transactions are promises of bitcoin transfers rather than actual transfers.

How does the blockchain prevent double-spending if, say, Alice spends her bitcoins through an intermediary by buying things on Overstock or something (off-chain) and then attempts to make a normal transaction to Bob on-chain? How is this detected?

Thanks in advance for help!

I might be misunderstanding your question, but from limited understanding you actually send your coins to the Intermediary service and it gets cemented in the blockchain at this point when you "pay", they wait for confirmations on the network, then the intermediate party pays Overstock cash and they will send you your stuff. When you do this your coins leave your address and are sent to the Intermediary services address and are confirmed in the blockchain. Now when you try to send bob coins the blockchain has the transactions you made sending the coins to "Overstock" in payment, if your talking about making two transactions at once, it simply would just be a case of which transaction is completed faster. If you don't have the coins for the second transaction it would be rejected by the network I assume.

legendary
Activity: 4424
Merit: 4794
when an exchange accepts a bitcoin deposit. this IS validated on the blockchain.

but then a SQL database is then given a balance (off-chain) exchanges do trades and process orders off chain. so yes there is a real risk that balance amounts can be inflated or deflated due to errors in the exchanges code.

also when a user decides to withdraw, his balance may have more then it deserves and th exchange has to trust that the balance, after all the off chain trading. is accurate. so yes there is a chance of a customer of an exchange walking away with more bitcoins.

and that is the lame excuse that mtgox usd to steal funds. blaming their own code for giving out more coins then it should.. well one of the many excuses atleast.

either way if customers take out more coins then they should, then it is the fault of the exchange for not coding it correctly.
hero member
Activity: 1582
Merit: 502
I don't think any merchant accepts to do business for 0 confirmations.

I believe that is the only way Alice can double spend.

On the other hand, if Alice had ALOT of hashing power, to the point that guarantees to her that she would insert her transaction in the block and transmit to the network as valid then Alice can double spend.

I could be wrong here, but that is how I understand it.
newbie
Activity: 4
Merit: 0
Hi all,

Apologies in advance if this is a stupid question or I'm misunderstanding something basic, but I've read about potential security issues with off-the-blockchain transactions through intermediaries and have a question. The main take-away I've gotten is that intermediaries don't confirm transactions with with the public ledger, so transactions are promises of bitcoin transfers rather than actual transfers.

How does the blockchain prevent double-spending if, say, Alice spends her bitcoins through an intermediary by buying things on Overstock or something (off-chain) and then attempts to make a normal transaction to Bob on-chain? How is this detected?

Thanks in advance for help!
Jump to: