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?