Bitcoin Forum

Bitcoin => Development & Technical Discussion => Topic started by: IAMFLUKE on November 17, 2021, 08:50:45 AM



Title: Bitcoin split brain scenario
Post by: IAMFLUKE on November 17, 2021, 08:50:45 AM
Bare with me while I let my imagination go frenzy...

I was wondering what will happen in an event of large scale network split were a large portion of the nodes can’t communicate with the rest of the network for days. I understand the effectiveness of the consensus mechanism on a temporary blockchain fork. But will the incentive model of the consensus mechanism still be valid even on a larger (many nodes) and longer (many days) split? A long split event, although rare, will eventually happen as a possible result of world war or cataclysmic event. In such event the two separate networks will continue to transact within the separated network oblivious to the other network. Mining will continue on both portion, confirming transactions well above any block confirmation threshold (~144 blocks per day).
When the issues are finally resolved and the networks are connected again, the smaller chain has A LOT to loss and will probably decide to initiate a software fork to save its transactions (and any mined bitcoin) from the consensus mechanism ruling.

Centralised ledger solution tackle this situation nicely by keep confirming the tx of nodes that are part of the centralised entity network and rejects\disregard any tx on the network portion it does not see.
 
Am I hallucinating and that is not a valid scenario? Is it valid and we have a solution?

Thanks


Title: Re: Bitcoin split brain scenario
Post by: mocacinno on November 17, 2021, 09:02:43 AM
I don't think i've actually brainstormed about this question before...

In theory, the chain with the most work would win... But, in your hypothetical case, we're brainstorming about the network being split in 2 (allmost) equal parts for an extended period of time and the consequences thereof...
We do have to take into account that a lot of transactions that ended up in blocks in the shortest chain are, in fact, valid... If they were rebroadcasted after the longest chain (the one with the most work) won, they would also find a spot in a block in the winning chain aswell (since they were spending pre-split unspent outputs, and they were 100% valid since they found a spot in the losing chain aswell)... This is, offcourse, not true for coinbase transactions in the losing chain, for transactions spending the same pre-split unspent outputs in both chains, and transactions building on these 2 "cases".

Offcourse, a complete and utter split of the complete network for an extended period of time seems unlikely to me, the network is connected over land, under the sea, trough sattelites... I think it's unlikely (but not impossible) to see a complete split for more than a couple of hours... Even if all underwater cables between the american continent and the rest of the world were cut on the side, there'd still be underwater cables on the other side of the continent (aswell as sattelites).


Title: Re: Bitcoin split brain scenario
Post by: NeuroticFish on November 17, 2021, 09:05:47 AM
I was wondering what will happen in an event of large scale network split were a large portion of the nodes can’t communicate with the rest of the network for days.

The chances for this are pretty small. One node connected to both sides it's enough to have no actual split.
The more realistic chance for such thing to be happening is for a relatively small region, probably one country, which will be done on purpose, hence probably the mining won't go well there either.


Now, let's go by your initial logic. If such a thing happens, keep in mind that the difficulty will remain very high, while a good amount of miners (let's also say half of them) may be seen as offline (by every side). This means that the blocks will come much slower. That could trigger a response from developers in order to do a fix related to difficulty and also, why not, a fork in order to conserve the current chain (i.e. the other side will never be able to rejoin). But I went on science-fiction realm with you :D, realistically it's not a big issue since the region will be small and  will probably have no chance to mine anything because of the difficulty.


Title: Re: Bitcoin split brain scenario
Post by: IAMFLUKE on November 17, 2021, 09:21:41 AM
Great response.
Thanks for calming me down.


Title: Re: Bitcoin split brain scenario
Post by: vjudeu on November 17, 2021, 12:59:20 PM
Quote
At least unless we're talking about distant future such as regular human could live on Mars, but communication delay range between 4-20 minutes and means of communication is still limited.
For interplanetary coins you need a chain with longer block time than 10 minutes. Something like one day or two weeks may work. Also, there is no need to introduce new coins to circulation, all that is needed is merge-mined chain with peg-ins and peg-outs for example every two weeks.


Title: Re: Bitcoin split brain scenario
Post by: DannyHamilton on November 17, 2021, 05:57:33 PM
My thoughts from when this question was asked back in 2014:
https://bitcointalk.org/index.php?topic=812863.msg9107191#msg9107191

Quote
. . .It would become quickly obvious that something significant had happened, since the average block time would double to 20 minutes (if the hash power split exactly in half).  If only a small portion of the hash power were isolated, then anyone on the isolated portion would likely see their average block time increase significantly. . .

. . .Anyone communicating on the isolated network with less hash power would have the "invalid" blockchain.  As long as they are aware of this, they can treat any transactions that they send or receive as unconfirmed until the network isolation has ended. . .

. . .The transactions that happened in the orphan chain will be considered unconfirmed.  It is extremely likely that they will confirm in the future blocks on the correct blockchain.  It is only if someone manages to accomplish a double spend on the "valid" blockchain while the network is split that some transactions from the isolated netowrk may become "invalid".  This would be difficult to accomplish since the attacker will be stuck on the isolated network. . .

. . .If it is possible to connect to both networks, then it is possible to relay blocks between bloth networks.  Therefore, there won't be a split blockchain. . .

. . .It would handle it reasonably well. Probably a lot better than many other global financial and communications services. . .

Note that Satoshi already answered most of this back in July 2010:
It's hard to imagine the Internet getting segmented airtight.  It would have to be a country deliberately and totally cutting itself off from the rest of the world.

Any node with access to both sides would automatically flow the block chain over, such as someone getting around the blockade with a dial-up modem or sat-phone.  It would only take one node to do it.  Anyone who wants to keep doing business would be motivated.

If the network is segmented and then recombines, any transactions in the shorter fork that were not also in the longer fork are released into the transaction pool again and are eligible to get into future blocks.  Their number of confirmations would start over.

If anyone took advantage of the segmentation to double-spend, such that there are different spends of the same money on each side, then the double-spends in the shorter fork lose out and go to 0/unconfirmed and stay that way.

It wouldn't be easy to take advantage of the segmentation to double-spend.  If it's impossible to communicate from one side to the other, how are you going to put a spend on each side?  If there is a way, then probably someone else is also using it to flow the block chain over.

You would usually know whether you're in the smaller segment.  For example, if your country cuts itself off from the rest of the world, the rest of the world is the larger segment.  If you're in the smaller segment, you should assume nothing is confirmed.