DECENTRALIZED SYSTEMS

These are other types of systems that have been gaining a lot of popularity, primarily because of the massive hype of Bitcoin. Now many organizations are trying to find the application of such systems. 

In decentralized systems, every node makes its own decision. The final behavior of the system is the aggregate of the decisions of the individual nodes. Note that there is no single entity that receives and responds to the request. 

 

Figure – Decentralized system visualization 

Example – 
Bitcoin. Let’s take Bitcoin for example because it is the most popular use case of decentralized systems. No single entity/organization owns the bitcoin network. The network is a sum of all the nodes who talk to each other for maintaining the amount of bitcoin every account holder has. 

Characteristics of Decentralized System – 

  • Lack of a global clock: Every node is independent of each other and hence, has different clocks that they run and follow.
  • Multiple central units (Computers/Nodes/Servers): More than one central unit which can listen for connections from other nodes
  • Dependent failure of components: one central node failure causes a part of the system to fail; not the whole system

Scaling – 
Vertical scaling is possible. Each node can add resources(hardware, software) to itself to increase the performance leading to an increase in the performance of the entire system. 

Components – 
Components of Decentralized System are, 

  • Node (Computer, Mobile, etc.)
  • Communication link (Cables, Wi-Fi, etc.)

Architecture of Decentralized System – 

  • peer-to-peer architecture – all nodes are peers of each other. No one node has supremacy over other nodes
  • master-slave architecture – One node can become a master by voting and help in coordinating of a part of the system but this does not mean the node has supremacy over the other node which it is coordinating

Limitations of Decentralized System – 

  • May lead to the problem of coordination at the enterprise level – When every node is the owner of its own behavior, its difficult to achieve collective tasks
  • Not suitable for small systems – Not beneficial to build and operate small decentralized systems because of the low cost/benefit ratio
  • No way to regulate a node on the system – no superior node overseeing the behavior of subordinate nodes

Advantages of Decentralized System – 

  • Minimal problem of performance bottlenecks occurring – The entire load gets balanced on all the nodes; leading to minimal to no bottleneck situations
  • High availability – Some nodes(computers, mobiles, servers) are always available/online for work, leading to high availability
  • More autonomy and control over resources – As each node controls its own behavior, it has better autonomy leading to more control over resources.
  • Improved fault tolerance: Decentralized systems are designed to be fault tolerant, meaning that if one or more nodes fail, the system can still continue to function. This is because the workload is distributed across multiple nodes, rather than relying on a single point of failure.
  • Increased transparency: Decentralized systems often have a transparent and open structure, which allows for greater accountability and trust. Each node has access to the same information, making it more difficult to manipulate or corrupt the data.
  • Greater security: Decentralized systems can be more secure than centralized systems because there is no single point of failure or vulnerability that can be exploited by attackers. Data is distributed across multiple nodes, making it more difficult to hack or compromise.
  • Improved scalability: Decentralized systems can be more scalable than centralized systems because adding new nodes to the network can help to distribute the workload and increase capacity. This can be particularly useful for large, complex systems that need to be able to handle high volumes of traffic or data.

Disadvantages of Decentralized System – 

  • Difficult to achieve global big tasks – No chain of command to command others to perform certain tasks
  • No regulatory oversight
  • Difficult to know which node failed – Each node must be pinged for availability checking and partitioning of work has to be done to actually find out which node failed by checking the expected output with what the node generated
  • Difficult to know which node responded – When a request is served by a decentralized system, the request is actually served by one of the nodes in the system but it is actually difficult to find out which node indeed served the request.
  • Security challenges: Decentralized systems can be vulnerable to security threats such as DDoS attacks, sybil attacks, and 51% attacks. These attacks can compromise the integrity and security of the network, leading to data breaches and loss of trust.
  • Lack of scalability: Decentralized systems can face scalability issues as the number of nodes increases. This is because each node needs to maintain a copy of the entire database, which can be difficult to manage as the database grows.
  • Inefficient resource utilization: Decentralized systems can suffer from inefficient resource utilization as some nodes may have spare computing resources while others may be overloaded. This can lead to a waste of resources and decreased performance.
  • Lack of standardization: Decentralized systems lack standardization, which can make it difficult to integrate with other systems and can lead to interoperability issues. This can be a major challenge for organizations that need to work with multiple decentralized systems.
  • Slow transaction processing: Decentralized systems can be slower in processing transactions compared to centralized systems. This is because each transaction needs to be validated by multiple nodes, which can take time.

Applications of Decentralized System – 

  • Private networks – peer nodes joined with each other to make a private network.
  • Cryptocurrency – Nodes joined to become a part of a system in which digital currency is exchanged without any trace and location of who sent what to whom. However, in bitcoin, we can see the public address and amount of bitcoin transferred, but those public addresses are mutable and hence difficult to trace.

Use Cases – 

  • Blockchain
  • Decentralized databases – Entire databases split into parts and distributed to different nodes for storage and use. For example, records with names starting from ‘A’ to ‘K’ in one node, ‘L’ to ‘N’ in the second node, and ‘O’ to ‘Z’ in the third node
  • Cryptocurrency

Organizations Using – 
Bitcoin, Tor network 

Comparison – Centralized, Decentralized and Distributed Systems

In this article, we will try to understand and compare different aspects of centralized, decentralized, and distributed systems. 

Similar Reads

1. CENTRALIZED SYSTEMS:

We start with centralized systems because they are the most intuitive and easy to understand and define....

2. DECENTRALIZED SYSTEMS:

These are other types of systems that have been gaining a lot of popularity, primarily because of the massive hype of Bitcoin. Now many organizations are trying to find the application of such systems....

3. DISTRIBUTED SYSTEMS:

A distributed system is a collection of computer programs that utilize computational resources across multiple, separate computation nodes to achieve a common, shared goal. Also known as distributed computing or distributed databases, it relies on separate nodes to communicate and synchronize over a common network. These nodes typically represent separate physical hardware devices but can also represent separate software processes, or other recursive encapsulated systems. Distributed systems aim to remove bottlenecks or central points of failure from a system....