This is not an article with conclusion. It only aims to trigger heated discussion and exploration on the concept known by almost everyone in the blockchain field: the impossible triangle.
We will discuss whether it is a true concept or a pseudo one, because only when we can distinguish the authenticity and no longer focus and waste our development on the pseudo one, it’s possible to explore the issues in the blockchain which really need to be focused and solved.
This article is divided into three parts: the history of impossible triangle; the questioning of impossible triangle; the distributed system CAP theorem is the real impossible triangle.
Misunderstood History of Impossible Triangle Evolution
The impossible triangle of blockchain refers to a blockchain system which cannot satisfy three angles at the same time. It must improve the index of the other two angles at the expense of one certain angle.
In China, it’s Changjia who proposed the theory of impossible triangle for the first time. In 2014, he published an article entitled Impossible Triangle: Security, Environmental Protection and Decentralization, which aroused extensive discussion.
However, this article discusses the impossible triangle of cryptocurrency and concludes that “environment-friendly cryptocurrency” does not exist. It’s completely different from the applicable field of the impossible triangle we are talking about today. Changjia described the impossible triangle as follows:
Here, I propose a ternary paradox: decentralization, security and environmental protection constitute an impossible triangle.
To design an environment-friendly and secure cryptocurrency, it must be centralized, such as PPcoin, Nextcoin and Ripple. They are either centralized structures or their decentralized architecture is unsustainable. They still belong to the centralized verification mechanism like PayPal and online banking.
It must be unsafe to design a cryptocurrency which is both environment-friendly and decentralized, such as the P2P currency with IP voting system. Nakamoto ruled out such possibility at the very beginning because he thought “if the approach deciding the majority was based on the IP address with one vote for one address, those who owned the power to allocate a large number of IP addresses, such as the botnet, it was possible for them to dominate the bitcoin network.”
Designing a safe and decentralized cryptocurrency should necessarily be at the expense of energy and hash. The POW is the first solution to build a secure property certification system in a decentralized form, and it might be the only solution.
The “decentralization” and “security” proposed by Changjia is the same as the popular versions now, but the meaning they represent is quite different. What is referred to in his version is the mechanism and security of currency.
Vitalik Buterin Version
The impossible triangle theory of the popular version results from “Vitalik”, which means that blockchain system cannot simultaneously combine decentralization, scalability and security. The triangle is widely quoted in various presentations, reports, articles and even white papers.
This article is a part of the Sharding FAQs series of Ethereum, which was created and maintained by a team member named James Ray. What’s the purpose of this series? It’s used to answer all the questions about sharding.
That is to say, the so-called theory initiated by Vitalik was only mentioned by the Ethereum team member in an article answering community questions. It’s not a research paper and irrelevant to Vitalik and it’s not even a thematic article. But the truth is not only limited to the aforesaid aspects.
For the sake of better illustration, some facts about the “Vitalik”-version impossible triangle are explained one by one as follows:
- The original text is “This sounds like there’s some kind of scalability trilemma at play”. Combined with the context, it’s easy to find out that the theory of impossible triangle has not been subject to any logical and systematic argument. The author only enumerated some questions and then initiated the viewpoint. Moreover, the author used the expression of uncertainty in the text, which, however, was regarded as the undoubted truth later.
- The “scalability” had been discussed in the original text and even the author called it “scalability trilemma”. That is to say, this triangle was only for “blockchain scalability”, but it’s extended to “blockchain” from Scalability Trilemma to Blockchain Trilemma.
- For the triangle: Decentralization, Scalability and Security, the author made a clear definition, such as security “being secure against attackers with up to O(n) resources”. That’s to say, the triangle mentioned by the author was in a limited state to be discussed but it’s extended to the blockchain without any constraints.
However, the biggest problem with the “Vitalik” impossible triangle is not the aforesaid facts, but the environment in which this viewpoint was initiated. It appeared in the article introducing Ethereum sharding technology.
Those who have written academic papers must know that in order to prove their researches can solve problems, the first step was usually to raise questions; to prove the effectiveness of their researches, they usually described the problem very important and difficult to be solved. The article On sharding blockchains is exactly written in the same structure.
It described the status first to raise the question of “impossible triangle”; then, it adopted various methods to make analysis and pointed out that others couldn’t solve this problem; finally, it proposed his own solutions to demonstrate how the method could solve the problem perfectly.
Yes, if the readers are patient enough to read the whole article on the “Vitalik” impossible triangle, they will find that Ethereum has solved this triangle problem through its sharding technology. The so-called “impossible” has been demonstrated as “probable” on the first day of its birth.
James Ray wrote this impossible triangle in his article just to demonstrate that Ethereum could achieve scalability through sharding technology. He just wanted to prove “we can break through scalability trilemma”.
About this triangle, the article has given clear and rigorous definition. However, it was later misunderstood from multiple dimensions. The following picture shows the extent of solution which Ethereum can achieve.
Groundless Impossible Triangle
The impossible triangle has been widely recognized, except for the popularity of Changjia or Vitalik, it’s more because the theory sounds correct. But does it really stand up to scrutiny?
Why not ask following three questions first?
- What is decentralization? What is scalability? What is security? Can you answer their respective meanings exactly? If a theoretic concept cannot be accurately defined, what is the value of the theory?
- Reduce three angles to two, does the contradiction of “impossibility” still exist? Increase three angles to four, and does it still exist? If so, what is the unique meaning of the “impossible triangle”?
- What’s the practical guidance of the impossible triangle on the implementation of blockchain project?
“Scalability ” has been replaced by “performance” in a few versions, but even if it hasn’t been replaced, people can still semantically use “scalability” to refer to “performance.” But the two concepts are not equivalence. Scalability is just one of the ways to improve performance. Performance is just one of the features of the implementation of scalability. The figure below is a common version of the impossible triangle.
The EOS 21 nodes are often used to prove the correctness of impossible triangle. People believe that it sacrifices “decentralization” for the sake of “performance”, but what do we concern when we worry about the “decentralization”? We worry the EOS is not “safe” because of its centralization. Decentralization and security are closely relevant with each other.
The concept of “decentralization” and “performance” as two impossible angles is perhaps more accurate than that of impossible triangle, because only two angles can explain the current situation of blockchain.
In the other aspect, can sacrificing decentralization and scalability ensure the security of blockchain system? Obviously not. Security mostly belongs to the pure technical solution, then what does the security in the impossible triangle refer to? What is the significance of advocating the limited security?
In addition to “exaggeration”, the impossible triangle cannot provide any practical guidance for the engineering implementation of blockchain project. We can’t imagine the project manager tells his team members, “To improve performance, we can make some sacrifices to the security of the system.” Or “For the sake of decentralization, we can sacrifice the high performance of the system.”
This is the case. No project would like to improve certain aspects of the impossible triangle at the cost of other indicators. What they are advocating is that they “break through the impossible triangle”.
If the impossible triangle is a real concept, its greatest significance is to precisely tell the project that the system must make trade-offs among the three indicators instead of making any “breakthrough”. What can be broken through should not be called “impossible”.
Distributed system CAP theorem is the real impossible triangle
Why should we confirm the authenticity of impossible triangle? On the one hand, the pseudo-concept gives the soil for the survival of pseudo-project, it’s very bad; on the other hand, we hope that people can focus the attention on the real problem.
In the blockchain, the valuable impossible triangle is the distributed system CAP theorem. It means that distributed systems cannot simultaneously ensure consistency, availability and partition tolerance.
Eric Brewer proposed the CAP conjecture at the ACM PODC Symposium (ACM Symposium on Principles of Distributed Computing). Then, Seth Gilbert and Nancy Lynch in MIT theoretically proved the conjecture to make it a theorem.
The CAP theorem is one of the most important principles in the field of distributed systems, which profoundly affects the development of distributed computing and system design.
The specific meanings of CAP theorem consistency, availability and partition tolerance are as follows:
- Consistency: If the system returns a successful write operation, then the subsequent read request must read the new data; if the return fails, then all read operations cannot access to the data, so the data is highly consistent to the caller.
- Availability: All read and write requests can be responded within a certain period without always waiting.
- Partition tolerance: The network in the system may suffer from partition failure, that is, communication between nodes cannot be guaranteed, but it does not affect the normal service of the system.
According to the CAP theorem, a distributed system can only implement two of aforesaid three elements at the same time.
- If the AP is satisfied at a certain moment, that is, the separated node external service without mutual communicate, it will result in inconsistency which cannot meet the condition of C;
- if the condition of CP is met, then in the case of network partition, the request can only wait to meet the condition of C, so the condition of A cannot be met;
- if the condition of CA is met, that is, the node status is consistent within a certain period, then the network partition cannot be realized, which will not meet the condition of P.
The conclusion tells the designer not to waste time researching how to balance these three factors, because it is completely impossible. When designing a distributed architecture, it is necessary to make trade-offs according to specific systems.
The impossible triangle has expanded the designer’s ideas on the right path instead of setting a limitation, so that they can design a diverse system under different trade-offs.
Many distributed new systems have emerged over the past decade based on the relative relationship between data consistency and availability —- for the distributed systems, partition tolerance must be met, otherwise the system will be meaningless. Therefore, it is actually a choice between consistency and usability.
It’s the same with the design of blockchain system.
In the blockchain, the consistency can ensure that the data read by each node in each chain is always the same. The availability is to ensure that each node in each chain can realize transactions without completed synchronization, and because the nodes are distributed and the partition tolerance must be ensured. Based on these three elements as well as the trade-offs, BFT consensus, PoW consensus and other consensus algorithms thus came into being.
Without a universal distributed system, there will not be any universal consensus algorithms. The CAP theorem provides guidance for the design of blockchain consensus and governance, determines the function and implementation of the distributed systems.
The impossible triangle is fantastic because the science tells us what is impossible, but engineering tells us that we can pay more efforts to make it feasible. The CAP theorem brings the aesthetic of tension; however, the various versions of impossible triangle have not any aesthetic at all.