Lesson 2 - Simple Explanation - Decentralized Vs Distributed System - Moving to Blockchain.

It is very important to understand the subtle difference between Decentralized and Distributed. Once you have this clarity you will understand or design the systems better using the block-chain stack I shared in part 1.

I will try to make you understand in a simple way I have understood it via various resources.

Consider a Class of Students with a Teacher.
1. All students have the information in form of books. 
2. Teacher questions the students.

3. Every student provides his answer.
4. Teacher confirms who is right or who is wrong.

You got it - It is distributed but centralized because even though every node (student) answers or contributes, but a central authority ( can be a legal authority or any other node) which finally takes a decision.





Now , assume the Teacher goes out of the class. What will happen.

  1. Every student will find the answer 
  2. Check in his book for the correct answer, if he is right or wrong. 
  3. All of them has their own decisions.
  4. And based on an agreement between them, they will choose the correct answer.
This is a decentralized distributed system as their is no central authority.


Why you need to understand this??

Based on the two examples you can clearly see that both systems are subset of Distributed system.
For a block chain, you need a decentralized system.
So what do you need to make a decentralized system for a block chain?
1. A distributed system. Can be Hadoop or any other distributed system.
2. Consensus mechanism, like the students used to decide on one agreement ( e.g. lets say they decided to check each others books for confirmation )
3. Smart contract, to actually execute the real software application  ( e.g. the activities that were done by kids in real execution e.g. taking each other books physically, opening the pages, checking if the page is present, is the answer matching etc.). All of them will follow this contract, and any failure will automatically fail the methods like a cheating student in this example, who will not do the steps suggested by others and will try to cheat.

Hope I made it simpler for you.

Comments