<h2>The direct effects of the netsplit</h2>

<p>Miners in both the European network and the American network will continue to find blocks and validate transactions in their respective network part. However, until the difficulty will be adjusted, the validation will be slower, because the difficulty was set for a greater mining power than is available in each part of the world. </p>

<p>Let's assume that </p>

<ul>
<li>2/3 of the mining power are in the Americas and 1/3 is in Europe</li>
<li>the hashing power remains constant (simplification) for the time of the network split</li>
<li>the network was operating at a previous block interval of 10 minutes in average before the split</li>
</ul>

<p>Then the Americas should find a block every 15 minutes and the European network should take 30 minutes per block after the split. When the difficulty adjustment block is reached, both networks will return to creating blocks every 10 minutes in average. However, up to the adjustment the Americas will be twice as fast and thus their blockchain will be ahead significantly, specifically one and a half blocks for each block that had to be mined until the difficulty was scheduled to be adjusted.</p>

<h2>John can spend his money again</h2>

<p>When John goes to the Americas, the transactions sent in the European network have not been taken into account there. His wallet thus will still allow him to spend all the bitcoins that he had before the netsplit. He can now cheat Henry out of the money: John decides to send all the money to another of his own addresses.<sup>*</sup></p>

<h2>Reconnection: Shorter blockchain will be invalidated</h2>

<p>Now, when the connection of the two networks is reconciliated, the American network's blockchain is longer (i.e. the total difficulty of the mined blocks is greater). All blocks in the European blockchain mined since the network split will be rejected by the American network, the European miners will retroactively lose their mining gains. The transaction John did in the Americas takes precedent, because it is part of the blockchain there and the transactions of the European network are just now readmitted to be validated by the global network. John's balance had already been sent to his other address, so the transaction that now tries to send the bitcoins to Henry is thrown out as invalid.</p>

<p>Alice, who had sent money to Bob in Europe, will see that her transaction (along with all others that were only seen in the European network) will go back to being unconfirmed in the new global blockchain (that is based on the longer American blockchain), because the block that had validated it in Europe has been obsoleted. The transactions that had been sent in the American network don't see any effect.</p>

<p>The global network will now find a new block every 6.67 minutes, until the difficulty is readjusted, because it had reduced the difficulty to fit the American miners' hashpower and is now returning to full power.</p>

<hr>

<p><sup>*</sup><sup><em>However, if Gustav had taken his computer with him from Europe and connected it to the American bitcoin network before John arrived, Gustav could have submitted all transactions that had meanwhile occured in Europe to the American network as well, and John would not have been able to spend his balance again.</em></sup></p>

CC BY-SA 3.0
2013-08-26T18:02:34.990Z
2015-07-16T18:40:35.617Z
2015-07-16T18:40:35.617Z
Murch
<p>I'm trying to understand the Bitcoin protocol, and I have a security scenario. </p>

<ol>
<li>Let's assume that today between the internet connection between Europe and America is lost.</li>
<li>John is in Europe</li>
<li>John sends money to Henry while he is in Europe.</li>
</ol>

<p>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.</p>

<p>Can John send the same money to another Bitcoin client? In America nobody knows what John did in Europe.</p>

<p>If he can send the same money again in America, what will happen when America and Europe reconnect?</p>

<p>Edit after Murch's answer:</p>

<p>I have a new story, it is the same except for some little modifications.</p>

<ol>
<li><p>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.</p></li>
<li><p>John, Alton and other peers are located in an isolated network. </p></li>
<li><p>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.</p></li>
<li><p>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.</p></li>
<li><p>John releases Alton's router, now Alton can connect to internet.</p></li>
<li><p>When Alton connects to internet he will see that his transaction is unconfirmed in the global block chain.</p></li>
</ol>

<p>I think Alton needs a service to confirm that he had a real transaction and it is confirmed in global block chain. </p>

<p>Are there a service like this? I don't know do we really need a service to confirm transactions?</p>

CC BY-SA 3.0
2013-08-26T22:31:56.907Z
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
CC BY-SA 3.0
2013-08-26T22:33:28.657Z
Next time please start a new question for a new scenario, though. :)
Murch
CC BY-SA 3.0
2013-08-27T15:38:22.597Z
To 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
CC BY-SA 3.0
2013-08-29T13:14:16.850Z
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
CC BY-SA 3.0
2013-08-29T19:58:59.117Z
possible duplicate of [What would happen if a portion of the Bitcoin network was separated from the rest of the network?](http://bitcoin.stackexchange.com/questions/1738/what-would-happen-if-a-portion-of-the-bitcoin-network-was-separated-from-the-res)
Murch
CC BY-SA 3.0
2015-07-17T01:02:35.953Z
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
<transactions><protocol><blockchain-fork>
Is the Bitcoin protocol secure if two parts of the network have no connection?
fobus
# Is the Bitcoin protocol secure if two parts of the network have no connection?

(Asked by: username_0 on 2013-08-26)

I'm trying to understand the Bitcoin protocol, and I have a security scenario.

1. Let's assume that today between the internet connection between Europe and America is lost.
2. John is in Europe
3. 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 username_1's answer:

I have a new story, it is the same except for some little modifications.

1. 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.
2. John, Alton and other peers are located in an isolated network.
3. 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.
4. 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.
5. John releases Alton's router, now Alton can connect to internet.
6. 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?

**Tags:** transactions, protocol, blockchain-fork

> **Comments:**
> **username_1**: 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.  
> **username_1**: Next time please start a new question for a new scenario, though. :)  
> **username_2**: To 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>  
> **username_0**: 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?  
> **username_1**: possible duplicate of [What would happen if a portion of the Bitcoin network was separated from the rest of the network?](http://bitcoin.stackexchange.com/questions/1738/what-would-happen-if-a-portion-of-the-bitcoin-network-was-separated-from-the-res)  
> **username_3**: 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.  

---

## 1 answers

### Answer by username_1 on 2013-08-26. Score: 5

## The direct effects of the netsplit

Miners in both the European network and the American network will continue to find blocks and validate transactions in their respective network part. However, until the difficulty will be adjusted, the validation will be slower, because the difficulty was set for a greater mining power than is available in each part of the world.

Let's assume that

* 2/3 of the mining power are in the Americas and 1/3 is in Europe
* the hashing power remains constant (simplification) for the time of the network split
* the network was operating at a previous block interval of 10 minutes in average before the split

Then the Americas should find a block every 15 minutes and the European network should take 30 minutes per block after the split. When the difficulty adjustment block is reached, both networks will return to creating blocks every 10 minutes in average. However, up to the adjustment the Americas will be twice as fast and thus their blockchain will be ahead significantly, specifically one and a half blocks for each block that had to be mined until the difficulty was scheduled to be adjusted.

## John can spend his money again

When John goes to the Americas, the transactions sent in the European network have not been taken into account there. His wallet thus will still allow him to spend all the bitcoins that he had before the netsplit. He can now cheat Henry out of the money: John decides to send all the money to another of his own addresses.\*

## Reconnection: Shorter blockchain will be invalidated

Now, when the connection of the two networks is reconciliated, the American network's blockchain is longer (i.e. the total difficulty of the mined blocks is greater). All blocks in the European blockchain mined since the network split will be rejected by the American network, the European miners will retroactively lose their mining gains. The transaction John did in the Americas takes precedent, because it is part of the blockchain there and the transactions of the European network are just now readmitted to be validated by the global network. John's balance had already been sent to his other address, so the transaction that now tries to send the bitcoins to Henry is thrown out as invalid.

Alice, who had sent money to Bob in Europe, will see that her transaction (along with all others that were only seen in the European network) will go back to being unconfirmed in the new global blockchain (that is based on the longer American blockchain), because the block that had validated it in Europe has been obsoleted. The transactions that had been sent in the American network don't see any effect.

The global network will now find a new block every 6.67 minutes, until the difficulty is readjusted, because it had reduced the difficulty to fit the American miners' hashpower and is now returning to full power.

---

\**However, if Gustav had taken his computer with him from Europe and connected it to the American bitcoin network before John arrived, Gustav could have submitted all transactions that had meanwhile occured in Europe to the American network as well, and John would not have been able to spend his balance again.*


---

