Ants working in a decentralized manner like blockchain

Blockchain : A Distributed Decentralized Ledger

4:23 AM, November 18, 2022

Blockchain

Coinslive


Blockchain is a distributed-decentralized ledger at its core. So, it is important to understand ledger, distributed systems, and decentralized networks to understand Blockchain technology well.

What is a ledger?

A ledger is simply a record of transactions of various accounts in a financial institution. We generally consider these records to be immutable. Next, we can generalize the term “transactions” to “events” and the term “financial institution” to “some authority”. And we can have this authority either centralized or decentralized. Before understanding centralization/decentralization, let us first explore distributed systems.

What are distributed systems?

Consider a collection of computers (something which has the potential to compute). Next, let’s connect them by a network i.e. now, they can send and receive some information to each other. If all/most of them work in a coordinated manner to solve some specific problem, then we may call them a distributed system. For an outsider, the whole system would look like a single entity.

Distributed systems have a lot of advantages. These are highly scalable. And this is because increasing the number of computers is easier than increasing the computation power of a single computer. We have high availability of distributed systems. They are ready to accept client requests all the time. Moreover, we can make these systems to be made fault-tolerant. Fault tolerance means giving good performance even when a few of the computers stop working in the system. Finally, we can keep them at different geographical locations as distributed systems consist of many different computers connected by a network. And these locations can be chosen as per our business requirements.

Issues with Distributed Systems

There are two main issues with Distributed systems. As many computers are involved in a distributed system, it is not a big thing to see a few of them not working. So, the first issue is of making replicas of computers to make the system reliable. These replicas need to be kept consistent with each other all the time. This means, if something happens to one replica, then it needs to be updated in other replicas too at the same time. This gives rise to the second issue i.e. using some protocol to achieve consistency among replicas. Maintaining consistency usually reduces the performance of distributed systems.

Examples of applications of distributed systems include the Google search engine, AWS infrastructure, telephone network, etc. A real-world example can be the working of the Indian Government (or any country’s government with a federal governance system). The government in every state looks after the issues of their state. And the central government makes coordination among these state governments. If there were just one group of people located at some particular place, it would be difficult to manage the country. By distributing location and responsibilities, and administering at a high level from a common point, managing the country is an easy task.

Most distributed systems work under a single administrator (centralized-distributed system). But it is not necessary.

Centralized vs Decentralized

Centralized networks

We can have centralized or decentralized distributed systems. Centralized means having some common authority that can give instructions to all other computers in the network. Every computer is directly or indirectly taking permission from this authority to interact with other computers in the network. The level of control by this authority may vary among different networks. But the presence of this authority implies that the network is centralized.

The most common issue with centralized networks is security. One can easily hack these systems by taking control of the central authority. Examples of a centralized network include AWS, Google Cloud, Banking systems, etc.

A non-technical example would be the corporates. These have a hierarchical structure. It consists of many centralized clusters which are again centralized to a single authority.

Decentralized networks

In contrast to this, decentralized networks are networks without the presence of any central authority. All computers have equal authority to exert over others. As there is no administrator/leader to instruct, all the computers find it difficult to agree on any decision (consensus). Thus, the most prominent issue in these networks is of bringing consensus among the participants. There are already many ways available to tackle this problem and we are researching many other ways too.

Decentralized networks are much more secure than centralized ones. They are resilient to hacking. These systems are disintermediating i.e. no involvement of any third party or any authority in peer-to-peer communication. An example of a decentralized network includes the internet.

And a non-technical example would be villages of Bharat/India. There is no significant central authority to maintain a village. People living in the villages execute various maintenance works like cleaning etc. in a decentralized manner. We should visit these villages to experience decentralization.

Village – Decentralized

Further, we must watch the following video to know the mechanics behind these decentralized Bhartiya/Indian villages.

https://youtu.be/a_nerclv53s

Blockchain – Distributed-Decentralized

Coming back to blockchain… Blockchain is a distributed-decentralized ledger. Thus, it has advantages and disadvantages of these systems.

A block is a record of events bundled together. And blockchain is simply the chain of these blocks linked one after another. How this is a distributed system? There is a network of many computers (also called nodes). All the nodes are identical to each other in the sense that they have the same blockchain source code running in them. How blockchain is decentralized? As there is no administrator/leader node, all the nodes are peers. Everyone has equal authority over others. There is no requirement for any third party. Nodes achieve consensus through various innovative methods.

Lastly, here are a few of the questions that we need to explore.

How to scale a distributed-decentralized system?
How to bring consensus in tricky scenarios (see Byzantine generals problem)?
Is it possible to keep the system highly performant while maintaining consistency among nodes?

Please send us suggestions and feedback via various methods available below.

Rate the article:

    

Comments