This is also known as Brewer's theorem, introduced originally by Eric Brewer as a conjecture in 1998; in 2002 it was proved as a theorem by Seth Gilbert and Nancy Lynch.
The theorem states that any distributed system cannot have Consistency, Availability, and Partition tolerance simultaneously:
Consistency is a property that ensures that all nodes in a distributed system have a single latest copy of data
Availability means that the system is up, accessible for use, and is accepting incoming requests and responding with data without any failures as and when required
Partition tolerance ensures that if a group of nodes fails the distributed system still continues to operate correctly
It has been proven that a distributed system cannot have all the afore mentioned three properties at the same time. This is strange because somehow blockchain manages to achieve all these properties, or does it really? This will be explained later in the chapter where the CAP theorem in the context of blockchain is discussed.
In order to achieve fault tolerance, replication is used. This is a common and widely used method to achieve fault tolerance. Consistency is achieved using consensus algorithms to ensure that all nodes have the same copy of data. This is also called state machine replication. Blockchain is basically a method to achieve state machine replication.
In general there are two types of fault that a node can experience: where a faulty node has simply crashed and where the faulty node can exhibit malicious or inconsistent behavior arbitrarily. This is the type which is difficult to deal with since it can cause confusion due to misleading information.
Follow me on :-
Youtube : https://goo.gl/2exULj
Instagram : https://goo.gl/ikLTyb
Quora : https://goo.gl/sEoxY3
Medium : https://goo.gl/M3QvUq
Linekdin : https://goo.gl/LeaGSF
Steemit : https://goo.gl/o7RUj7