Please assume a small island nation becomes 100% denominated in a cryptocurrency.

Now please assume that for some reason the rest of the world manages to cut if off from the rest of the internet for some extended period of time, eg 1 year or more.

During the time that is isolated, it of course is able to continue using the cryptocurrency; however, what happens when connectivity to the outside world is restored?

Will all of this nation's transactions be lost forever and reset to the time before connectivity was lost?

If the transactions can be somehow recovered, what happens to all mining fees on the island during disconnection?

If anything is lost, how could a protocol be altered to manage this eventuality?

  • 1
    Hmmm interesting question. The 'island' would need to be running a few miners to keep things running. This question is basicly the partition tolerance of the bit-coin blockchain database. – DarcyThomas Dec 18 '13 at 4:34
  • @DarcyThomas Thank you for looking DarcyThomas! Would you mind expounding on partition tolerance of the bit-coin blockchain database and how it relates to this question? Can you answer any of the questions of this post? If so, please add an official answer. Thank you so much in advance! – user5107 Dec 18 '13 at 5:05
  • 1
  • 1
    @Murch But none offer a solution. – user5107 Jan 4 '14 at 2:51
  • @Gracchus: Questions that are linked in the comments or in answers will show up on the right side as "Linked". This is useful for people trying to learn more about the topic to find similar questions. - You will notice that I only posted them as "related" not as "possible duplicates". – Murch Jan 4 '14 at 3:13
up vote 15 down vote accepted

I am just guessing here given the little I know about bitcoin and distributed databases.

This comes down to the how CAP theorem applies to the bitcoin blockchain DB.

CAP theorem states that it is impossible for a distributed computer system to simultaneously provide all three of the following guarantees:

  • Consistency (all nodes see the same data at the same time)
  • Availability (a guarantee that every request receives a response about whether it was successful or failed)
  • Partition tolerance (the system continues to operate despite arbitrary message loss or failure of part of the system)

As far as I can tell it is not consistent. And will handle partitions for a short period. (and you could argue that long periods of partition will break availability of some transactions)

Details of what I think might happen: (If every one plays nice and someone makes a few tweaks to the software it will come back online)

The bitcoin protocol has (in simple terms) two sets of data that it transmits/stores. One is the block chain which is the authoritative order that transactions occur in.
The other is a gossip of the transactions.

First of all transactions would gossip around the islands network, but they would not get confirmed. Even if there were miner nodes on the network. This is because the difficulty would be very high. The chance of the miners on the island of finding a block would be very low. So the confirmations of the transactions would probably not occur.

The difficultly is only adjusted every 2016 blocks. But as the miners on the island can not find a block the difficulty will not change. The confirmations would become stalled.

Basically if every one trusted 0 confirms and didn't double spend (hint: that is not going to happen) you could carry on as normal (assuming your software will let you spend 0 confirmed transactions)

This could lead to the network collapsing. However if someone changed their mining software to mine at a much lower difficulty I think the network could start confirming again. Normally this would not work as then bitcoin network would very quickly drop your block in favour of a longer more difficult one. But since you are in a partition you would win (for now) Lets assume the miner who modded his software didn't try to make any double spends (which he would only be able to with the money he has before the partition, and there are enough miners so there are not any 51% atacks. 2016 blocks after that the network would readjust the difficulty (to the sum hashing power of the pool) and every thing would hopefully stabilise. Ok all seems fine the partitioned island network would carry on.

That is until then partition is reconnected. (Dun dun dunnnnnnnn)

At that point two things would happen.

  • A longer more difficult block chain would replace the island block chain as the authoritative chain. This would wipe out all of the island confirmed transactions.
  • The island nodes would start gossiping the transactions that had occurred on to the other (newly connected) main partition. This is assuming that, between all of the islands nodes, some of the software had a full copy of the gossiped transactions.

I think it would take the same number of blocks as the longest train of island transaction for all of the island transactions to be confirmed on the network.

Every thing back to normal???

Yes (insert lost reference) as long as no one got off the island; with their bitcoin wallet.

If some one made a transaction from their wallet on both the island and on the main network, then their transactions on the island would be seen as invalid (like a failed double spend). But that would also mean that anyone the island who had made a transaction based on that failed transaction would find that their transactions would also be invalid etc etc. In other words that one double spend transaction would be poisoned.

Also any coins mined during the partition would also be poisoned.

Everyone's wallets along the poisoned branch(s) would revert to the balance they had just before that poisoned transaction.

You could check for those poisoned transactions with some offline copies of the block chain; before you reconnected the partitions.

This would make for an interesting set of norms, for your islands culture:

Your island's economy would depend on the (threat of the) death penalty being applied to anyone who tries to make offshore double spends (or spend coins mined on the island). (Miners could still make money through transaction fees)

The import of mining rigs would fetch huge quantity of bananas and coconuts (as that would be the only thing you would have left to barter with internationally (Since you no longer have a national currency and can't trade internationally with bit-coins) :P

  • Thank you DarcyThomas! That is a fascinating take on hashing power that I completely didn't anticipate. – user5107 Dec 18 '13 at 7:25
  • Very nice answer. I think this might be your lost reference: bitcoin.stackexchange.com/a/12945/5406 – Murch Jan 4 '14 at 2:48
  • @Murch Nice link. I however meant Lost the tv show. A bit subtle I know. – DarcyThomas Apr 22 '14 at 0:11
  • I see. Capitalization would have been important there. ;) – Murch Apr 22 '14 at 20:57

Your Answer

 
discard

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.