Last updated on June 22nd, 2020
First of all, what is Ethereum? Many people know Ethereum simply as a tradable cryptocurrency, much like bitcoin. This is true. The native cryptocurrency of Ethereum is ETH and you can buy it, hold it, and use it as means of payment or exchange where it’s accepted.
By market capitalization ETH is the second biggest coin right after bitcoin and you can see it listed at all of the main crypto currency exchanges.
As well as being a coin, Ethereum expands the blockchain technology behind bitcoin in several ways. While bitcoin is a decentralized ledger of transactions, Ethereum is also a host to other blockchain applications. In other words, Ethereum has become a platform for other decentralized applications, (DAPPS) to exist.
The bitcoin blockchain is a public ledger of all bitcoin transactions that have ever taken place. Anyone can view this data, it is open and it is public.
So who maintains and validates this blockchain? The blockchain is maintained by miners. Whenever a new bitcoin transaction appears, miners compete against each other to solve a difficult cryptographic puzzle in order to verify that the transaction is valid.
Once a block is verified and confirmed by other miners, the new transaction is added to the blockchain. For their effort, the successful miner is tipped with a few new bitcoins, called the blockchain reward. This incentive system is what keeps the network running and secure from attacks.
This is a consensus mechanism that is called proof or work. It is at the heart of bitcoin blockchain technology and many other cryptocurrencies.
Ethereum & smart contracts
The founders of Ethereum saw the potential in this approach early on. If a payment transaction can be validated in this way then why not other things as well? Why not an agreement, a contract, a notice of some kind? Why not a set of computer instructions?
This came to be the idea behind Ethereum’s smart contracts. Smart contracts are a series of logical steps and conditions that must be satisfied as part of a blockchain transaction. For example, take the purchase of a share on a decentralized exchange. A simple set of rules would be:
- Buyer A and seller B agree on price for the share
- Payment is debited from A’s account
- A digital record of share ownership is transferred from seller B to buyer A
- Payment is credited to seller B’s account
Each of these steps has to be completed and verified in a certain order. If any step fails, the whole transaction fails. The transaction is recorded on the blockchain which means that there’s an immutable public record. Anyone could look up that blockchain record and see that B sold a share to A and that A is the current owner.
Just like a bitcoin transaction has to be verified before being added to the blockchain, so too with an Ethereum smart contract. And just like bitcoin, Ethereum has an incentive system so that miners will do the required computations to validate new blocks and add them to the blockchain.
However, Ethereum smart contracts are not uniform like bitcoin transactions. One smart contract may require a multitude of computational steps, while another may take only a few. In fact, computer code might require an indeterminate amount of computation that could impact the whole network if it were allowed.
This presents a problem because a fixed incentive system, like that in bitcoin, wouldn’t work for Ethereum. In a fixed incentive system, miners would selectively choose the easy tasks, while ignoring the more demanding ones. This means many smart contracts would never be completed.
To solve this, Ethereum introduced a reward system known as Gas. Think of gas as internal currency used by miners in the Ethereum network. Each blockchain transaction is broken down into a number of steps and each step requires a certain amount of gas to complete. Ether Gas is priced in ETH just like regular gasoline is priced in dollars. Any user that has ETH in their account can pay for gas for a given transaction to be performed.
The number of gas units per computational step is fixed. When a miner successfully completes the steps they’re rewarded with the gas fee for the entire task.
This is a market driven supply and demand system in which transactions submitters can specify the gas price they are willing to pay. Therefore, when the demand for resources is high, the gas price can rise and when it’s low it can fall.
This incentive system is also designed to reduce spam and bad actors from submitting malicious code into Ethereum’s ecosystem. Tasks with a high computational cost won’t be done unless miners are rewarded sufficiently. Tasks that overrun their specified gas usage limit will be abandoned and the submitter of the transaction will lose their entire gas fee. This prevents the network from being bogged down by non-productive tasks.
Ethereum 2.0 solving scalability
An ongoing concern for all blockchain technologies is that of scalability as well as sustainability. One of the problems of proof-of-work is that the input cost for the miner needs to be proportionate to the payoff. If it isn’t, malicious miners could randomly flood the network with false blocks at low cost but still have the chance of a very high payoff due to a high coin value.
This cost is paid in electric energy consumed by the miners who’re essentially doing a lot of artificial computations just to prove their trustworthiness. Another problem with this is that bitcoin mining now has a very high barrier to entry. It requires enormous investment in servers, storage space, infrastructure and electricity. This financial outlay is far beyond the means of ordinary users. This has led to a centralized empire of big, dominant mining pools.
Ethereum 2.0 is a project that will attempt to solve these problems, for Ethereum and its network of DAPPS. There are two main parts to Ethereum 2.0. The first is a move from proof-of-work to proof-of-stake. The second is a change designed to improve transaction throughput by a technology known as sharding.
The use of proof of stake is significant because it takes dominance away from big mining pools and gives it back to the owners of the coin. With proof of stake, coin owners become the miners. They do this by voluntarily staking their coins. This involves locking them into a smart staking contract for a certain period of time.
Unlike proof of work, proof of stake doesn’t need any artificial computations to act as deterrent to hackers, because the staker has already pledged their coins. The staker only needs to validate a block and therefore doesn’t need to perform any unnecessary or arbitrarily complex task.
Stakers have an incentive to work in the interests of the network because if they don’t they’ll lose their coins. The reward for staking coins is a fee, much like an interest payment. Think of this like a carrot and stick system.
Staking coins needs to be thought of like a fixed term deposit with a bank. You may not have instant access to your coins. This could be a problem, should you need to access your funds quickly. Clearly, this won’t suit people who prefer to keep their coins in cold storage because it means giving up some control of the staked coins.
Staking & validators
Stakers will need to hold at least 32 ETH and run validator software either through a special wallet or a managed staking service.
The validator software needs to be online round the clock in order to be available to validate new blocks when called upon.
Unreliable validators and validators that are offline (not available for validating duty) are punished by forfeiture of some of their staked coins. If the validator’s balance falls below 16 ETH it is expelled from the workforce.
With this system there are two sets of keys. The staking service holds a validator key while the withdrawal key can be stored offline to add an extra layer of protection. With the validator key the validator can carry out signing tasks to validate blocks and gain rewards, but the withdraw key is needed to remove and spend the deposited coins.
Ethereum 2.0 is a highly ambitious project. Like most projects of this size it’s suffered its fair share of setbacks and delays. According to their roadmap, we can expect to see phases of Ethereum 2.0 being rolled out during 2020 and 2021.