2
1
I'm trying to understand the Bitcoin protocol, and I have a security scenario.
- Let's assume that today between the internet connection between Europe and America is lost.
- John is in Europe
- John sends money to Henry while he is in Europe.
Then John saves his wallet to a CD and travels to America, were he uses another computer. The connection between Europe and America is still broken.
Can John send the same money to another Bitcoin client? In America nobody knows what John did in Europe.
If he can send the same money again in America, what will happen when America and Europe reconnect?
Edit after Murch's answer:
I have a new story, it is the same except for some little modifications.
John is a bad boy. He cracked Alton's router and put him into a fake network. This network includes some (fake) Bitcoin peers that don't have a connection to internet.
John, Alton and other peers are located in an isolated network.
John sends money to Alton. Alton and the other isolated peers confirm this transaction, but it is not confirmed in the global block chain yet. Now, Alton thinks that he has the money.
John takes his wallet and connects to internet. And sends the same money to his other account. This transaction is confirmed in global block chain.
John releases Alton's router, now Alton can connect to internet.
When Alton connects to internet he will see that his transaction is unconfirmed in the global block chain.
I think Alton needs a service to confirm that he had a real transaction and it is confirmed in global block chain.
Are there a service like this? I don't know do we really need a service to confirm transactions?
Concerning your edit: I doubt that John alone could confirm the transaction, as the difficulty would still be the same as before the network was isolated. The rest should work, except I would think that Alton should notice either that he is not connected to the internet anymore, that he is not receiving any records of transactions from other people, or that he hasn't received a valid block since he was put into the isolated network. That means such an attack would have to be timed very well and worth it. Yet given a valuable deal, Alton would probably insist on waiting for some confirmations. – Murch – 2013-08-26T22:31:56.907
1Next time please start a new question for a new scenario, though. :) – Murch – 2013-08-26T22:33:28.657
possible duplicate of What would happen if a portion of the Bitcoin network was separated from the rest of the network?
– Murch – 2013-08-29T19:58:59.117To the edit:<br> What do you understand as "global" blockchain?<br> How can you tell which one is global? <br> There is blockchain.info and block-explorer.com, which shows transactions relayed to them.<br> However, somebody can still put them in Alton place and cheat them. Or worse, they can cheat you on purpose. Will their blockchain be still global? <br> – ripazha – 2013-08-27T15:38:22.597
I don't know how to define global block chain %100 correctly. I think it is the longest block chain in the network. Can you please answer on your own questions please? – fobus – 2013-08-29T13:14:16.850
Note that at today's prices, it would cost around $45,000 to launch an attack like this. So such a service would only be needed for very high-value transactions. You could just confirm with a secure connection to a public block chain service. – David Schwartz – 2015-07-17T01:02:35.953