Review of Challenges in Distributed Systems

Note

For a comprehensive coverage of blockchain development in Ethereum or mastering Solidity programming, taking our below self paced courses is highly recommended:

 

Recap

In our previous series, we covered the following articles:

In this article, we learn about the challenges of using distributed database systems.

 

In this and next article series, we will explore how the decentralized filesystem works with InterPlanetary File System (IPFS), Swarm, and BigchainDB, and how decentralized messaging works with Whisper. If you have just started learning about Ethereum and plunge into the development of smart contracts, you can jump directly to the Ethereum development series, and come back later on to see various deep research topics in the Ethereum community.
The following topics will be covered in this article series:

  • Understanding challenges in distributed systems
  • Scaling Ethereum
  • Following up on EVM and lower-level protocol improvements
  •  Implementing the Ethereum 2.0 roadmap
  • Introducing cryptoassets and Ethereum token standards
  • Working with decentralized data and content storage
  • Decentralized messaging with the Whisper protocol

 

Understanding challenges in distributed systems

In today’s world, distributed systems are everywhere. A distributed system is a collection of computing resources, including computers, devices, software components or applications, which are physically separated, but linked together to complete certain acts or tasks. Internet, intranet or mobile networks are examples of distributed network systems.

More sophisticated ones include a cluster, a grid, and cloud infrastructure. Examples of distributed applications vary from client server applications, SOA-based systems to massive multiplayer online games. Thanks to social, mobile, and cloud applications, large-scale distributed systems have evolved into an indispensable technology platform and are a ubiquitous always-on environment for businesses, consumers, and private citizens around the world.

With the help of advanced technologies, heterogeneity, openness, and transparency are no longer considered to be a major issue. However, guaranteeing availability, security, and scalability, and ensuring data consistency and fault tolerance are still major challenges that business and technology leaders face when developing large-scale distributed systems.

It is no surprise at all that the decentralized peer-to-peer network is a distributed system at a global scale too. Design choices and trade-offs have to be made by the designers of distributed systems to address those challenges and issues and come up with products that fulfill the design goals and meet real-world business needs. In a distributed database system and NoSQL type of big data platform, the goal is security and scalability of the system. Consistency and availability of data and information, along with fault tolerance in a distributed network, are the trade-offs and design choices.

 

One-to-One Live Blockchain Classes

Coding Bootcamps school offers One-to-One Live Blockchain Classes for Beginners.

 

In the blockchain network, which is a distributed database in a decentralized peer-to-peer network, decentralization and being trustless are the ultimate goals; the blockchain network has to make trade-offs between decentralization, security, and scalability. This leads to more discussions in the next few articles about design trade-offs in distributed systems in general and in the blockchain network in particular. In the next articles, we will look at design trade-offs in distributed systems in general and in the blockchain network in particular.

 

Next Article

In our next article (Review of Cap Theorem in Distributed Systems), we discuss the three properties of the CAP theorem and how they are used in different distributed database systems.

This article is written in collaboration with Brian Wu who is a leading author of “Learn Ethereum: Build your own decentralized applications with Ethereum and smart contracts” book. He has written 7 books on blockchain development.

 

Resources

coming soon