Vitalik Buterin trilemma is pure garbage. I think the kid has recently read something about ideal gas law (PV/T= C) and is childishly making an analogy.
Please explain how decreasing or increasing one trait will not affect the traits of one of the other two. Security, decentralization, and scalability.
It is not on me to reject every single ridiculous claim Vitalik Buterin makes (believe me there is a lot), you better ask him to prove it. I mean a mathematical proof.
You are sidestepping the debate. I want to hear from you why you believe that increasing scalability will not affect security and decentralization if applied on the blockchain by increasing the blocks, or by your idea of decreasing the time between blocks. I want to know why you believe saying that there will be tradeoffs is "garbage".
I see both you and @Doomad are very interested in refuting Buterin's claim. I understand, I feel offended too
First of all I have to maintain that it is on him to prove such a hypothetical trilemma exists either mathematically or experimentally.
Obviously, Buterin is not much of a proof boy and we are dealing with an intuitive argument
inspired by:
-a Japanese maxim which states:
everything comes with a price! - the famous ideal gas rule in thermodynamics
PV/T = constant- recent
congestion and performance problems in bitcoin and ethereum networks.
Yet and in spite of its journalistic nature, this garbage and the magical key word,
trilemma, is occasionally used to get rid of any serious discussion about improving cryptocurrencies or to make weird claims about impossibility of such improvements.
Some people go that far to use this fallacy (we will prove it being a fallacy) as a supporting assertion for their strategic interpretation of what bitcoin is or is not.
So, let's do it ... proving wrong an unproven, journalistic, ridiculous claim about block chain design being an engineering
trade-off between security, decentralization and performance, made by Ethereum idol, Vitalik Buterin
What is this trilemma of Buterin?The trilemma claims that blockchain systems can only at most have two of the following three properties:
- Decentralization (defined as the system being able to run in a scenario where each participant only has access to O(c) resources, i.e. a regular laptop or small VPS)
- Scalability (defined as being able to process O(n) > O(c) transactions)
- Security (defined as being secure against attackers with up to O(n) resources)
It is how Buterin and his proponents in Ethereum community present
the trilemma: re-defining decentralization, scalability and security such that one might be convinced they are mutually incompatible or something!
What does decentralization mean in cryptocurrency?Buterin suggests it is totally impractical to have a decentralized p2p network and we have always a degree of centralization. It is essential for his ridiculous trilemma: You got a distribution of votes not being homogenous? You are
somewhat centralized!
Decentralization, the way bitcoin has established it is not such a naive concept. It is about Byzantine Fault Tolerance:
A cryptocurrency p2p network is supposed to be decentralized to resist against collusion between a majority of participants weighed by their power, for this to be achieved a network should be capable of maintaining a distribution of participants/voters being both divergent and granular
enough.
Although
enough sounds to be relativistic, it is not. An adversary has always the option to consume enough resources to compromise the security of a network (Note for Buterin: regardless of how scalable it is ). He just doesn't commit such an attack because of the game theory analysis that shows him how irrational would be such an option.
No matter how granular or distributed are the participants, there is always a choice to locate them, bribe them and commit such a conspiracy against the network, it is just about the costs and the incentives involved.
So, a network is safe in terms of decentralization as long as collusion is much more costly to achieve than the rewards.
Although it is possible to imagine a hypothetical function taking a range of parameters and giving us some quantitative index for decentralization, that function by no means would be such a stupid linear relation with the total network resources: O(c). This kid is obsessed with computational theory's O function. He thinks it is very prestigious to use O(something) whenever you have no clue of the actual behavior of a variable.
Decentralization is a sophisticated property for a p2p network and the only legitimate framework to make an assessment regarding it, is game theory. There exists no linear, simple function that can be used to give a practical index of how decentralized a given distribution of resources and votes in a network is.
Plus and more importantly, there is a gap between a protocol (or an improvement proposal for a protocol) and the way the resources are distributed in the real network. A protocol can encourage/discourage a distribution pattern but is not able to actually impose it!
Suppose we have this protocol freshly started with a very limited hashpower, if for some reason its coin gets unpredictably more attention from the market, no matter what the protocol is or how it encourages the distribution of resources, it will become radically centralized in few days and there is nothing the protocol can do about it as long as it is supposed to be public and permissionless.
What does scalability mean in cryptocurrency?The way Buterin puts it, scalability is another impractical agenda for cryptocurrency. Actually it is impractical for any computing system.
Any educated, experienced software engineer is aware of the limitations in how scalable would be his design. Simply asking for O(N) > O(c) as a measure of scalability is nothing more than a joke (again using the infamous O function
). In software engineering we always need a criteria for designing a system to be scalable within. Once the requirements grow higher than the boundaries, you have to reconsider the design properly and you may have to do it from scratch.
When in crypto ecosystem we talk about scalability we are not looking for a solution to compete with a stupid centralized data center like what Visa runs. Who put this in front of us as a challenge and why?
we don't need tens of thousands tps now and in near future. We are speaking of tens up to few hundreds tps for now and next few years. Neither bitcoin nor any other crypto coin is supposed to replace fiat currencies in like 5 years. Neither fucking Ethereum universal machine is going to be used as an alternative legal system for resolving day-to-day contracts between people.
Why people are screaming scalability or making fantasies about it? what's the catch? Making an embarrassment out of it for the community? For what? Selling their own shitcoin?
Although we are always dreaming of such days, they are not gonna happen right now and we have to worry about real problems with real performance bottlenecks at this very moment.
Scalability for crypto currencies should be considered as:
The capability of a network to process transactions without unexpected delay or costs if the projected numbers and indexes of popularity and usage growth happened to become real or exceeded their initial values moderately.
For bitcoin, I suggest 100 tps is more than enough for next 4 years. So, we just need like 10-15 times better utilization of resources and technologies available nowadays.
What happens next, when network grows even larger and demand gets meaningfully higher?
Nothing! We make more assessments based on more data we would already have, and try to utilize more advanced technologies and sophisticated protocol enhancements to make the network even more efficient.
Next?
We don't know! We should wait for more improvements and more technological opportunities, may be?
Simply, we should improve and evolve gradually to keep the network efficient
in the criteria that is dictated by the market.
What does security mean in cryptocurrency?I don't understand WTF Viralik means by '
attacker with O(n) resources' but in crypto we have two important security measures:
1- Being resilient against double spend attack by 50%-1 resources.
2- Utilizing network resources fair enough to keep the above index in the same level by avoiding orphan blocks.
With orphan blocks and unintentional forks, we will have parts of the resources wasted making it possible for the adversary with less resources to commit double spend attack.
A protocol is considered to be safe if its consensus mechanism is solidly supporting the first property and other implementation and operation parameters
do not put the network in the second danger.
Now, suppose we have our coin designed (for some reason) in a way that a relative number of stall blocks or unintentional forks happen more often than a coin like bitcoin. What happens?
Firstly the adversary may find it practical to fork intentionally for a double spend attack using his hashpower which is considerably less than 50% with a good chance of winning the competition because the network's honest majority of hashpower is already splitted between other competing, unintentional forks.
Then what? a double spend has been made and somebody has lost his funds/assets.
But wait ... The loss should be considerably high like a very large transaction of coins? Shouldn't it? And why a user dealing with our coin shouldn't wait for more confirmations before releasing his $$ assets? Of course he should and he would wait for that.
The point is, even with not being fully obsessed with preventing unintentional forks, this network should be considered safe as long as it supports the more crucial 50%-1 attack resistance, deep in its protocol and thus resists
long range attacks properly.
Conclusive remarks:This is why I call this hypothetical trilemma,
pure garbage. It is nothing more than a naive fallacy, a strawman flavor of fallacy to be exact:
The kid is trying to convince us we are not capable of keeping our promise for a p2p, decentralized, secure and adoptable electronic cash system because of some magical contradictions between features nobody have promised.
Vitalik Buterin is now an adult and has rights to attack our axioms but it should be clearly understood as
an attack from outside of the cryptocurrency discourse .
All this thing is about weakening bitcoin/cryptocurrency agenda: building a better world by inventing a better monetary system.
He deliberately suggests/forges impractical and void definitions of basic features and says it is impossible to achieve the design goals of interest.
Why? Because he is a trojan horse. He says:
"Now that I have proved () decentralization is not achievable, let's have some centralization. Me and my org being the most important centers by the way." And I'm like
"Ok Vitalik go ruin yourself and your org and any other toys you got son. Just watch your mouth and don't mess with bitcoin or other decent cryptocurrencies. Seriously!"