Ethereum: A second generation blockchain (Article 9)

The decentralized Turing-complete computer.

Al_ref
Decentralized Innovations
6 min readMay 27, 2022

--

Source: https://www.flickr.com/photos/cryptocoin/47688630522/in/photostream/

As we have seen in the previous article, Bitcoin is part of the first generation of blockchains which don’t support smart contracts. Second generation blockchains, meanwhile, added a layer of code or software on top of the blockchain, which allows for the use of smart contracts. The most successful and most popular among them is Ethereum blockchain. While Ethereum is not the first Smart contract platform — since a few months prior to ETH launch, the NEM blockchain, which likewise supports smart contracts, was introduced — it was the ETH blockchain that received the most attention. The reason, or at least one of the reasons, for Ethereum’s popularity may be Vitalik Buterin.

Vitalik Buterin was a Bitcoin enthusiast and writer. Since he had kept a close eye on the developments in the blockchain community, he immediately recognized the value smart contracts would add to blockchains. Smart contracts are computer codes that are executed once the contractual conditions are met, and they are the enabling component for decentralized applications like Dapps, DeFi, NFTs and many more.

However, it has never been feasible to add smart contracts to Bitcoin, since Bitcoin’s programming language is not Turing-complete. Turing-completeness means that the programming language can perform any task needed by the programmer, including loops. A loop in coding means that the program performs the same task until a condition is satisfied — a requirement for Smart contracts!

The possible addition of smart contracts was proposed and fiercely debated within the Bitcoin community, but ultimately, the addition was rejected. One reason for this was that adding smart contracts would have complicated the code of Bitcoin, which, in turn, would have made it prone to bugs (code errors). A bug occurring within a loop in the smart contract could result in what is called an ‘infinite loop’. A program stuck in an infinite loop will never finish the task and, this, in turn, can lead to stagnation in the blockchain.

Buterin therefore decided to build a new and advanced version of Bitcoin, one that is Turing-complete: the Ethereum blockchain. Ethereum was proposed in 2013 and was released end of July 2015. Unlike bitcoin, which has a maximum number of coins of 21 million, the cryptocurrency of Ethereum — ‘ether’, (symbol ETH) — has no cap. Also, quite contrary to Bitcoin, the personal identity of the founder of Ethereum is known (it’s of course Vitalik Buterin), and furthermore it is also known how much ETH is in Buterin’s possession.

Another criticism against Bitcoin was its slow transactions. On Bitcoin it will take at least 10 minutes for a transaction to be confirmed, and another 50 minutes for it to be final. Finality is the term that is used to describe the state when the transaction has been delivered and the funds are accessible by the receiver. Since Vitalik was starting with a clean slate, some solutions and modifications to Bitcoin proof-of-work (PoW) were proposed and implemented to speed up the transactions, which led to transactions on Ethereum being about 50 times faster than on Bitcoin. However, speeding up transactions with the same level of security meant that there had to be some compromise on decentralization. A clever solution was the introduction of the Ghost (Greedy Heaviest Observed Subtree) protocol.

Ghost protocol

Ghost protocol

The Ghost protocol was implemented in Ethereum PoW to improve blockchain-scalability without having to compromise security or decentralization-capability. When 2 miners find a valid block at the same time and broadcast them to the network, they form 2 conflicting copies of the last block in the blockchain; this is called a ‘fork’. Only one of those 2 copies will have the next blocks be added to it; the other block will be discarded. Discarded blocks are called ‘stale’ or ‘orphan blocks’, and they don’t receive any mining reward. In the case of Bitcoin, the chance that the same 2 miners will simultaneously (exactly within 12 seconds from each other) find a block and then also simultaneously find another block 10 minutes later is little. But when you speed up the mining process, as it was done in Ethereum, the probability of orphan blocks increases, which can be discouraging for miners who repeatedly do the work and spend the required energy cost but don’t get rewarded in the end. The Ghost protocol solves this issue by introducing the concepts of ‘uncle-’ and ‘nephew blocks’.

Uncle blocks are the first orphan block in a fork, while the children of that block are the nephews. The 12 seconds delay, mentioned in the previous paragraph, is the message delivery time to reach half of the network. For Bitcoin, this 12-second delay is tolerable since the block time is 10 minutes. But in the case of Ethereum’s average block time — about 13 seconds — this delay means a new block is already mined. For this reason, the uncle block gets a reward as well. Uncle and nephew blocks can go up to the 7th generation, and thus reduce the number of non-rewarded blocks, which in turn keeps the miners interested in the blockchain.

Ethereum operation

On Ethereum, the mining process includes not just validating and confirming transactions, but also the execution of smart contracts. For the confirmation of a transaction or the execution of the code for a smart contract, miners receive some fee from the node that wants to perform the operation; they receive this in addition to the mining reward (remember that the mining reward is created from thin air, no one pays it). Fees on Ethereum blockchain are called ‘gas fees.’ The term ‘gas’ is used since ETH is not used as a currency, but rather a form of ‘fuel’ that is used to run operations on Ethereum blockchain. Since operations will just keep increasing forever, there is no maximum limit for the amount of ETH that can come to existence, hence, it is not scarce money.

Smart contracts run on the blockchain, not on someone’s personal computer, which is why Ethereum’s blockchain is called Ethereum virtual machine (EVM). The closest equivalent concept for an EVM that you might be familiar with is a cloud computing service, but instead of the code being stored at a centralized server, Ethereum’s code is distributed and maintained on the blockchain by the Ethereum nodes.

It would probably require several volumes to explain the operations, capabilities and development of Ethereum in all its details. This article is only meant to be an introduction to the basic terminology and to provide you with enough background information so that you can do your own research and reading on Ethereum. I will conclude this instalment by introducing you to two sources you may want to check out for yourself: an essential and trustworthy source is the Ethereum website, and this blog provides the latest updates regarding Ethereum.

--

--