This article is about understanding distributed, centralized and decentralized architectures.
With this article I will start a article series about blockchain foundations. The articles are drawn from my book "Blockchain and Crypto Currencies Easy to Understand for Everyone, Thomas Bauer".
Already published are
Distributed, Decentralized and Centralized Computer Architecture
- Part 1: Distributed, Decentralized and Centralized Computer Architecture (this article)
- Part 2: Peer-to-Peer Architecture and Hybrid Computer System Architecture
- Part 3: How the Architecture Affects the Internet User
Signature, Encryption and Hash Function
- Part 4: Hash Function
- Part 5: Merkle Tree an Merkle Root
- Part 6: Radix tree (PATRICIA trie)
- Part 7: Encryption and Digital Signature
- Part 8: Seed (Random Seed) and HD Wallet
The next articles (coming soon) will be about
- Blockchain Architecture (Ledger, State, Double Spending, ...)
- Doing Bitcoin and Ether Transfers
- Mining
- Wallets
- Tokenizing
- Consensus
- Forks and Splits
I hope you will enjoy it
The blockchain world is a world with a new way of thinking and doing business processes. To see what could develop from blockchain we first need to understand this blockchain world. We need to understand that not everything is new. Blockchain grounds on the already long existing peer-to-peer architecture and uses encryption technologies that had been existed long before the term blockchain was known. But these architecture and techniques were not used intensively for realizing the today known internet applications. Consequently, not everybody is familiar with them.
Distributed, Decentralized and Centralized Computer Architecture
The blockchain is a distributed decentralized computer system. Each node runs equal software and holds equal data.
Let us do a closer look at this abstract definition.
This article explains what a distributed decentralized computer system is. Of course, there are a variety of hybrid forms and variations of this architecture. For your understanding, it is sufficient to know the basic architecture and some of the most important hybrid forms.
This article is not about network topology or technical implementation. Rather we need a basically understanding of the architectural variations. We look at them from an end user's point of view.
Instead of distributed decentralized computer architecture we could also talk about centralized or distributed decentralized application architecture, information system, topology or so on. The subsequent explanations meet them all.
Centralized Computer System
Today the most used architecture is the centralized computer system. Let's look at a big internet trading platform. Whoever is registered with the platform gives his or her data to the platform. Personal data stored on this platform could be
- Identification data
- Data the internet company must request due to tax law
- Our transactions including order confirmations and bills
Each retailer or buyer has a browser application provided by the platform and uses software and data provided by the platform's computer center. To act on the platform, they only need to start an internet browser. Their personal workplace needs no special capabilities.
Figure 1: Centralized computer system schematically
Central is the trading platform from the point of view of the retailer and buyer. Maybe the trading platform technically is run as decentralized distributed computer system because the data is replicated across a couple of physical computer centers. Maybe there is more then one web server for receiving requests. But from the point of view of the retailer and buyer it remains a centralized computer system because every software and data are located on the platform. Each user must use the centralized provided system of the platform.
Decentralized Distributed Computer System
In a decentralized distributed computer system data and software are spread across a couple of independent computers. Each network participant may be service requestor, service provider or both.
As a user we can participate in such a decentralized distributed computer system and become one of these independent computer systems. Or more technical: If we have the software and data of the decentralized distributed application on our computer, we are a participant of this network.
Each participant may offer the same data and software than every other participant. But it is also possible to offer different software and data to the other participants.
Figure 2: Decentralized distributed computer system schematically
The terms „decentralized“ and „distributed“ tell us different things about the computer system they describe.
Decentralized addresses the fact, that software or data is stored on decentral computers of the network. Distributed tells us, that the same software or data is stored on multiple computers.
Often you will hear "decentralized" or "distributed" only, but the talk actually is about a decentralized distributed system.
There are a lot of decentralized distributed computer systems designed for spreading software and data across multiple computers for security or scaling reasons. But from the point of view of the end user those systems are centralized computer systems. If we classify a computer system as centralized or decentralized distribute we need to consider our point of view.
Figure 3: Centralized topology from the point of view of the user, decentralized distributed implementation in the computer center
A peer-to-peer (P2P) computer system is a decentralized distributed computer system with each user and his or her independent computer being a network participant running programs and holding data. This will be the topic of the next article.
Congratulations @thomasoss! You received a personal award!
You can view your badges on your Steem Board and compare to others on the Steem Ranking
Vote for @Steemitboard as a witness to get one more award and increased upvotes!
Congratulations @thomasoss! You received a personal award!
You can view your badges on your Steem Board and compare to others on the Steem Ranking
Vote for @Steemitboard as a witness to get one more award and increased upvotes!