The Emperor is naked

in hive-155234 •  4 years ago 

How Ethereum became the Emperor of the blockchain world

Bitcoin does one thing well

Outside of the "cypherpunk" population, people have been sceptical of Bitcoin. Financial markets have gradually learned to love its solid track record of price increases and its volatility but the general population still has a major gripe with its energy consumption.

Bitcoin's simple value proposition ("censorship-resistant peer-to-peer value transfer system") allowed people to mentally "box it", decide whether the adhere to it or not, and then move on.

Ethereum is a "Jack of all trades"

In contrast, Ethereum's more versatile design is being hailed as the blockchain and comentators fell over themselves in admiration of its ability to execute smart contracts (without necessarily being very clear on what that truly means).

This has attracted a lot of developers to Ethereum, its "smart contract language" called "Solidity" and its "web3" APIs. The developers supported a flurry of tech startups touting a new breed of services based mainly on the Ethereum blockchain computing ability and, to a lesser extent, on its ability to store data (small bits of it, mostly hashes)

With startups came marketing stories of how this or that application will leverage the Ethereum blockchain to change almost every industry, the latest areas of exuberance being the decentralized finance (with the DeFi protocols) and the domain of intellectual property (with the "Non Fungible Tokens", in short NFTs)

These enthusiastic stories about a marvelous "blockchain-based" (read "Ethereum-based") future took the price of ETH, the native Ethereum asset, to all time highs above 4000 USD at a pace which surpassed the percentage of appreciation of Bitcoin.

Marvellous stories also led to major price increases in the tokens of "second-layer" applications such as "DeFi platform" Uniswap (UNI) or "scaling solution" Polygon (MATIC).

Moreover, stories spurred significant price increases in "copycat" blockchains, blockchains which are based on the Ethereum design with small alterations to address this or that weakness of the original protocol ...

... of which Ethereum is not short of ...

Ethereum suffers from serious design flaws

Although the product of brilliant execution, Ethereum has significant design faults, most notably in IT architecture and in its economic mechanism design ("crypto-economics")

IT Architecture and design

"IT architecture" is not well understood. Everybody understands that software needs developers, coders who write the programs the computers will run, but people outside the industry do not quite know what "IT architects" are for or whether they are really important. Yet the name attempts to make the role explicit: just like building a big, complex building does not take just construction workers to lay bricks but also requires an architect to design it beforehand, so it is with software.

In classical, building architecture, quality is judged according to three principles coming down from antiquity:

  1. Durability ("Firmatis")
  2. Usability ("Utilitas")
  3. Beauty ("Venustatis")

Most people are able to judge the 3rd, the "beauty" of a design, while the 1st, durability, can only be judged over extended periods of time.

However, users of a building (as opposed to mere passers-by) are quite quickly able to judge its usability. And by that yardstick, even very famous architects such as Frank Gehry can produce what qualifies as "bad architecture", as the problems experienced by this arguably "beautiful" building he has designed testify.

A1212-10-Examples-of-Bad-Architecture-and-why-Ray-ad-Maria-Stata-Center-Image-3.jpg
(c) Flickr

So it is with Ethereum whose beauty is seldom disputed and durability appears decent by IT standards.

However, its design flouts one of the big "no-no" of software design, the separation between the "data-tier" and the "compute-tier", an IT-architecture principle that comes down from the IT industry's "antiquity", namely the '70-ies.

"- Well, so what?", you might be inclined to ask with a shrug.
Yet this matters greatly, so let's look a little bit at the consequences if you will.

Blockchain architecture

Just like regular architects, IT architects also use drawings to represent IT systems, the "virtual buildings" they are designing. Since mid-2018, I've used this "5-tier" drawing to illustrate one way of analysing blockchain design.

blkc-overview.PNG

This illustration has been done to discuss "corporate blockchain systems", which are based on "consortia" and tend to use commercial cloud providers for the infrastructure (hence the references to "Data Center", "AWS", "Azure" and "Consortium members"), but it supports reasoning applied to public, permissionless blockchains like Ethereum

To understand why Ethereum's design is flawed, we'll have to take a closer look at it. Let's start from bottom to top.

Decentralization

If you were in the blockchain space for any length the time, you could not have missed its worshipping of decentralization, probably one of the "blockchain commandments" with the strongest resonance: "Thou shall be decentralized!".

In the quasi-religious verbal wars opposing supporters of different blockchain designs, "- Your blockchain is not decentralized!" is probably the worst abuse you can hurl at your opponent. Advocating for something that is not decentralized is a heresy that can condemn one to the ethernal flames of "blockchain hell".

Let's save for later the (very important) questions of "Why do I even need to be decentralized? How is that a good thing?" Let's assume "decentralization" ("Four legs") is good, and "centralization" ("Two legs") is bad.

  1. Ethereum, like bitcoin is very decentralized at the infrastructure layer. Indeed, almost anyone with enough capital can set up an Ethereum "mining rig" and start validating transactions and competing to seal blocks in the chain. Instead of "amazon web services", "Azure" or "IBM cloud" imagine "John Doe's mining rig" ... and then another 10 000 such mining rigs next to it.
  2. If we look at the data layer above, all the nodes have the same data, which is "the blockchain" itself. This is the main value proposition of blockchain systems: that data grouped in chained blocks is "the truth" and there is only one version of the truth
  3. The consistency of the various copies is ensured by the third, middle layer called "Consensus layer" The "Consensus" is ensuring that there is only one version of the truth.

Advocating for something that is not "decentralized" is a heresy that can condemn one to the ethernal flames of "blockchain hell"

However, when we take a deep look at the 4th layer, things get hairy. The "Application layer" is where the Ethereum "smart contracts" are located. In the above design, different "smart contracts" are running on different nodes. For instance, the "orange" ones are running on nodes 1, 3 and 4 (counting from the left), but not on node 2. In contrast, the "yellow" one is running on nodes 1, 2 and 4 but not on node 3. One can imagine that a "very important" smart contract would be run by more nodes, while a "not so important" smart contract would only be executed by a few nodes, in order to make the most efficient use of computing resources.

But when it comes to Ethereum, which does not separates between the "data tier" and the "compute tier", all its nodes run a copy of each and every smart contract, like in the illustration below.

EthArch.png

The practical consequence is that, ironically, Ethereum is an über-centralizer! From the point of view of an user of the blockchain, it doesn't actually matter that there are perhaps 10 000 very powerful and autonomous computers (the mining rigs), because in order for Ethereum to execute a smart contract (even the most useless one) they all have to do it in lockstep, like one!


armylockstep.jpg
When executing a smart contract, all Ethereum nodes run it in lockstep, like one (source)

This has terrible consequences for the usability of the blockchain: the more popular it becomes, the more applications are deployed on it, the more users these applications have, the higher the congestion because all these users of all these applications have to share the time of only one computer, not of 10 000!

Incidentally "time sharing" was how big mainframe computers were being used back in the '60-ies and early '70-ies, before computer scientists realized that separating the data-tier from the compute-tier allows for better and more usable software programs, easier to maintain and evolve, programs who were able to make better use of computing resources


tss.jpg
An IBM 7094 mainframe running "compatible time-sharing system", courtesy of IBM (source)

Ironically, Ethereum is an über-centralizer

Even a 2015 smartphone was about 1000 more powerful than the 1961 IBM 7094 mainframe in the picture above. Today, any Ethereum mining-rig is perhaps another 100 times more powerful than a 2015 smartphone, which makes the "Ethereum blockchain" (and its ONE computer replicated 10000 times) some 100 000 times more powerful than one of the most powerful computers of the world back in 1961.

Yet that doesn't change the basic thing that all the people deploying smart contracts on Ethereum are basically sharing the computing time of just ONE big logical computer.

Note the IBM 7094 mainframe computer would cost about $5,000,000 in today's dollars. Which brings us to the economic problem which the Ethereum design triggers.

Economic mechanism design

IT system design is no different from everyday life: you can't have your cake and eat it too. Thus IT architecture is about trade-offs: tell an IT architect how much "cake" you want to eat, (s)he'll tell how much cake you'll still be able to "have" after that.

Classical computer systems chase efficiency: they usually want the highest performance (for a given cost). Blockchains are different: they are inefficient by design. Blockchains optimise resilience (for a given cost), hence the performance comes second.

Blockchain systems are highly redundant but as a consequence are much slower than a similarly-priced classical computer system.

Importantly, note that "resilience" is directly related to "decentralization" - the more "mining rigs" join a blockchain network, the more resilient that blockchain is and also the more "decentralized" (at the infrastructure level).

But performance still matters, so the thinking is turned upside down: for a given level of "decentralization" ("resilience"), we want the best performance possible, costs be damned!

However in a public, permisionless blockchain system like Ethereum, in order to achieve that holy grail of "decentralization", you need to implement an "economic mechanism design" which incentivizes people to buy mining rigs, power them up and join the network.

Blockchains are inefficient by design

Incentives

Bitcoin's system of incentives rests on two legs:

  1. The block rewards
  2. The transaction fees

Ethereum has copied bitcoin's economic mechanism with small adjustments - the block rewards are configured differently, for instance. However, these are not the main issue.

The transaction fees are the problem. If you think of it, the transaction fees make "the interest of network providers" (miners) run counter to "the interest of network users".

Miners are engaged in a capital-fueled competition for block rewards, they need to continously invest to upgrade their hardware in order to keep pace with the other miners vying for the rewards. In the PoS system, they'll need more ETH to stake and get more chances to seal a block. To get to this capital, it is in their interest to try and jack up the transaction fees as high as the users are willing to pay.

On the contrary, the blockchain users would like the transaction fees to be as low as possible.

So how are these transaction fees set, in the end? By a complex heuristic where "the constant" is the need to "seal" a block on average every 10 seconds (in theory; in practice it's now about 13 seconds). For that to happen, the software would automatically "auction" the computing time of "the computer" (remember, there's only ONE computer, replicated 10 000 times) by increasing the price of "gas". Simple smart contracts require little "gas", more complex smart contracts require more "gas". So when one wants to execute a smart contract, the transaction fee will depend on how complex its code is (more complexity => more "gas") and how much a unit of "gas" costs, in ETH or rather its fraction ("wei")

As Ethereum becomes more popular, both the price of ETH in USD and the demand for transactions are increasing so much that even a simple ETH transfer between two addresses (the basic, built-in function of the Ethereum blockchain) reaches ridiculous dollar prices which make Ethereum more expensive than Western Union or any other "old world" money-transmitter


EthereumNightmare-blurred.PNG
I needed to transfer about $80 worth of ETH between two of my addresses. On 11.05.2021 the "slow" transfer took about 12 minutes and costed me $22

Needless to say, calling a smart contract was even more expensive, so much so that I didn't have enough funds and needed to wait and chase a lull, a moment of network calm where the transaction costs decresaed to a price I could afford.


EthNightmare2.jpg
Calling a smart contract would have costed me a minimum of $71

Of course one could say "This is temporary, transaction costs will come down with this or that upgrade". However, this is missing the bigger point: not only are incentives for miners and users not aligned, they are actually diametrically opposed! I am talking here about a major design flaw in the economic mechanism design.

The higher the price (in dollars) of ETH, the better the miners (and investors) do, so they have an incentives to tell stories to lure more people into buying ETH on the premise that using Ethereum will change the world..."

Yet at the same time, the higher the price of ETH, the less people will feel inclined to pay the astronomic fees in order to use the network. Even at low activity levels the transaction fees will remain non-competitive with alternative means of reaching similar goals. Ethereum users will thus rediscover Yogi Berra's famous quote ...


berra-crowded.jpg
Nobody uses the Ethereum network anymore, it's too congested! (source)

The higher the price of ETH, the less Ethereum is likely to be used, hence the less ability it will have to change the world, thus revealing that the stories paid for with ETH were as insincere as the story told by the two swindlers in the classical tale by Hans Christian Andersen

The Emperor is naked

I described above two fundamental design flaws of the Ethereum blockchain, arguably today "the Emperor of the blockchain world":

  1. First in IT architecture: strong coupling between the data-tier and the compute-tier, as computer systems used to be designed back in the mainframe era of the 1960-ies, leading to excessive centralization of the application layer.
  2. Second, in its economic mecanism design which pits the interests of the miners against those of the users through the "free market for transactions" and their fees

It is only a matter of time before it is revealed to all that the Emperor of blockchains is naked

Quoted posts

  • Disclaimer: I own some ETH. This is not financial advice
Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!