📗
AI + Blockchain EDU
  • Part 1a: Blockchain
  • Distributed Systems
  • Distributed System Challenges
  • Distributed System : Timing
  • Distributed system: Consensus
  • Cryptography Principles and Blockchain
  • Wallets
  • Transactions in Cardano
  • Part 1b: Cardano
  • Consensus Ouroboros
  • Networking in Cardano
  • Part2: DeepLearning
  • DeepLearning Introduction
  • Mathematics for MachineLearning
  • Linear Regression
Powered by GitBook
On this page

Was this helpful?

Export as PDF

Distributed Systems

PreviousPart 1a: BlockchainNextDistributed System Challenges

Last updated 3 years ago

Was this helpful?

As we discussed before, the base of a blockchain is a set of computers (nodes) and network. This is nothing but a classic distributed systems. Distributed systems have been around for many decades then why was blockchain not implemented earlier? The answer is the challenges in distributed system which made things more complicated for blockchains where untrusted parties had to communicate.

Before getting into these lets look at different distributed architecture 1) Server Client Architecture 2) Federated server architecture 3) Distributed peer to peer architecture

Figure 1 shows Server client architecture. There is one central server and all clients talk to this. This is very much used in many applications today. However this is not suitable in blockchain as we don't want one central server.

Figure 2 shows the Federated server architecture. In this case instead of one single server, there are multiple servers and they talk to each other. The other clients connect to one of the Federated server. These federated servers connect to one main server. This is not an ideal architecture for blockchain. If one server fails then all the clients connected to that server will get disconnected.

Figure 3 is the peer to peer architecture. In this there is no central server and each node is independent and failure of one node does not cause any cascade effect.

The three main challenges in any distributed systems are 1) Network architecture 2) Node data liveliness 3) Timing

The below table shows the difficulty levels in each of the architecture for the above mentioned challenges

In the next section we will look into details of each of these challenges and why they are high for peer to peer.

Classic Client Server
Peer to peer