History of Ethereum

Bitcoin came into existence in 2008 as the first application of blockchain technology. Although Bitcoin is one of the many uses of blockchain technology, Vitalik Buterin, the co-founder of Ethereum envisioned a platform full of innovation that would completely transform the internet we have today.

Soon after the release of Bitcoin, Vitalik Buterin co-founded the online news website Bitcoin Magazine in the same year, writing hundreds of articles on the cryptocurrency world. He went on to code at Dark Wallet as an attempt to improve the anonymity of Bitcoin transactions and the marketplace Egora. Vitalik believed that Bitcoin was one of the many possibilities of blockchain technology and it needed a scripting language for further application development. Failing to gain agreement, he proposed the development of a new platform with a more general scripting language.

He released a white paper in 2013 describing an alternative platform designed for any type of decentralized application that developers would want to build. The system was called Ethereum. Other developers soon joined Vitalik to help him develop this platform. Co-founder Dr Gavin Wood wrote the Ethereum yellow paper famously known as the “technical bible” that outlines the specifications for the Ethereum Virtual Machine (EVM). EVM handles the state of the ledger and runs smart contracts. Smart contracts are self enforcing codes that developers use for a range of applications (more later). Co-founder Joseph Lubin went on to start ConsenSys, a Brooklyn based start-up that focuses on building decentralized apps. A more extensive list of founders and contributors can be found on Ethereum’s Wikipedia.

Vitalik Buterin and the other co-founders raised more than $18 million in a crowdfunding campaign in July 2014. The crowdfunding, being one of the most successful crowdfunding at that time, sold 72 million Ether – 65% of the total circulating supply as of June, 2020. Some of the funds from Ethereum’s initial  crowdfunding and project development are now managed by the Ethereum Foundation, a non-profit entity based in Switzerland.

For his work, Vitalik Buterin was named a 2014 Thiel fellow and was awarded $100,000.

 

Introduction to Ethereum

Ethereum is a public, open-source, Blockchain-based peer to peer networking software with a built in programming language that allows developers to build and deploy decentralized applications using smart contracts. It provides a decentralized virtual machine, the Ethereum Virtual Machine (EVM), that executes contracts used to transfer money and develop and run various kinds of applications which are accessible anywhere in the world.

Currently, Ethereum uses a Proof of Work (PoW) consensus mechanism where all nodes in the Ethereum network compete with one another to mine the next block. Blocks are mined after approximately 15 seconds. These blocks include any transactions and changes made in the Ethereum network. Ethereum uses the PoW algorithm called Ethash that prevents the use of advanced mining hardwares. Despite the great potential that Ethereum has, PoW and scalability factors need to be worked on. There have been plans to scale the ethereum network and change the consensus mechanism from PoW to Proof of Stake (PoS) mechanism (More about this later).

The security and reliability of the network is in the hands of the miners who prevent it from getting hacked or attacked. They do so by processing all contracts for which the transaction fees have been paid and ensure there no double spending takes place.

You can also view the public blockchain here – https://www.etherchain.org/

Before we move further it is important to understand a few basic concepts like smart contracts, Ethereum Virtual Machine, Dapps, Ether, Gas, Uncle and Uncle rates to learn more about the Ethereum network.

 

Value of Ethereum 

Building blockchain applications before Ethereum required complex coding and knowledge of cryptography and mathematics. Ethereum has helped in the development of various decentralized applications which include but are not limited to electronic voting, trading, creation of wallets to store cryptocurrencies and games like CryptoKitties. The infinite applications of Ethereum and its possibility of becoming a trustless internet service is an achievement in itself. 

 

The Need of Ethereum

The internet is used to store all types of personal information in clouds and on servers which are owned by major providers like Amazon, Google and Facebook. These companies allow for the storage of data for low costs and this helps in preventing the hassle of hosting and uptime. But this also means that we are vulnerable to hacking or other modes of intrusion in this centralized model of the internet.

Over the years, we have moved from this centralized internet to applications of blockchain technology to provide increased anonymity and security. Ethereum aims to replace these third parties that store our personal data. Instead of a single giant computer or server, Ethereum uses nodes run by volunteers to replace individual servers and cloud systems owned by major internet providers and services.These nodes in turn connect to become a global computer that would provide infrastructure to people all over the world to run transactions and operations on their behalf. Since data is stored in a blockchain with many nodes involved, it is impossible to hack it or alter the data in any way. There is higher security and lesser vulnerability to shutdowns.

 

The mobile applications that are hosted on the App Stores are susceptible to scrutiny which may lead to the removal of such apps without the creator or the users’ consent. Videos posted on Youtube might get removed without the permission of its creator. In the Ethereum blockchain, users’ personal information stays on their own computers and content, such as apps and videos stays in full control of its creators without having to obey the rules imposed by any hosting services such as App Store and YouTube. This means that users of such apps have full control of their data and only they can make changes to it. These changes are then received by all the nodes in the blockchain. Thus, Ethereum is a whole network with its own Internet browser, coding language and payment system which enables its users to create decentralized applications on Ethereum’s Blockchain.

 

Uses of Ethereum

While most cryptocurrencies have struggled to generate a single-use case, Ethereum is different from most of them. Among the first to embrace Ethereum were major banks and institutions, who took advantage of its open-source code to create proof of concepts and R&D initiatives in 2015 and 2016. Major banks and corporations have eventually backed Ethereum more directly by creating the Enterprise Ethereum Alliance, a non-profit whose aim at its creation in 2017 was to bridge the many private bank blockchains with the main Ethereum blockchain. 

There were others who did not copy the Ethereum code and were inspired by its approach which included the Linux Foundation’s Hyperledger and R3’s Corda. They copied parts of its architecture but discarded the idea they needed a new cryptocurrency, unlike Ethereum that has its own cryptocurrency.

Entrepreneurs believe that the platform could be used for fundraising by creating new cryptocurrencies and selling them to global consumers in the form of initial coin offerings (ICOs) for different blockchain projects.

Ethereum gave developers a platform to create new crypto assets on top of its blockchain, using token standards without the need to start with complex cryptographic knowledge or skills in coding.

The most recent development in the use of Ethereum’s platform is Decentralized Finance (DeFi) which creates protocols that replicate traditional financial services. DeFi projects include but are not limited to automating and decentralizing financial services like lending and borrowing.

 

Advantages of the Ethereum platform

Some of the major benefits of the Ethereum platform are that the platform is tamper proof. This means that no one can tamper with any data on the Ethereum blockchain. The peer to peer network of Ethereum makes it immutable as well. One party cannot make changes to the platform without consensus. With no central point of failure and increased security due to the use of cryptography, applications are well protected against hacking attacks and fraudulent activities. On the Ethereum network, apps never go down and can never be switched off.

 

Disadvantages of the Ethereum platform

Despite bringing in a number of benefits, decentralized applications are not faultless. Since smart contracts are written by humans, there are chances of code bugs or other inefficiencies. If a mistake in the code gets exploited, there is no way in which an attack or exploitation can be stopped other than obtaining a network consensus and rewriting the underlying code. This goes against the essence of the blockchain which is meant to be immutable. Blockchains are said to be decentralized. If decisions or actions on the blockchain are taken by a single person or an organisation, the blockchain cannot be called decentralized. (More about the disadvantages in the DAO section)

Ethereum vs Bitcoin – The Evident Comparison

  • Ethereum and Bitcoin both have their own different models of operation. Bitcoin transactions are made using the Unspent Transaction Output (UTXO) model. This means that for every transaction made in Bitcoins, the network breaks the total amount as if it was paper money and issues back the unspent Bitcoins back just like we get our balance or change back.  The Bitcoin network records and maintains these unspent balances to ensure double spending does not take place. Ethereum, on the other hand, uses the accounts and state model. Similar to bank account funds, every Ethereum wallet has a balance state, and every transaction that takes place results in a single output of transaction or spending. Transactions in Ethereum work in a similar way to that of bank transactions. Any transfer to and from your account changes the state of it. Payments only take place if you have enough credit.
  • While Bitcoin removes the need for someone to hold your money, Ethereum removes the need for someone to act as a third party, be it a broker or someone who stores your information somewhere. There is no need to rely on a third party with our information. Ethereum network instead consists of a large number of voluntary nodes who help to keep the network decentralized by maintaining the information on all the nodes. This reduces the chances of this large global computer from getting hacked. Even if one node chooses to opt out of the network, it will not affect the data or the network’s security in any way.
  • With a built-in scripting language and distributed virtual machine, smart contracts can be built to carry out any function without the need to develop any trust between the parties.  Bitcoin is used for payment purposes and miners who help maintain the network get rewarded for it. Ethereum has its own cryptocurrency called Ether which is not only used for payment purposes but is also used to run Dapps. Miners charge fees for making changes when a smart contract needs to be executed.
  • Most cryptocurrencies including Bitcoin and Ethereum run on a peer to peer network, the consensus on adding a new block varies from one coin to the other. The Bitcoin blockchain reaches a consensus every 10 minutes whereas the Ethereum blockchain reaches consensus in approximately 15 seconds i.e transactions on the Ethereum network happen quicker. Moreover, the mining of Ethereum gives a consistent reward (cryptocurrency of the Ethereum network) and since May 11, 2020 Bitcoin rewards its miners with 6.25 Bitcoins and the reward keeps halving after approximately every 4 years.
  • Even when comparing the cryptocurrency aspect, the two projects appear to be vastly different. Bitcoin has a hard cap of 21 million Bitcoins that can ever be created, while a potential supply of Ether can be practically endless.
  • While transaction fee in Bitcoin is based on the traffic of transactions that take place in the Bitcoin network, Ether is used as a payment for transactions and as fees for processing changes in Dapps. These tasks may require different amounts of computational power and time and this is how the transaction fee varies. The greater the power and time required, the higher will be the Ether fee for the action to be completed. In this way, Ether is different from a digital currency like Bitcoin.
  • Another major difference is that these days successful Bitcoin mining requires tremendous amounts of computing power and electricity and is only possible if miners use industrial-scale mining farms. On the other hand, Ethereum’s PoW algorithm i.e. Ethash encourages decentralized mining by individuals.
  • Perhaps the final difference between the two projects is that Ethereum’s blockchain is Turing complete while the Bitcoin blockchain is not. A Turing complete system is a system that can solve any reasonable computational problem as long as there is enough computing power and time to do so. This also means that the platform of Ethereum provides a larger possibility of products but it also leads to greater complexity.

 

 

Smart Contracts 

The idea of a smart contract was first coined by a famous cryptographer named Nick Szabo who used the example of a vending machine to explain smart contracts. Similar to a vending machine that we use in our real lives, we put money and the required item’s number as our input and get the snack or drink as an output. Similarly, the platform of Ethereum could be used by any two parties or more to give an output once a specific input is entered. These conditional contracts are called smart contacts and their application is not just limited to one task.  A variety of smart contracts could be combined to form decentralized applications or even build decentralized autonomous organisations (DAOs) which run without any human interference.

Smart contracts are codes written in the form of an if-then function by a developer that are stored and executed on the public blockchain network of Ethereum. These contracts automatically execute to trigger a transaction, run specific operations or interact with other smart contracts when the conditions of the contract are met. This means that these contracts are enforced on all parties involved in the contract without any possibility of censorship, downtime, fraud or third-party interference. The codes written in the smart contract ensures that the transactions are trackable and irreversible. The execution of these contracts leads to a transfer of value in the Ethereum blockchain, similar to the concept of an escrow account. 

working of smart contract

Unlike the complex programming done in the Bitcoin blockchain, developers on the Ethereum network use Solidity (language library similar to C and JavaScript) , Serpent (similar to Python), LLL, Mutan or Vyper to write smart contracts. These contracts are later compiled to Ethereum bytecode deployed on the Ethereum blockchain that can be read and executed by the Ethereum Virtual Machine. 

Instead of a single server or central authority, smart contracts on the Ethereum blockchain are hosted on multiple computer nodes all across the world. These nodes contain all the information of all the world’s smart contracts, including codes and transactions. They are constantly working to keep this information up to date so that all nodes have the exact same copy. This feature of smart contracts and cryptocurrencies makes them decentralized. Censorship or removal of any information on the blockchain is practically impossible as all the information is present on all the nodes. The exclusion of any node from the peer to peer network will not affect the blockchain in any way either. Smart contracts are especially useful for parties that do not trust each other. Infact, there is no need to trust the parties as none of them can cheat the other once the contract is in place. 

Although the network is public and decentralized, running smart contracts requires some computational power. The amount of resources required to do so depends from contract to contract. For running each contract, a transaction fee needs to be paid in Ether, the cryptocurrency of the Ethereum network. This fee depends on the amount of “gas” consumed during the execution process.

The use of smart contracts provides additional security as compared to traditional contractual agreements. These contracts also reduce transaction costs needed to hire third parties. Since smart contracts are created by human beings, there are possibilities of the loopholes in these contracts. One example of this is the June 2016 attack on the DAO which gave hackers access to 3.6 million Ethers worth about $50 million at that time

advantages of smart contract


Decentralized Applications (Dapps)

Ethereum games and applications

The reason why Ethereum was created in the first place was to provide a platform where developers could write programs and different applications using smart contracts and run them on the EVM. These applications are called decentralized applications or Dapps and are Ethereum’s primary innovation. 

Its blockchain is built with a Turing complete scripting language that runs smart contracts across all nodes and achieves verifiable consensus without the need for a trusted third party. It is basically a decentralized app store where anyone can create and share their Dapps. No one can censor content or remove the Dapp other than the owner himself. These are open source with no central point of failure. Any service or app that is centralized can be decentralized using Ethereum. Some examples of Dapps include micro-payments platforms, online gambling apps, games, shopping and P2P marketplaces.

For example, we know that a lot of content on Youtube gets taken off the platform because other people report it. On Ethereum, no one decides if your content stays on the network, not even you. The video for example has been put into the blockchain and cannot be erased. The image given below shows the increase in the number of Dapps on the Ethereum network per month.

The benefits provided by Ethereum has also led to a rise in Initial Coin Offerings (ICOs). An ICO allows different projects run on the Ethereum network to conduct crowdfunding in return for coins or tokens of their product. These tokens have various uses and we will be discussing them later in this article. 

While Ethereum is known for developing Dapps, other Blockchain protocols used for the same purpose are EOS, NEO, Stellar, Tron, and Cardano. 

The daily active users of Dapps on the Ethereum network for different categories can be seen in the following image. It shows that most people use high risk related Dapps.

Decentralized Applications (DApps)

Difference between Centralized and Decentralized Applications

Different types of Dapps

Dapps can be divided into three basic categories – ones which are used to manage money, ones which involve money but also deals in other materials and finally those which are related to non-monetary purposes like voting and governance.

For Dapps that manage money, people exchange Ether as a way to settle a contract with other users, using Ethereum’s decentralized network as a means to achieve it. 

People use the second kind of Dapps to buy and sell products and Ether is used as a currency to facilitate such transactions. For example, you may apply for life insurance and nominate a kin to receive the insurance money in case you die. The smart contract for this insurance depends on whether you live or not, which is an outside information and that needs to be provided from the outside world. Blockchain oracles are third-party services that provide smart contracts with external information. They are not the data source but rather the layer that queries, verifies, and authenticates external data sources and then relays that information.

The third type of Dapp deals with non-monetary interaction between two partiesDAOs are a good example of it. The aim of such organisations is to run on multiple smart contracts without the need for any human interference. The smart contracts for these organisations could discuss how they will function and what actions would be taken under different circumstances.

Ether (ETH)

Ether is the cryptocurrency of the Ethereum peer to peer network and is commonly referred to as Ethereum. It is used to pay for gas, a unit of computation used in transactions and other state transitions. State basically means information about all of the decentralized applications, including each user’s balance, all the smart contract code and where it’s all stored in the blockchain. Transition means how the current blockchain changes when new transactions take place and contracts get executed. Ether is used to pay for transaction fees and computational services on the Ethereum network.

At the time of writing, Ether is trading at $229.70 with a market cap of $25.63 Bn and supply of 111.59 million Ethers. It is ranked the second most valuable cryptocurrency after Bitcoin.

 

Why do we need Ether?

Ethereum aims to function both as a decentralized internet and a decentralized app store. All the programs and services linked with the network require computing power which is not free. Apps on the Ethereum network earn Ether for the services they provide. In terms of computational resources, any changes that the users bring to the applications need approval from the network and the changes are recorded in the blockchain in all the nodes. This procedure requires energy and users have to pay for the fees in order for the change to execute and be recorded in the blockchain. The fees will be different for different tasks based on the computing power required.

There is a second type of token that is used to pay miners fees for including transactions in their block and it is called gas. Every smart contract execution requires a certain amount of gas to be sent along with it to entice miners to put it in the blockchain. While the amount of gas required for a particular transaction or process is constant, the price of it keeps changing depending on the price of Ether.

 

Supply of Ether

The rules for Ether’s economy are a bit open-ended. While bitcoin has a supply cap of 21 million Bitcoins, Ether does not have a similar limit. 72 million Ether was purchased by users in the 2014 crowdfunding campaign and the reward for mining the blocks is consistent which happens at a frequency of approximately 15 seconds.

Ether is different from many coins or tokens in terms of the supply of the coin. While many have a fixed maximum limit, the supply of Ether is unknown because of its large supply.

Ethereum Virtual Machine (EVM)

All nodes on their Ethereum network download a small virtual machine called the Ethereum Virtual Machine to sync with the Ethereum blockchain. It is used to run smart contracts and maintain their latest state along with validating transactions and recording them on the blockchain. Whenever a user on the network makes changes, all nodes come to a consensus through the EVM to validate the change just as it has been instructed on the smart contract. The EVM is said to be a Turing complete system because it enables anyone to run any program, regardless of the programming language given enough time and memory. The distributed network of computers provides the security, trust, and computing power necessary to carry out such operations.

Before EVM was innovated, new blockchain applications meant coding from the scratch. This meant only those who knew mathematics, cryptography and programming well could develop such applications. The innovation of EVM has allowed programmers from all over the world to create blockchain applications in a faster and more efficient way. New applications are simply built on the Ethereum platform. This makes Blockchain technology more accessible to people which leads to the development of more creative products.

Supply of Ether

The rules for Ether’s economy are a bit open-ended. While bitcoin has a supply cap of 21 million Bitcoins, Ether does not have a similar limit. 72 million Ether was purchased by users in the 2014 crowdfunding campaign and the reward for mining the blocks is consistent which happens at a frequency of approximately 15 seconds.

Ether is different from many coins or tokens in terms of the supply of the coin. While many have a fixed maximum limit, the supply of Ether is unknown because of its large supply.

 

What is Gas?

 

Gas refers to the fee for the computational resources needed by the nodes to successfully conduct a transaction or execute a contract on the Ethereum blockchain platform. The main purpose of gas is to mitigate spam and allocate resources on the network. Gas is priced in Gwei where 1 Ether = 1,000,000,000 Gwei. This gas is used to allocate resources of the EVM so that decentralized applications such as smart contracts can self-execute in a secured fashion.

The price of the gas is determined by the network’s miners, who can decline to process a transaction if the gas price does not meet their threshold. So for the transaction fee there are two things that are needed, gas – which is determined by the computational power required for the execution of the smart contract and the price which is set by the miners. It is important to note that having a separate unit allows in maintaining a distinction between the actual valuation of the cryptocurrency and the computational cost. From the image given below we can see how the daily gas consumption has increased over the years.

Graph showing increasing Ethereum Daily Gas Used

Ethereum Daily Gas Used vs Time

For every transaction or process that occurs in the Ethereum blockchain there is a gas limit. It refers to the maximum amount of gas that you are willing to spend on a particular transaction. Higher is the gas limit, higher is the chance of the execution of the transaction. If the gas price limit is too low, miners can choose to ignore such transactions.

When the traffic in the Ethereum network increases, it leads to a rise in Ethereum’s block gas limit per block that is set by the network. This limit restricts the total gas which can be spent on the transactions contained within each block. Miners collectively have the ability to increase or decrease Ethereum’s block gas limit within a certain range and theoretically, raising the limit enables the Ethereum network to process more transactions per second. This means that higher is the gas limit, higher will be the blocksize and more expensive will it be to run a node. We know that an increase in the gas limit will ultimately lead to fewer nodes running in the network. This will make the Ethereum more centralized thus reducing the essence of it being a decentralized blockchain platform.

What’s an ERC?

An ERC (Ethereum Request for Comment) describes application-level blueprints and conventions in the Ethereum ecosystem. This includes smart contract standards such as token standards (ERC20) and are usually accompanied by a reference implementation. The ERC authors are responsible for building consensus within the Ethereum community for it to be accepted. Once peer reviewed and vetted by the developer community, the proposal becomes a standard.

ERC-20 Tokens

The platform of Ethereum is also used to launch other cryptocurrencies. This is possible because of the ERC20 token standard that has been defined by the Ethereum Foundation. ERC-20 is a guide of all the rules and regulations that will help in the development of Ethereum-based smart contracts to create their tokens. The ERC stands for Ethereum Request for Comment, while the number 20 is the number assigned to this request. Without the knowledge of high level cryptography and mathematics, developers can issue their own versions of this token and raise funds with an Initial Coin Offering (ICO). In an ICO, the issuers of the token set an amount that they want to raise. These tokens are offered in a crowd sale. While tokens are purchased by the investors, these developers get Ethers in exchange for them. ERC-20 tokens have been solely responsible for the billion dollar ICO industries that have been created so far. Some of the top ERC-20 tokens are EOS, TRON and Binance Coin.

These tokens have many functions. Given below are some of the many functions of these tokens offered by the developers. Each token has a function. Some might be used as a tool for voting rights. The more tokens an investor has, the higher is their say in the decision making process. These tokens can also be used as a gateway to the decentralised application created on the Ethereum platform. Tokens can also be used for economic purposes as well. For example, Binance Coin is used by traders on the Binance platform to get additional benefits on the trading fee. Other economic activities include providing advertisement space to all the token holders on the Dapp. Some tokens have become so famous that they could also be used as a store of value and are traded in high volumes on the exchanges. 

There are six mandatory and 3 optional rules that every token developer needs to keep in mind. Let us first understand each of the optional rules for the tokens. Even though it is not necessary, each token must have a name and symbol so that it has an identity and the lowest possible denomination (decimal) in which the token can be broken. This helps to define the divisibility of the ERC token. 

The six mandatory rules that need to be followed while writing a smart contract to describe the ERC-20 token must include its total supply in order to determine the total value of the token in the ecosystem. The contract must also define the number of tokens held by the contract owner. Once the balance of the contract owner has been specified the owner can give his approval for sending the tokens to its purchasers. This helps to keep a check on the total supply of the token as well as avoids the risks of counterfeiting.  Certain amounts of the tokens are paid as a monthly rental and this function is an additional feature of the smart contract for the token that makes lives easier. Lastly, for any transactions to take place, the most important function is the balance function which helps in the determination of the total amount of tokens in the given wallet address and whether it is possible to execute the transaction. Thus the mandatory and optional rules mentioned in the smart contract help developers get an insight into the basic functions needed for creating new tokens on the Ethereum platform.

 

Benefits of ERC-20 tokens

  • Nearly all of the digital wallets which support Ether also support ERC-20 compliant tokens.
  • One of the main benefits of the ERC-20 tokens is the convenience and security it offers to the developers. During earlier times, the creation of a new token meant a lot of research, detailed knowledge about blockchain technology, mathematics, cryptography and programming. With the rules mentioned for the ERC-20 tokens, launching tokens and participating in ICOs has become a lot easier. 
  • These projects are developed on the Ethereum network. With more and better projects coming on this peer to peer network, Ethereum has grown and will continue to grow to bring new projects onboard. This will help in the creation of a decentralized network with reduced possibilities of censorship.
  • ICOs are very much similar to IPOs but there are a few advantages to it. ICOs are more user friendly and it only requires the team to present its white paper in the ICOs. While IPOs may have legal and security issues, ICOs are much open and free in terms of its investments. Anyone can purchase the tokens in an ICO and become a part of the investor pool for that project. 

 

The ERC-20 tokens are still in a nascent stage and developers are trying their hands on new token standards. This is because of a few bugs that have been detected in the rules for the token. One of them being that Ethereum tokens cannot be sent directly to a smart contract because of an error in protocol. Anyone who attempts to do so, loses money in the process.

According to CoinDesk, about $70,000 worth of tokens have already been lost for this reason. Irrespective of that, ERC-20 tokens remain a crucial aspect of Ethereum and offer a lot more to the community.

 

ERC-721 Tokens

Ethereum has recently created a new standard called the ERC-721 token for tracking unique digital assets. One of the biggest use cases currently for such tokens is digital collectibles, as the infrastructure allows for people to prove ownership of scarce digital goods. Many games including CryptoKitties have been built using this technology. In this game you can collect and breed digital cats. This game became an overnight sensation once it was launched. The novelty of the idea managed to take over 13% of traffic on Ethereum’s blockchain at one point. This event also pointed out some of the scaling problems that Ethereum is facing about which we will be discussing later. 

Track all ERC standards at https://eips.ethereum.org/erc

 

Using the Ethereum Network

One of the easiest ways to join the Ethereum network is by using its native Mist browser. The Mist browser provides a user-friendly interface to write, manage, deploy and use smart contracts. It also provides a digital wallet for the users to trade and store Ether. Mist browser is similar to the web browser that we use today with the only difference that it provides us with decentralized blockchain applications.

You can also use a browser extension and a mobile app called MetaMask for accessing Ethereum enabled Dapps in your browser. MetaMask allows anyone to easily run or develop decentralized applications from their browser. Although initially built as a Chrome plugin, MetaMask supports Firefox and the Brave Browser as well. These browsers and browser extensions have made Ethereum accessible to people from non technical backgrounds.

 

Mining in Ethereum

While people think that mining is the process of earning cryptocurrencies in a given platform, there are many other reasons which are more impactful than this. Mining is the process that provides an incentive to miners to be a part of the network and be one of the many nodes that validates transactions. The more the number of miners, the better is the network security and decentralization. 

To ensure this takes place, the network provides an incentive to the miners by rewarding them with a consistent number of Ethers each time they mine a block and validate transactions that take place in the network. Mining reduces the need to trust anyone as there is no possibility of cheating or hacking. This is done by avoiding or preventing all those transactions that lead to double spending.

How does Mining on Ethereum work?

Mining in Ethereum is similar to that of Bitcon. All nodes compete with each other to find out a hash value which is less than the target value. Once that block is attained, other nodes validate the block before adding it to the blockchain. The miner is rewarded for finding the block too. This method of coming to a consensus is called the Proof of Work consensus mechanism. 

A contrasting feature about mining in Ethereum is its PoW algorithm – Ethash that is programmed in such a way that prevents the use of ASICs – specialized mining chips that are very expensive. This makes mining in Ethereum more affordable for lone miners. 

Mining a new block takes approximately 15 seconds in the Ethereum network. In case the blocks are mined quickly, the PoW algorithm automatically adjusts the difficulty of the problem for finding the block. This helps to maintain the 15 second block interval. 

PoW is a consensus mechanism that completely depends on the computing power of the computer and your luck. It might happen that you may be able to generate all the new blocks, some of them or none of them. There is no certainty of being able to mine a block. This is why many lone miners pool together to form mining pools to increase their chances of getting rewarded. Due to various drawbacks of this algorithm, Ethereum is planning to move to the PoS consensus mechanism which does not require the need to form pools or buy expensive mining hardware either. 

We have got separate, detailed articles on PoW and PoS on our DCXLearn platform.

Uncle and Uncle Rates

A blockchain is formed by adding new blocks that store details of the various transactions occurring on the blockchain network. In the Proof of Work algorithm, each miner competes with the other miners in order to mine the new block to validate the transactions and receive the reward for the computational resources used. The new block is added to the blockchain and the process keeps continuing as new transactions take place. 

Since mining is not an instantaneous process and it takes some time, approximately 15 seconds in the Ethereum network, more than one miner can solve the mining puzzles to mine the block. When multiple blocks are produced from the same parent, only one becomes part of the blockchain permanently. The other block produced but not included is known as a stale block. Although successfully mined and validated, the rejected ones are those which have a relatively lower share of PoW and are renamed as uncle blocks. The ones with a larger share of PoW join the original blockchain. The short block mining timing of Ethereum increases the possibility of more and more uncle blocks or Ommer blocks, the gender-neutral term. Uncle rate is the rate at which Uncle blocks occur. 

While the Bitcoin network does not reward for the abandoned blocks, Ethereum incentivizes uncle block miners. This helps in decreasing the centralization of incentives where large mining pools with high computing power end up claiming the majority of the rewards leaving nothing for individual miners. This makes mining on the Ethereum network using less hardware more cost effective. It also increases the security of the network as more nodes can participate in the validation process. The miners of the uncle blocks receive rewards up to 75% of their original block reward. 


 

The Curious Case of Ethereum 2.0

Decentralized Autonomous Organization (DAO)

Smart contracts could be used to build a Decentralized Autonomous Organizations (DAO’s) that function like normal companies but without any human interaction or institutional interference. Present life corporations are an example of a complex web of smart contracts. The DAO is similar to that except for the fact that it is completely automated and a decentralized company which is present on all the nodes of the network. A DAO is owned by everyone who purchases its tokens and they have the right to vote in its decision making process. A DAO consists of one or more contracts and could be funded by a group of like-minded individuals. 

The DAO was incorporated in 2016 to act as a venture capital fund, based on open-source code and without a typical management structure or board of directors. To be fully decentralized, the DAO was unaffiliated with any particular nation-state, though it made use of the Ethereum network.

The purpose of the DAO was to eliminate human error or manipulation of investor funds by placing decision-making power into the hands of an automated system and a crowdsourced process. It was designed to allow investors to send funds in the form of Ethers from anywhere in the world. The DAO would then provide those owners tokens, allowing them voting rights on possible projects.

The DAO launched in April 2016 and had raised more than $150 million in funds and by May 2016, it held a massive percentage of all Ether tokens that had been issued up to that point (up to 14%, according to a report by The Economist). At roughly the same time, however, a paper was published which addressed several potential security vulnerabilities, cautioning investors from voting on future investment projects until those issues had been resolved.

Later, in June 2016, due to programming errors and attack vectors, hackers attacked the DAO, accessing 3.6 million Ethers worth about $50 million at the time. Following this incident, in September 2016, several prominent digital currency exchanges de-listed the DAO token, marking the effective end for the DAO as it was initially envisioned. 

In July 2017, the Securities and Exchange Commission (SEC) issued a report, which determined that the DAO sold securities in the form of tokens on the Ethereum Blockchain, violating portions of US securities law.

While this incident happened due to the loopholes in the codes of DAO, the members in the Ethereum Foundation had to take the situation in their own hands. The network came to a consensus to retrieve the stolen funds by executing a hard fork and undoing the transfer of the funds that were stolen. Although it is impossible to undo transactions in a blockchain, this incident led to serious questions about the decentralized nature of blockchain technology. This led to people questioning the main values of the blockchain which includes ecurity, anonymity, immutability and decentralization.

While another less aggressive soft fork solution was put forth, the Ethereum community and its founders were placed in a perilous position. If they didn’t retrieve the stolen investor money, confidence in Ethereum would be lost. On the other hand, recovering investor money required actions that went against the core ideals of decentralization and set a dangerous precedent. In spite of whatever happened in the past, people still take interest in Decentralized Autonomous Organizations.

The most recent development in this field has been achieved by another digital currency called Dash. It is an example of a DAO because of its structure and the way it is governed.

 

Shift to Proof of Stake

Ethereum might not need miners forever. The PoW consensus mechanism is very competitive which makes mining a very competitive procedure. People join hands to form mining pools to increase their chances of mining blocks on the Ethereum network. They also buy expensive and specialized hardware needed for mining. Not all nodes in the network can afford it, especially the lone miners. This may result in miners dropping out of the network. 

If this happens, then mining may become a centralized activity which will affect the decentralized nature of Ethereum. To avoid this, the network has come up with another option of using the PoS algorithm. 

Using the PoS algorithm will not only reduce the resources needed to mine in the Ethereum network, it will also increase the security of the network while increasing the chances of mining of blocks based on how much has been staked by each node in the network. Under a PoS model, any user who owns a minimum of 32 ETH could lock those funds in a contract, which then would earn rewards for solving mathematical puzzles needed to add new blocks to the blockchain.  

 

Scaling in Ethereum

Ethereum has given us a new hope of having a decentralized internet but it will take a long time before everyone can access it to develop products. Scalability is a big bottleneck because the Ethereum blockchain is almost full. In 2017, when markets started realising the potential of the Ethereum network and Dapps were created, ICOs took place on a frequent basis and games like CryptoKitties got introduced. This increased traffic on the Ethereum network. 

While the popularity of Ethereum kept growing, the number of transactions in the network did not. The number of transactions per second (TPS) for Ethereum in Feb 2020 was around 25. There must be a rise in TPS in order to make Ethereum suitable for large scale projects so that more Dapps can be developed on the network. The popularity of Ethereum is still better than its competitors and this can be seen from the daily active Dapps on all of them. 

Other projects that offer a similar platform to develop Dapps have come into existence. These solve the problem of scalability. For example, EOS’s highest TPS till date is 4508, NEO and Steem are said to process 10,000 TPS. Although Ethereum began much before any of these projects, the scalability has caused a shift in use from Ethereum to these blockchain platforms. 

To accommodate such rising traffic in its network, Ethereum has been planning various protocol upgrades in its network. Over the years there have been several protocol upgrades that were given code names, some of them being Ice Age, Constantinople, Petersberg, Istanbul and the most recent one being Ethereum 2.0. Ethereum 2.0 was supposed to come into effect in January 2020 but there have been delays so far. 

While the most recent upgrade has been delayed for quite some time now, it was not until the Istanbul hard fork of December 2019 that even the Ethereum developers believed in the possibility of scaling the Ethereum network.

 

Why is Scaling difficult? 

The Ethereum network’s protocol has been developed in such a way so as to maximise the security and maintain decentralization in the network. This often becomes a bottleneck when new nodes join the network. As more and more users try using it, the increased traffic causes problems like delays in transaction processing and high transaction costs. Imagine standing at the bar and paying for your drink with Ethers! Your drink comes in less than a minute but your transaction takes at least 5 minutes. Such a network will not be useful in our day to day activities and hence cannot help in the development of all possible apps that we see on the app store. 

The Ethereum blockchain stores all the transactions and also the different states of all smart contracts. In order to match the increase in demand in the network, the block sizes can be increased so that more transactions can be recorded in a block. The major drawback of this upgrade is that lone nodes that do not have enough computing power to update the blockchain after every block, will lag behind. This affects the security of the network. The purpose of this decentralized network was to include all people. Increasing the size of the block causes the miners with lesser computing power to get out of the network. Let us see how the Ethereum scalability issue could be solved through the Ethereum 2.0 upgrade. 

Sharding Explained

Ethereum 2.0

The Ethereum mainnet will soon go through a major upgrade in its public mainnet that will improve its performance and increase the number of transactions executed per second. This upgrade is going to help Ethereum grow as a network and attract more commercial clients on its platform. 

The upgrade, also known as Serenity, is more significant as compared to other upgrades that Ethereum has seen since 2015 especially because of the shift in the consensus protocol from Proof of Work to Proof of Stake which is supposed to be the first phase of Ethereum 2.0 called Phase 0.

Do read our articles on the Proof of Work and Proof of Stake for more clarity.

Phase 0 will create the Beacon Chain, a PoS blockchain, that will serve as the backbone of Ethereum 2.0. For the Beacon Chain to launch its genesis block, at least 524,288 ETH must be staked on the network which must be divided among a minimum of 16,384 validators to ensure sufficient security and decentralization. Staking rewards will not be distributed till this condition is satisfied.

An interesting feature of the Beacon Chain is that, even after it gets launched, the original PoW consensus blockchain will continue to exist. The Beacon Chain will not be useful in processing transactions or executing smart contracts or perform any function of the blockchain for that matter. The entire motive of the launch of Phase 0 is to test run the new Proof of Stake consensus mechanism to ensure that once the other phases have been activated, Dapps can be hosted, smart contracts can be executed and transactions be processed. The original Ethereum 1.0 blockchain will therefore continue to run in parallel and receive upgrades during Phase 0. 

Phase 1 will be created to form 64 different shard chains of the Ethereum blockchain for scalability reasons. These will then in Phase 1.5 cause the shard chains and the Beacon chain to merge to ensure continuity and to assure that the Ethereum network is one and the same network and not two separate blockchains. This also means that there will be a continuity of the past blockchain data. Users of the Ethereum blockchain network will therefore be able to use the old Ether and not go through any hassle of token swaps and other daunting tasks. 

Phase 2 is expected to implement state execution, smart contract execution, transaction processing, etc. It is important to understand that Ethereum 2.0 will only be functional once Phase 2 is completed. 

 

Sharding

Due to the dynamic nature of the Ethereum blockchain, one of the problems faced by the network was to constantly update and store information in the blockchain. Sharding comes from a traditional scaling technique called database sharding that effectively helps in database partitioning, also known as horizontal partitioning.

Sharding helps to put the broken databases into different sets of servers (where each server represents a bunch of nodes in the network) with the goal to eliminate the need for full nodes. Instead, each node stores only a subset of the data and only verifies those transactions. In case a node does not have the required information, it can ask/find it from the other nodes to get that information. One issue of sharding is that it is not completely trustless as one node depends on other nodes for information. This adds an additional layer of complexity in the network.

Another problem that sharding faces is issues related to security in the Ethereum network. The blockchain shards that have been formed makes it easier for hackers to hack one of the shards due to reduced hash power required to control individual segments. This leads to a single-shard takeover attack or a 1% attack. Once a segment has been hacked, the attackers can potentially submit invalid transactions to the main network, or it is possible for information in that specific segment to be invalidated and lost permanently. Ethereum’s proposed answer to this security risk is random sampling, where shard notaries are randomly appointed to different sections to verify block authentication.

Distribution of Shards

Ethereum aims to solve this by issuing crypto economic incentives that ensure that all nodes have to follow the rules and provide the correct and up to date information to the nodes when asked for it.

 

Conclusion

It has been more than half a decade since the development of Ethereum and it has practically changed the way we imagined Blockchain Technology to be. Blockchain Technology is no more associated with Bitcoin only but with a large number of Dapps, each having their own unique features. At the time of writing there are 3,541 Dapps that have been developed on the Ethereum blockchain network. Ethereum has simplified the process of creating blockchain projects. People with knowledge of C, Java, Python can use similar programming languages like Solidity, Vyper, etc to write codes on the Ethereum network. Smart contracts have changed the way we looked at contracts all these years especially because of the added security and decentralization that it brings with it. Ethereum also serves as the platform for over 260,000 different cryptocurrencies, including 47 of the top 100 cryptocurrencies by market capitalization. You can see them here – https://etherscan.io/tokens

With more challenges in its way, Ethereum has got a long way to go. But the learning curve for anyone involved in the Blockchain community is immense. We at CoinDCX enjoy sharing our thoughts and ideas with people through our research and blogs that are published on the DCXLearn platform. 

 

To know more about Ethereum and its applications do visit the following websites –