31

Yesterday I asked a question over at SuperUser, so that I could have my facts straight before asking this question. The scenario sets the basis for this question.

Regarding bitcoin, what would happen to the Bitcoin system if a portion of the world had it's internet connection severed with the rest of the world. In other words if, say, all outside communication was lost in the region of Armenia, would the Armenian Bitcoin users, who continue to use Bitcoin, ultimately create a forked block chain?

If so, what would happen to the blockchain when connection to the severed region of the world is restored, and the segregated network is resolved to the primary network?

I imagine the outcome would be similar to a 51% attack. Is that correct?

6
  • Would it be possible to physically transfer files to mitigate the consequences?
    – barrymac
    Oct 26, 2011 at 12:50
  • 1
    Thilo seems to answer in short, but what if the connection is severed for say a month and there is lively transactions in Armenia for that period. Would that cause merging issues upon reconnection?
    – user622
    Oct 26, 2011 at 13:37
  • 2
    @evanh: Assuming nobody actually attempted any double-spend attacks, there would be no problem -- all the 'lost' transactions in the reorganization would eventually be mined into new blocks. What this means is that in order to trust a transaction, you need not just confirmations but also to make sure you're talking to a large enough network. Oct 26, 2011 at 14:09
  • Besides the potential double-spending, I see another potential problem in this scenario: if an Armenian miner keeps mining and spends immediately their earned coins before the reconnection, most probably those transactions will be deemed invalid when the network gets reunified. And, just like @user622, I wonder what would happen if the disruption takes longer than a week - if I understood correctly, transactions can't be live for more than 2 days, so all the isolated Armenian transactions would get reverted, right?
    – Joe Pineda
    Jun 13, 2013 at 21:53
  • 1
    Related: bitcointalk.org/index.php?topic=106302.0 Sep 26, 2013 at 5:30

5 Answers 5

11

It wouldn't be a fork as both chains would only exists as the longest chain until the network was reconnected. As soon as Armenia was reconnected to the internet every client would via block exchange determine there is a longer block and switch to that chain. The orphaned chain would simply be discarded by all clients and eventually the entire network would be "re-unified" under the single longest chain.

In a situation like that it would be difficult but not impossible to pull off a double spend. An attacker would need to have wallets in both sub-networks so coins could be spent in both sub-networks during the "isolation". A precaution to take when isolated from "main internet" is to not process any transactions until the sub-networks have rejoined.

For example a store could accept coins, and prepare orders but not ship them until rejoining the main network and ensuring no double-spend occurred. If a double-spend had occurred the merchant would become aware once the larger network began processing the orphaned transactions and they were reported as invalid by the network. If no double spend occurred those transactions would eventually be included in longest blockchain and become confirmed.

For those in the "main network" there is no risk from a double spend because their chain will remain longest and will survive while overwriting transactions from the smaller sub-network once the networks are rejoined.

2
  • It may be helpful to be able to queue transfers without sending them for this scenario.
    – osmosis
    Oct 26, 2011 at 0:18
  • how one can identify a main network? if the network is partitioned say 100 with equal number of nodes in it. Who defines what is main network?
    – Pushparaj
    Nov 9, 2017 at 18:52
15

When bitcoin client downloads two conflicting blockchains, in other words when fork happened, it chooses the longer blockchain as valid, and the shorter becomes invalid and called "orphan blocks". "Length" is calculated as total combined difficulty of that chain, not number of blocks. Wiki: Block Chain

So in your scenario, Armenia most likely has less hashing power then the rest of world and it would produce shorter fork of blockchain, therefore it would be overrided after connection is restored.

51% attack implies coordinated effort from a small group of people with malicious intent, which is not the case according to your scenarion, therefore I wouldn't call 51% attack.

It would be easy to counter any negative outcome because users of isolated network would know instantly about the problem from sudden drop of total network hash power, and would just need to avoid spending bitcoins until connection is restored.

6
  • 1
    +1 The hashing power on the Armenia network would be so low that blocks would be created very slowly. Because of (not only) this, people in Armenia would very soon notice that something is wrong with "their" blockchain, and take measures to reconnect somehow. Even if they did not, they would not be creating a block chain long enough to be considered a "fork". Anyone who continues to mine on this would lose their mining income after the eventual reconnect. On the other hand, all other transactions on the "Armenia fork" would be copied back to the real chain (unless they are double spends).
    – Thilo
    Oct 26, 2011 at 1:06
  • Wait, why would new blocks be created very slowly? They still get created at a 1 block per 10 minutes rate just like in the rest of the world.
    – mafu
    Nov 6, 2011 at 2:25
  • @mafutrct, "Length" is calculated as total combined difficulty of that chain, not number of blocks
    – Serith
    Nov 6, 2011 at 3:11
  • @Serith Yes, but I'm confused right now as to how this is related to my comment. Thilo made it sound like new blocks get created at a slower rate than in the rest of the world - which I believe is not the case. I agree with you and him that due to lower length (sum of difficulty) those blocks would be discarded anyway. Maybe I'm just misunderstanding his wording.
    – mafu
    Nov 6, 2011 at 3:17
  • @mafutrct, Thilo is right too. Difficulty gets adjusted every 2015 blocks, so there is a bit of a lag between network hash rate change and the adjustment, and it is possible for a blocks to take longer to mine before it gets adjusted back to 1 block per 10 minutes. So lets say Armenia represents 1% of total network hash rate, therefore, after separation, it will take roughly 1000 minutes to mine a block before it reaches the next checkpoint and sets the difficulty correctly.
    – Serith
    Nov 6, 2011 at 4:01
4

I cannot add a comment because I have no reputation however I think it is important to note that this kind of attack has extreme consequences for the future of Bitcoin's adoption. If the goal is a future where a large percentage of the world's population are directly or indirectly participating in the Bitcoin network, such a disconnect from the globally acknowledged blockchain could be catastrophic.

There have been confirmed reports of internet connections being sabotaged by other states as well as by governments exerting control over their population. I disagree fundamentally with @Serith's comment in the context of a serious and long-running interruption between the global blockchain and the cut-off country's economic system:

It would be easy to counter any negative outcome because users of isolated network would know instantly about the problem from sudden drop of total network hash power, and would just need to avoid spending bitcoins until connection is restored.

Intermittent outages may be easy to resolve however to say that a population would just need to avoid spending Bitcoins ignores the case where in a potential future where Bitcoin is widely used, telling a population to simply stop spending would have vast social and political consequences. Such a case could very well result in severe unrest in the cut-off country, perhaps even turning violent.

1

A cut off in part of the network might also, indirectly cause one of the "guilds" to obtain %51. Community should also keep that in mind IMHO. i.e. if BTCGuild was suddenly completely disconnected for a time, and GHash.IO and itself both had 33% of the hashrate; GHash.IO would have %50 for the time period BTCGuild is disconnected.

1

First note that bitcoin nodes pass on blocks. So even if most machines in a country are cut off from the rest of the world it only takes one machine that can "see both sides" to keep the blocks flowing back and forth.

But what happens if an area is completely cut off from most of the world?

Miners on both sides of the cut will continue trying to find blocks. The probability of them finding them is determined by the current difficulty.

Assuming the "most of the world" side has most of the hashing power it will continue more or less as usual.

The "armenia" side on the other hand will experiance a massive drop in block rate. If they have 1% of the hashing power (and I doubt they have even that) then they will experience a one hundred fold drop in block rate.

If the isolation goes on long enough then the "target" on the "Armenia" side will adjust to restore the normal block rate but this will take a long time. The "target" only readjusts after every 2016 blocks and it only readjusts by a factor of up to four each time. Say that when the split happens we are halfway between difficulty readjustments, if the "Armenia" has one percent of the hashing capacity then it will take about 100 weeks (~two years) to reach it's first difficulty adjustment.

If and when connectivity is restored then any blocks mined on the "Armenia" side will be discarded as the chain from the "rest of world" side is much stronger. Transactions from the "Armenia" side may be re-included in new blocks if they are still valid.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.