Author

Topic: Possibility to increase block time during network outages? (Read 735 times)

newbie
Activity: 47
Merit: 0
Correct; and your argument is one that everyone loves to make. Although, during times of such "bigger problems", having access to a global medium of exchange, such as Bitcoin, would be a catalyst for faster rebuilding. So I do think it's worth considering.
Perhaps, but physical fiat cash will also be a medium of exchange and it isn't reliant on computers and the internet.

Not it won't, because presumably there won't be a government around to back them. Look at any war torn country run by warlords. People will still have mobile phones and wireless peer-to-peer networks and ad-hoc satellite uplinks would've sprung up all over, all running on solar power.

The difficulty only changes every 2016 blocks which is targeted to be 2 weeks.
That's news to me. I thought it changed based on total hash power, guess I need to read the source again.

If the internet were to go down and thus Bitcoin would no longer function, so would many bank systems. Most use computers now and connect via the internet to get balances since in reality, most money is digital, not cold hard currency. Banks know that there is a possibility, however slight, of the internet going down and their systems thus failing, but they don't cater to that scenario because of its unlikeliness. There are infinite possibilities and failure scenarios, but most of them are extremely rare events, and thus people don't even bother to solve them because it is wasted effort, and thus Bitcoin should not do something about a failure scenario that is extremely unlikely
You would be surprised at the disaster recovery protocols employed by many endeavours.

There are also projects in the works to bypass internet censorship and to also be able to use Bitcoin without connection to the internet. We can use radio to transfer the data for Bitcoin as well as many other methods to move the data around internet censors and even internet outages. There are also other projects like Tor which bypass those internet censors anyways.

Offline Bitcoin? Yes, that's in line with what I'm thinking about... where?

Many networks are often asynchronous or low bandwidth, both things Bitcoin (or a complimentary cryptocurrency) would do well to tolerate better...
staff
Activity: 3458
Merit: 6793
Just writing some code
Correct; and your argument is one that everyone loves to make. Although, during times of such "bigger problems", having access to a global medium of exchange, such as Bitcoin, would be a catalyst for faster rebuilding. So I do think it's worth considering.
Perhaps, but physical fiat cash will also be a medium of exchange and it isn't reliant on computers and the internet.

My proposal is to simply look at the difficulty and compare it to what was previously in the blockchain. If it deviates by a margin, we know that something has happened, and that a significant part of the network is no longer available... so what now? Some scenarios can be modelled - and the network can adapt based on our best predictions of these situations. Ie. it can increase the block time by a margin... and only accept that parts of the network are indeed not coming back, after a reasonable amount of time.
The difficulty only changes every 2016 blocks which is targeted to be 2 weeks. Nodes would not be able to detect that miners have dropped off except if blocks simply have not been found in a while. Even so, if a significant part of the network dropped off, block time intervals may not indicate whether the hash power has dropped off. If 50% of the miners could no longer connect, block times would still only be 20 minutes between blocks, which is not infeasible to see now. In fact, we sometimes have block time intervals of over 1 hour.


Not necessary.
How so? I have tried creating a node which connects to every other node, and it failed miserably. It ran out of resources. There really would be no way for every node to know about the status of every other node in the network without connecting to those nodes.

Then why use Bitcoin at all? Why not just trust the banks... you know, banks lying to us and forging documents is arguably equally rare, right?
If the internet were to go down and thus Bitcoin would no longer function, so would many bank systems. Most use computers now and connect via the internet to get balances since in reality, most money is digital, not cold hard currency. Banks know that there is a possibility, however slight, of the internet going down and their systems thus failing, but they don't cater to that scenario because of its unlikeliness. There are infinite possibilities and failure scenarios, but most of them are extremely rare events, and thus people don't even bother to solve them because it is wasted effort, and thus Bitcoin should not do something about a failure scenario that is extremely unlikely

There are also projects in the works to bypass internet censorship and to also be able to use Bitcoin without connection to the internet. We can use radio to transfer the data for Bitcoin as well as many other methods to move the data around internet censors and even internet outages. There are also other projects like Tor which bypass those internet censors anyways.
newbie
Activity: 47
Merit: 0
There is no automatic method of dealing with such a situation since such a situation is unlikely. Should the internet go down, we have much bigger problems to worry about than just Bitcoin fragmenting.

Correct; and your argument is one that everyone loves to make. Although, during times of such "bigger problems", having access to a global medium of exchange, such as Bitcoin, would be a catalyst for faster rebuilding. So I do think it's worth considering.

There is actually no way for a node to know whether the network has fragmented due to internet disruptions. How would a node distinguish between miners getting blocked, miners hardware failing and thus unable to mine, miners choosing to stop mining, or simply bad luck? There is no way for a node to know that there was a disruption.

My proposal is to simply look at the difficulty and compare it to what was previously in the blockchain. If it deviates by a margin, we know that something has happened, and that a significant part of the network is no longer available... so what now? Some scenarios can be modelled - and the network can adapt based on our best predictions of these situations. Ie. it can increase the block time by a margin... and only accept that parts of the network are indeed not coming back, after a reasonable amount of time.

Look, perhaps this doesn't need to be in Bitcoin, and can be implemented in some other kind of Post-Apocalypocoin, which can juxtapose itself so as to "rescue" Bitcoin in such a situation... I'm sure there are many people who have considered all these things - I just can't find any of their reasoning or models online, hence this post.

Furthermore, a node doesn't know about the number of nodes online. The only way to know that would be to maintain connections to every single node, which a node is not able to do. It requires too many resources.
Not necessary.

Bitcoin should not cater to this since such an event would be incredibly rare. Even if internet censors were blocking connections, methods of bypassing that through Tor and proxies will still bypass those filters and allow nodes to connect through firewalls, albeit slowly. Even so, miners could communicate with others around the firewall and a plan could be worked out to prevent the fragmentation of the network.

Then why use Bitcoin at all? Why not just trust the banks... you know, banks lying to us and forging documents is arguably equally rare, right?

Anyways, thanks for your response and getting the conversation going  Smiley
staff
Activity: 3458
Merit: 6793
Just writing some code
There is no automatic method of dealing with such a situation since such a situation is unlikely. Should the internet go down, we have much bigger problems to worry about than just Bitcoin fragmenting.

There is actually no way for a node to know whether the network has fragmented due to internet disruptions. How would a node distinguish between miners getting blocked, miners hardware failing and thus unable to mine, miners choosing to stop mining, or simply bad luck? There is no way for a node to know that there was a disruption.

Furthermore, a node doesn't know about the number of nodes online. The only way to know that would be to maintain connections to every single node, which a node is not able to do. It requires too many resources.

Bitcoin should not cater to this since such an event would be incredibly rare. Even if internet censors were blocking connections, methods of bypassing that through Tor and proxies will still bypass those filters and allow nodes to connect through firewalls, albeit slowly. Even so, miners could communicate with others around the firewall and a plan could be worked out to prevent the fragmentation of the network.
newbie
Activity: 47
Merit: 0
I've done a bit of reading over the years and it has often occurred to me how fragile Bitcoin is when it comes to network outages - especially considering that something such as China's firewall can essentially split their  hashing power from the network with something as trivial as bigger block sizes...

So that begs the question: Shouldn't Bitcoin be more resilient against network disruption or outages? These are, after all, easy to engineer on a global scale given access to enough software/network security vulnerabilities.

Has this been discussed or addressed in any level of detail? Or is the consensus that Bitcoin will be allowed to die along with the internet, should that ever happen?

Isn't this a near term doomsday scenario worth picking apart?

As I understand, the difficulty will just decrease if less nodes are online... and the network will fragment - and when it links up again, there will be a lot of orphaned blocks in the smaller islands... (so anyone spending Bitcoin after a hasrate- or difficulty drop is doing so at their own peril - BTW I've not seen this made clear anywhere, shoudn't wallets detect- and warn of these situations? )

Is there any proposal to mitigate this, for example, by instead of dropping difficulty, simply increasing block time, so as to give isolated nodes time time to chime in? Say someone or something takes out the internet... and all we have is sporadic bursts of communication via satellite or long-range radio links... shouldn't Bitcoin cater to this sort of asynchronous operation? Or will that be left to the more conventional commodities...? What is Bitcoin's vision of its own future and what is within the scope of its reasonable capabilities?

This would make sense to me - as once a certain hashrate has been reached, we can be fairly confident that more hashing power is much more likely to follow. Even if we lost the ability to improve hashrates... and a significant portion of hashing hardware gets destroyed, it's unlikely to push us back beyond a certain margin. Can this be intelligently- and reasonably be estimated, accommodated and incorporated into the protocol?

And while on that topic... are there any possible mechanisms by which to enforce or incentivise certain protocol ideologies?

Or can it be fairly proven in a simulation that any such attempts are only likely to cause more harm than good?

(And off topic - has anyone seen any thought work on interplanetary currency exchange?)
Jump to: