The debate
In a debate I had with @karov involving the nuances of Proof of Work, Proof of Stake, "Small Blocks" and "node decentralization", there was a disagreement. @karov is in favor of small blocks and promoted the idea that node decentralization is the reason why small blocks are favorable. This led me to question what matters more for a concept I called "mainstreamability". My argument was that small blocks put a performance limitation on the network which has major impact on "mainstreamability" and I highlighted Steem as an example of one of the only crypto projects which is successful on the basis of "mainstreamability".
What is mainstreamability?
To even make sense of my side of the argument in this discussion I have to first explain what mainstreamability is. Mainstreamability is a performance measure or metric. If the measure of success is in how many users are are active on a platform then mainstreamability is the measure we can use to try to predict success in terms of adoption. When comparing Steem to Bitcoin I would make the argument that although Bitcoin has a much higher marketcap; the actual real world utility of Steem is much greater than Bitcoin. I argue that in terms of achieving mainstream adoption Bitcoin has failed according to the numbers which reveal if I am generous that Bitcoin maybe has between 10-15 million users total world wide. On the other hand a successful platform typically has 100 million users at least and 10-15 million users in Bitcoin isn't even active accounts but more people who probably use it only sporadically.
Why do people only use Bitcoin sporadically?
The main reason why is because Bitcoin doesn't scale. Bitcoin is decentralized to a fault in my opinion, which is to say it is decentralized in areas of minimal importance (small block sizes for node decentralization) to achieving mainstream adoption while centralized in ways of great importance (like mining pools and hardware manufacturing). In order for Bitcoin to be of actual real world utility it must achieve greater performance but there is no realistic way to gain performance without sacrificing or making trade offs.
To provide an example, Linux provides mirrors to download and install apps. If you are familiar with the apt-get architecture then you know that downloads from geographically diverse parts of the world are possible. At the same time if we look closely then we will see a lot of universities hosting the apps and we will see a difference between ping times. The user (who in my opinion must come first), is typically seeking to get the best download speeds from these mirrors and so more often than not the user will choose the mirror with the best ping speeds (the closest connection). The point here is that Linux provides the user with the option and ultimate decision authority to decide when decentralization is beneficial and when it is not.
Only Measurably Beneficial Decentralization matters
In my counter argument with @karov I introduced the idea that measurably beneficial decentralization is the only kind of decentralization which matters. I put forth the argument that decentralization is a tactic to achieve some greater goal whether it be performance or security. I made the argument that the case for small blocks appears to have no measurable benefit toward security. In fact I put forth this question to 100% of supporters of small blocks; how does keeping block sizes small produce a measurable benefit to security?
We have to keep mining decentralized to reduce the probability of a 51% attack. This is an example of a measurable benefit to security. Probability of attack is expected to go down as decentralization of mining goes up. When I look at the pros and cons of blocksize I do not see anything which indicates a measurable benefit either to security or performance.
Wiki lists some of these are the concerns of raising the blocksize:
- A hard fork requires waiting for sufficient consensus.
- Risk of catastrophic consensus failure
- An emergency hard fork that can achieve consensus can be deployed on a short time period if needed
- Orphan rate amplification, more reorgs and double-spends due to slower propagation speeds. [This here is a possible performance impact]
- European/American pools at more of a disadvantage compared to the Chinese pools [This here is politics and nationalism]
- "Congestion" concerns can be solved with mempool improvements including transaction eviction.
- No amount of max block size would support all the world's future transactions on the main blockchain (various types of off-chain transactions are the only long-term solution) [Is there even this much demand for this to make any rational sense?]
- Fast block propagation is either not clearly viable, or (eg, IBLT) creates centralised controls.
- Larger blocks make full nodes more expensive to operate. [What impact does this have to performance or security?]
- Therefore, larger blocks lead to less hashers running full nodes, which leads to centralized entities having more power, which makes Bitcoin require more trust, which weakens Bitcoins value proposition. [More power over what? What impact does it have on security or performance?]
- Bitcoin is only useful if it is decentralized because centralization requires trust. Bitcoins value proposition is trustlessness. [Trustless does not exist in practice. Trust minimized does exist in practice. Trustless is a religious phrase rather than practical reality]
- The larger the hash-rate a single miner controls, the more centralized Bitcoin becomes and the more trust using Bitcoin requires. [How does increasing the blocksize have any measurable impact on this possibility?]
- Running your own full node while mining rather than giving another entity the right to your hash-power decreases the hash-rate of large miners. Those who have hash-power are able to control their own hash power if and only if they run a full node. [Does every user desire to run their own node?]
- Less individuals who control hash-power will run full nodes if running one becomes more expensive[9].
Looking at these arguments I would say the only arguments which matter are arguments where a measurable impact assessment can be made. For example if they can show the probability of a 51% attack may increase if the block size reaches beyond some threshold amount. If they can say the blocksize is currently too big for example and that decreasing the blocksize makes sense because it reduces the attack surface. Unfortunately I don't see hardly anyone suggesting that decreasing the blocksize is the means to increase security or performance. If blocksize increase degrades security and or performance then wouldn't this suggest that decreasing the blocksize may offer some performance and security gain?
Conclusion
The point of decentralization is to improve security and resilience of a network. In nature decentralization functions to make something resistant to attack by predators. Any decentralization which must exist should have some measurable benefit to security and resilience in my opinion. For an example if we look at mold we would be able to say it's one of the most distributed lifeforms on the planet. Mold reproduces anywhere there is moisture and there is so much of it floating around (it is so widely distributed) that it can never be killed even if humans set ourselves on the mission to exterminate all mold on earth. So in this case the function of having a fast reproduction rate and being extremely decentralized is that as a species it resists extinction. So the benefit of decentralization ultimately is extinction or eradication resistance.
If we look at our technologies in the cryptospace then again we can say that some platforms are better able to survive in a changing environment than others. Technologies which adapt quickly can survive much better in chaotic or harsh environments. Technologies which are decentralized are harder to stop, harder to eradicate, harder to shut down. In the case of peer to peer file sharing for example the decentralization made the technology highly resistant to legal attack, political attack, etc. You may or may not agree with the view that file sharing is right or wrong but the measurable impact is that file sharing can't be stopped because it's fundamental both to how humans communicate (sharing information) and the way the Internet is designed (peer to peer).
I rely on a spectrum,; which on one side is meaningful or measurably beneficial decentralization and on the other side is unmeaningful unbeneficial decentralization. Depending on where things fall on that spectrum determines if the decentralization is of utility or is religion.
Religious decentralization or to put it in a different way; ideological decentralization is to decentralize for it's own sake. This can also be called decentralism. In my opinion decentralism is to build technologies with the agenda to promote the political philosophy of decentralization (libertarianism, decentralization of power), rather than to produce a technology which has a real world utility. This would mean that Bitcoin might never have to have any real world utility or have very minimal utility as long as it is religiously pure, ideologically clean.
In my opinion (which may be right or wrong), the goal of mainstreamability is more aligned with permanence and building utility. If the goal is to make a big impact and difference for the world then 100 million users of all possible ideologies is better than 20 million or so decentralists. It is true that even if decentralism is an ideology or religion that over enough time perhaps we could see 100 million people adopt it. The point is that if it's guided by belief rather than the numbers, the data, the measurable impact, then what that ideology produces may not actually be measurably better. In measuring what is or isn't better we have "utility theory" which states: utility measures the level of satisfaction in the user of the product or service and that to satisfy some need is to produce real world value. If Bitcoin does not satisfy a need in the world then it does not obtain even a niche, and if some other product can satisfy that need better then Bitcoin becomes obsolete.
Ultimately this forces me to reach the conclusion that satisfaction of the user of platforms (not just current but potential future users) must come first. If Bitcoin is not in demand, or if the utility isn't increasing over time, then the users should be expected to move onto something better. Steem provides measurable utility but it provides this utility to the average person (not just the decentralist). The mainstreamability concept would show that if there are far more people who aren't decentralists vs a very small amount of people who are then to appeal toward a fringe group is to not be chasing mainstream adoption. In other words it's not ideal for mainstreamability of a product to focus on the user who is not part of the mainstream unless there is a realistic possibility of changing the opinions of the mainstream.
So this puts Bitcoin into a bad position in my opinion. Either Bitcoin has to change the mind of the world in order to achieve mainstream adoption or Bitcoin must change to meet the mind of the world. Bitcoin so far is unable to change because Bitcoin has the need to remain pure but sacrifices mainstreamability in the process. The loss of performance, the loss of scalability, is exactly the hole EOS, Steem, and other newer platforms are going to fill. Is there a reason to believe that Steem wont have more real world use (daily usage and transactions as a measure) than Bitcoin? If it does, then Steem is proving more utility in a measurable way.
References
- 1 https://en.wikipedia.org/wiki/Utility
- 2 https://en.bitcoin.it/wiki/Block_size_limit_controversy
- 3 https://www.libertarianism.org/columns/why-decentralism-beyond-left-right
- 4 https://en.wikipedia.org/wiki/Impact_assessment