CAP theorem
In Chapter 1, Blockchain – An Enterprise and Industry Perspective, we introduced the CAP theorem in the context of general system properties. Formally, the CAP theorem as postulated by Eric Brewer in 2000 at ACM Symposium on Principles of Distributed Computing (PODC) (https://dl.acm.org/citation.cfm?id=343502) states that in a distributed data store it is impossible to guarantee more than any two of the following three properties: consistency (C), availability (A), and partition tolerance (P). A distributed data store thus can be characterized on the two properties it guarantees, namely CA, CP, or AP.
More specifically, the theorem is aimed at distributed systems deployed across unreliable networks (networks with faults and delays, such as the internet), leading to a partitioning of the system components. According to CAP, in these environments, the system design must focus on the balance between availability and consistency. For example, the...