The notion of decentralization
Why do we need to build something that is decentralized by nature at all?
To understand this, let me walk you through a real-world use case based on a centralized economy with a central authority of control.
Sofia is the owner of a pub in Cardiff, UK. To penetrate the liquor market, she decides to allow her loyal consumers—most of whom are heavy drinkers—to drink now but pay later (DNPL). She keeps track of the pints consumed on a ledger. Sofia's DNPL business model gets rave reviews from her clients, new consumers flood into Sofia's pub, and soon she has the largest sales, volume of any pub in Cardiff.
By providing her clients with freedom from immediate payment, Sofia gets no resistance when she substantially increases her prices for whisky and rum, the most consumed beverages. Her sales, volume increases massively.
A young and dynamic vice president at the local bank recognizes these client debts as valuable future assets and increases Sofia's borrowing limit. He sees no reason for undue concern, since he has the debts of the patrons as collateral. At the bank's headquarters, quantitative traders transform these liquor loans into neatbonds, pintbonds, and hangoverbonds. These securities are then traded on security markets worldwide. Rookie investors didn't really understand that the securities being sold to them as AAA-rating bonds were really the debt loans of heavy drinkers without an income. Nevertheless, the bond prices continuously rose and the securities became the top-selling items for some of the nation's leading brokerage firms.
One day, although the bond prices are still rising, a risk manager at the local bank decides that the time has arrived to demand payment on the debts incurred by the customers at Sofia's pub. Sofia demands payment from her patrons, but, being unemployed, they cannot pay back their drinking debts. So, Sofia cannot meet her loan obligations and claims bankruptcy. Neatbonds and pintbonds drop in price by 95%. Hangoverbonds perform better, stabilizing in price after dropping by 75%. The decreased bond asset value destroys the local bank's liquidity and prevents it from issuing new loans. The suppliers of Sofia's pub, having granted her generous payment extensions and having invested in the securities, are faced with writing off her debt and losing over 80% on her bonds. Her whisky supplier files for bankruptcy and her rum supplier is taken over by a competitor, who immediately closes the local plant and lays off 40 workers. The bank and brokerage firms are saved by the government, following dramatic round-the-clock negotiations by leaders from both major political parties. The funds required for this bailout are obtained by either introducing a new social welfare tax levied on employed middle-class non-drinkers or by infusing new funds in to the economy by passing an amendment or a new bill, adding to the inflation caused by the money supply, resulting in the debasement of the currency.
Note here that if Sofia had not been approached by the local bank's vice president in the first place, her business model would have failed due to lack of funds much earlier, with much less impact, rather than a catastrophic magnitude due to valueless fund pumping. We also observe that, in such a centralized economy, the intermediaries and central authorities have nothing to lose due to their discretionary power, whereas the real burden is passed onto the general working class. This is one of the prime reasons the notion of decentralization came into existence.
Ideally, we can either have a fully centralized system, generally represented by a star topology, also called a client server architecture, or we can have a fully distributed system, represented by a mesh or grid topology. However, in the real world, due to various practical constraints like logistic and financial barriers, we end up, somewhere in between, with a network that is partially centralized and partially distributed. It is a like a grid-of-many-star topology, which we term as a decentralized system. Paul Baran, in his classic text on distributed communication networks (August 1964), distinguished these three kinds of architectures that would be applicable to communication networks as depicted in Figure 2.2:
Now, we need to discuss whether Ethereum is decentralized. You might have heard someone say that Ethereum is not decentralized. They might be partially correct. Even Vitalik Buterin, one of the founders of Ethereum, says so. You might be thinking that this is completely crazy. Of course, Ethereum ought to be decentralized. It is a blockchain technology, and the whole idea of a blockchain technology is that it should be decentralized.
However, the answer to this is not a simple yes or no. It is a bit more complex than that. Vitalik Buterin has analyzed this notion of decentralization, which we will discuss right now.
Decentralization consists of at least three important axes: the architectural axis, the political axis, and the logical axis. A system such as Ethereum can either be centralized or decentralized along these three orthogonal axes. It can also sometimes be the case that it is hard to draw a line and say that this system is centralized or decentralized as a whole. It is just hard to decide in practical terms.
Let us start with what we mean by the architectural axis. If a system is centralized in the architectural axis and I remove a couple of nodes/computing terminals from the system, it would collapse. Conversely, in a system that is decentralized on the architectural axis, even if I remove the majority of the nodes/computing terminals, the system would still function as intended. So, in that sense, Ethereum is decentralized on the architectural axis, because we can remove many computing nodes from the system but the whole network will still function. However, if you have a website that you host on a server or a network of servers where each one needs all of the others, and you remove one server, the servers and the website will obviously no longer function as this was a centralized system on the architectural axis.
Let us move on. The second axis is the political axis.
For example, a centralized system on the political axis could be a company or an enterprise where we have a CEO and maybe we have a board of directors, and they decide on the course of the company. However, Ethereum is decentralized on the political axis, because even the Ethereum Foundation cannot make everyone use their clients or force everyone to follow a protocol.
Now, the last axis of discussion is the logical axis. So, a system that is centralized on the logical axis acts as a single entity, as a monolithic object, while a system that is decentralized on the logical axis can be divided into several parts, and each of those parts would behave and function as intended.
For example, the BitTorrent protocol and the BitTorrent system is decentralized on the logical axis because we can split the system into several parts, and the computers in those split parts will still be able to use the BitTorrent protocol as intended. However, here is where Ethereum is not decentralized. In fact, Ethereum is centralized when it comes to the logical axis, because Ethereum acts as a single computer. You execute your contracts on Ethereum and on this one huge computer that is running on the blockchain. So, in that sense, Ethereum is centralized. If we split Ethereum into two different parts, then they would no longer function as intended because the whole idea of Ethereum is that it should be a single computer—it should act as a single computer. In that way, Ethereum is not centralized on the logical axis.
Figure 2.3 illustrates all three notions of decentralization for Ethereum:
The question still remains: how does Ethereum, as a distributed computing platform, achieve such a level of centralized logical abstraction, despite having a fully decentralized architecture? To answer that, we need to get familiar with various components of the Ethereum ecosystem and try to construct its technological stack. The next section does just that. So, let us dive in.