1 min read

Blockchain doesn't sleep (hopefully)

Blockchain is just a specific kind of computer. Sure, there are a lot of individual computers involved, but they're all working together to form one computer. This is different from most of the computer networking used today. Even "the cloud" is made up of distinct servers performing distinct tasks for distinct purposes.

Take a website's servers for example. Small sites may have a server and a database (which is running on a server). As more people use the site, the host may need more and larger servers to satisfy demand. There may be identical servers used to do the exact same job; however, these servers are operating independently. They don't need to know what the others are doing. They take requests from visitors, make requests to the database (or a copy of the database), and live in isolation.

In this model, if one server goes down, the website still works. It might be a little slow until a new computer can be provisioned to help, but the users are still able to use the site. The site won't go down completely unless there's a single point of failure somewhere in the system design OR there's catastrophic failure of multiple components in the system.

My blockchain node would stop working if a tornado came through, but the blockchain itself would continue operating. To effectively take a blockchain offline, you have to do more. A well designed blockchain doesn't have a single point of failure, so to take the network down, you have to take every node down simultaneously. The hard way would be to hack every physical computer that's participating. For sufficiently decentralized blockchains, this is effectively impossible.

The easy way to take down a blockchain is to introduce a bug in the software. This is why upgrades to the network have to be thoroughly vetted. Many upgrades would be fine if not for the human element. For example, a poorly written set of instructions could lead to unexpected human error while performing a hard fork upgrade. Automation helps a lot which is why Koinos went to great lengths to improve system upgradability with system smart contracts and microservices.


P.S. There's still considerable risk with any upgrade, but fewer points of failure is always a good thing.