Bitcoin Forum

Bitcoin => Development & Technical Discussion => Topic started by: Narydu on July 03, 2012, 11:28:26 PM



Title: I been done the same silly question twice this week...
Post by: Narydu on July 03, 2012, 11:28:26 PM
When defending Bitcoin, I got twice the same question...: "Ok ok but what if there is a world wide electric shutdown for about 10mins... What would hapen to bitcoins...?" obviously silly given Bitcoins wouldbe perhaps the smallest of the worldwide problems and blockchains would still exist... But this makes me think...

Let's supose a big blackout happens , let say in europe or Usa or somewhere where most of the nodes reside... Could a coordinated hack to the blockchain occur based on the other half of the network... I know that mine might be even a worst question than the first one but thought to give it a try.


Title: Re: I been done the same silly question twice this week...
Post by: MoonShadow on July 03, 2012, 11:36:22 PM
No.  This, rather rediculous, scenario is functionally the same as a network split.  The network protocol is quite 'split tolerant' and self healing upon reconnection.  The only lasting risk of harm would be if the split lasted for more than 120 blocks, which after a split would take twice as long to occur, and even then the damage would be localized to those miners who managed to 'win' block solutions on the minority side of the split; because their blocks would be considered invalid by the majority chain and destroyed.  Any valid transactions that were included into a minority side block would just be re-released into the newly reformed network as recent transactions, revalidated and put into a new block later.

Honestly, such network splits occur occasionally at random, and most people never notice.


Title: Re: I been done the same silly question twice this week...
Post by: 2112 on July 04, 2012, 12:27:47 AM
"Ok ok but what if there is a world wide electric shutdown for about 10mins... What would hapen to bitcoins...?"
Depends on position of the 10 minute window in regards to the 2016 block retarget cycle.

For most of the 10-minute gaps the global network would reconverge with no problem.

If the 10-minute gap is carefully synchronized to occur just before a retarget then we will have interesting problem in both game theory and control theory.

Also, instead of 10 minute the gap should be somewhat longer such that the the competing blocks would actually be found and there will be actuall conflict of interest between the competing branches of the blockchain.


Title: Re: I been done the same silly question twice this week...
Post by: etotheipi on July 04, 2012, 12:55:09 AM
If the 10-minute gap is carefully synchronized to occur just before a retarget then we will have interesting problem in both game theory and control theory.

Could you elaborate on this point?  I'm not too familiar with the intracacies of retargeting.  I would expect that both sides of the network would compute the next block with different difficulties, and when they reconverge, the chain with the maximum cumulative difficulty would "win" and nodes would switch to that chain with that new difficulty (thus, if both chains have the same number of blocks generated since the split, the one with higher difficulty will win when they reconverge). 


Title: Re: I been done the same silly question twice this week...
Post by: MoonShadow on July 04, 2012, 01:05:16 AM
If the 10-minute gap is carefully synchronized to occur just before a retarget then we will have interesting problem in both game theory and control theory.

Could you elaborate on this point?  I'm not too familiar with the intracacies of retargeting.  I would expect that both sides of the network would compute the next block with different difficulties, and when they reconverge, the chain with the maximum cumulative difficulty would "win" and nodes would switch to that chain with that new difficulty (thus, if both chains have the same number of blocks generated since the split, the one with higher difficulty will win when they reconverge). 

You are correct.  Such an attack is no more risky during a retarget.  The simple result would be that the majority split would simply have a slightly higher difficulty, which is considering in the system's determination of which split in the chain has the greater total "length".


Title: Re: I been done the same silly question twice this week...
Post by: 2112 on July 04, 2012, 02:01:05 AM
I would expect that both sides of the network would compute the next block with different difficulties, and when they reconverge,
1) Why just "both"? Consider a multi-way split. Edit: even in the 2-way split the majority can get unlucky and minority lucky. The difficulty doesn't simply follow the majority after the split.
2) Game theoretic issues are: when building next block do I trust myself or do I trust the blocks of unknown provenance after the split? Which branch is going to be more profitable? Is there a profitable way of feeding "bait" blocks to the split-off portions of the network?
3) Control theoretic issue is: reconvergence may take very long time, more than the default 6 dekaminutes and involve oscillations (flapping in the terminology of BGP route convergence).


Title: Re: I been done the same silly question twice this week...
Post by: MoonShadow on July 04, 2012, 04:16:34 AM
I would expect that both sides of the network would compute the next block with different difficulties, and when they reconverge,
1) Why just "both"? Consider a multi-way split.


Nothing changes about the mathmatics in a more than 2 way split, beyond the odds of this actually occuring.

Quote

Edit: even in the 2-way split the majority can get unlucky and minority lucky. The difficulty doesn't simply follow the majority after the split.



The two sids would have to be very well balanced for the minority to come out ahead, and such an even split is unlikely.  Even if such an astronomically unlikely event were to occur, nothing about the analysis changes except which side is the majority.

Quote

2) Game theoretic issues are: when building next block do I trust myself or do I trust the blocks of unknown provenance after the split?
This is decided by the network protocol, and it doesnt much matter which you 'trust'

Quote
Whcich banch is going to be more profitable? Is there a profitable way of feeding "bait" blocks to the split-off portions of the network?


Sure, by double spending on both sides of the split.  But splits can be detected, particularly if you are on the minority side, so wise vendors don't sell large ticket items during a network split.
Quote
3) Control theoretic issue is: reconvergence may take very long time, more than the default 6 dekaminutes and involve oscillations (flapping in the terminology of BGP route convergence).


You don't really understand what's happing here, do you?  Do you even understand what you just wrote?


Title: Re: I been done the same silly question twice this week...
Post by: Narydu on July 04, 2012, 06:08:48 AM
Ok, this is going beyond my understanding, sorry but let me go back a bit and noob ask...

So if the half+1 part of the nodes would still be active and unsplited, there would be no problems, but if it's the half-1 part is the one which stays active, when the other half+1 turns on it would invalidate the blocks generated during their blackout...? But if the machines regain electricity at different moments, the half-1 might overcome the other part?

Besides, please explain me how does the transactions embeded into the finally rejected blocks, get embeded in the new validated blocks? If so, this is awesome!


Title: Re: I been done the same silly question twice this week...
Post by: MoonShadow on July 04, 2012, 07:24:24 AM
Ok, this is going beyond my understanding, sorry but let me go back a bit and noob ask...

So if the half+1 part of the nodes would still be active and unsplited, there would be no problems, but if it's the half-1 part is the one which stays active, when the other half+1 turns on it would invalidate the blocks generated during their blackout...? But if the machines regain electricity at different moments, the half-1 might overcome the other part?

Besides, please explain me how does the transactions embeded into the finally rejected blocks, get embeded in the new validated blocks? If so, this is awesome!

No, it has zero to do with the number of actual nodes.

Yes, transactions that were orphaned by a split remerge will be reincorporated into a later block automagicly.