Decentralisation

In most traditional applications, the application processing logic is executed on a central application server (or for large applications, a cluster of servers). Similarly, the master copy of the data is stored in a centralized database. The code and data may be replicated and synchronized across a cluster of servers for failover and as a backup, and there may be multiple running instances of the application and database servers for performance, but it is still the same code being executed.

There are obvious advantages to a centralized application. Since it is a single code and data, all users of the application and the data are sure to get the same data at any point in time and execute the same application logic instructions. When applications are managing data (creating, reading, updating, or deleting records), the central servers will synchronize multiple actions so that they occur in the sequence they are expected to and do not overwrite each other.

Disadvantages of Centralization

There are some disadvantages and risks to a centralized approach. The primary technical risk is that the system has a single point of failure. If the central application or database server were to fail, the entire system would stop working. The business risk is that in a group of entities participating in a transaction the owner of the centralized system has to be trusted to maintain the accuracy and validity of all transactions and data.

Before we understand how decentralized code and data storage in Blockchain works, one important point to remember is that this is not a centralized-versus-decentralized comparison or an evaluation of the pros and cons of making a choice. The traditional centralized approach works perfectly well and will be the design choice for many applications for a long time into the future. Technology has evolved enough to ensure failures and security can be managed very well, even for the most complex and critical applications.

The decentralized approach adopted by Blockchain solutions is a design choice, primarily to eliminate a single point of ownership and control, which is the basic tenet of a peer-to-peer network. In the decentralized approach, every participating system has a copy of the data and any application logic instructions to be executed on that data. There is no centralized copy, and no participating system is trusted more than any other or has any greater ownership of the code or the data.

Disadvantages of Decentralization

The decentralized approach is not without its challenges.

Every participant in the network needs to invest in and manage high processing power systems and high bandwidth connectivity. Every participant needs to ensure that their copy of the data is well secured from malicious attacks. And every participant must ensure the high uptime of their systems. While there is no single point of failure, there is also the "weakest link in the chain" challenge where the entire network will only be as reliable as the least reliable system.