What is Ether?
Ether (ETH) is the cryptocurrency used to power smart contracts and decentralised applications in the Ethereum network and is the second largest crypto-asset after bitcoin.
Ethereum also has the largest development community out of any blockchain network, given that it is more experimental and has a wider range of applications than Bitcoin. Ethereum is one part of the Web3 suite of decentralized technologies, along with Swarm and Whisper.
Background and History
Ethereum was created as a reaction to Bitcoin’s conservatism and laser focus on the goal of sound, programmable money, with the computer programmer Vitalik Buterin being instrumental in Ethereum’s development. Ethereum focuses on a wide variety of use cases, aiming to create the blockchain version of a Swiss army knife.
In January 2014, Buterin announced Ethereum at the North American Bitcoin Conference and the project diverged from other altcoins around that time, since it was not tweaking Bitcoin’s code to create a new cryptocurrency. Instead, the code base would be developed from scratch with many participants working together, notably Vitalik Buterin, Vlad Zamfir, Gavin Wood and Jeffrey Wilcke.
By early 2015, the code base was reviewed and audited and the Proof of Concept was launched in March of that year. The testnet network, Olympic, ran for four months until it stabilised in June 2015 and became the springboard from which Ethereum and its long-term vision was launched.
The main influences on Ethereum are listed below:
- Bitcoin: As the leading crypto-asset, Bitcoin influenced the Ethereum team wanted to move beyond currency and develop an all-encompassing protocol for decentralized file storage, decentralized computation and decentralized prediction markets, among other things. Ethereum was also influenced by the same developments as Bitcoin, such as the cypherpunk and open source movements.
- Counterparty: Ethereum was also inspired by Counterparty — a network built on top of Bitcoin in January 2014 to execute smart contracts. While the enthusiasm was there to build smart contracts and decentralized applications on top of Bitcoin, the flexibility for creating different kinds of transactions was restricted for the sake of scalability and security. Buterin proposed a new platform that could handle complex contracts, and autonomous relationships and organisations mediated on the blockchain.
- Mastercoin (now known as Omni): Ethereum was as much as a reaction to Mastercoin as it was to Bitcoin. While Mastercoin intended to develop user-defined currencies, decentralized exchanges and a host of other features, the team behind this project diverged from Buterin’s proposal for more generalised financial contracts without adding complex features. As a result, Buterin went on to co-found Ethereum as a re-architected version of his proposal for Mastercoin.
Some key dates and milestones for Ethereum are shown below:
- Late 2013 — Ethereum whitepaper proposed late 2013, the group of founding members formed in December 2013.
- January 2014 — Ethereum project formally announced.
- July 22, 2014 — Ethereum holds Initial Coin Offering, announces pre-sale of ether (ETH) for BTC. Token sale ends September 2, 2014.
- July 30, 2015 — The Ethereum network goes live.
- August 7, 2015 — First ETH transaction sent over the Ethereum network. The first tangible item bought with Ethereum was a Papa John’s gift card on the same day.
- June 17, 2016 — The Ethereum-based project DAO was exploited by a hacker, who gained control of 3.6 million ether. Ethereum core developers reversed the hack and rolled back the network with a hard fork.
- July 20, 2016 — Ethereum Classic continues the original Ethereum chain without a hard fork, creates a new crypto-asset (ETC) and gains a following.
- 16 October, 2017 — “Metropolis Byzantium” hard fork activated, bringing zk-SNARKs to Ethereum.
Serenity is a much-anticipated upgrade that will move Ethereum from Proof of Work to Proof of Stake over several years. The first phase is expected Q4 2020 while the final phase is expected to be implemented by 2021.
Supply of Ether
There is no cap on the supply of ether, as there is with Bitcoin or coins based on Bitcoin’s code.
New ethers are generated via the block reward given to miners. The initial mining subsidy was 5 ethers per block, but has been reduced over time through three hard forks; firstly, the Byzantium fork reduced the block rewards from 5 to 3 ether. Two further hard forks conducted in early 2019, Constantinople and St. Petersburg, reduced the block reward from 3 to 2 ether — which equates to an annualised inflation rate of roughly 4.5 percent.
At the time of writing, the supply of ether stands at 107.4 million. Buterin has previously said that he does not expect the supply of ether to go far above 100 million, which illustrates how the supply is not predictable at any point in time as it is with Bitcoin, as two years later the supply is 107.4 million. It is important to note that around 500,000 ethers are frozen due to the Parity multi-signature wallet bug, so the true circulating supply is probably closer to 107 million.
In the original token distribution event, 60 million ethers were sold to the public at a price of 2000 ether for 1 bitcoin. A fifth of the initial supply — 12 million ethers — was allocated to the Ethereum Foundation and early Ethereum contributors. Of these 12 million ETH, 3 million were allocated to a long-term fund, another 3 million were set aside for a developer purchase program that gives Ethereum developers the right to buy ethers at the crowdsale price. The remaining 6 million were distributed to early Ethereum contributors.
There has been discussion in the Ethereum community about introducing a hard cap, with Vitalik Buterin submitting an Ethereum Improvement Proposal (EIP) number 960 as an April fool’s joke in 2018 to cap the supply of ether at 120 million. While the EIP was tongue in cheek, Buterin clarified that a fixed supply is worth considering and that the community can adopt the proposal if there is enough support. However, the proposal to introduce a supply cap has not been accepted yet.
Even if EIP960 is not implemented, Ethereum’s upcoming move to Proof of Stake could significantly reduce the inflation rate for ether. The Serenity update for Ethereum, a proposed Proof of Stake consensus protocol, is expected to reduce issuance to around 0.22 percent by 2021, assuming 10 million ETH are staked. But the schedule and exact details for implementing Serenity is unclear, meaning that uncertainty around the supply of ether is yet to be resolved.
Demand for Ether
Moving onto demand for ether, given the unpredictable supply of the crypto-asset, the very strong demand is required for ETH to appreciate over the long run. Since ether is used as gas to pay for smart contract execution, the demand for ETH increases as Ethereum applications become more and more popular. As with Bitcoin, there is also demand for ether as a store of value and as an uncensorable form of money, however, the demand is not as strong for ETH due to the uncertainties around the supply.
Ethereum is the leading blockchain platform for building decentralized applications (Dapps) and running smart contracts, with almost 2,000 Ethereum Dapps in existence. However, a quick look at DappRadar shows that most Dapps built on Ethereum have anywhere between 200 to 2,000 active users. Therefore, the demand for ether has a lot of room to grow, even though Ethereum is the leading blockchain computing platform for Dapps and smart contracts.
A key driver of demand for ether lies with tokenized assets. According to the fat protocol thesis, if the Ethereum protocol manages to capture a lot of tokenized assets on its public chain, then demand for ether and its value will increase as more and more tokenized assets are built on top of Ethereum. For instance, the demand for ETH surged around the time the CryptoKitties trading game was released and contributed to ETH’s rally at the time. As more and more people joined the game and bought ETH to participate, this raised demand and was one of the first instances of a blockchain game generating significant demand.
As more and more projects launched Initial Coin Offerings on the Ethereum platform in 2017, the value of ether increased as these crowdsales required participants to purchase ether to take part. In mid-2018, the price of ether embarked on the beginning of a 76 percent decline. The price decline coincided with the amount of ether being liquidated on exchange surpassing the inflows into ether from new ICOs. Initial Exchange Offerings (IEOs) have overtaken ICOs in popularity during recent times, where IEOs are not centered around ether as a payment mechanism to buy into these token sales.
An emerging theme in Ethereum which is generating renewed demand for ether is decentralised finance (or ‘DeFi’), and according to DeFI Pulse there are apprixmately 7.4 million ETH staked in these Dapps. The majority is geared towards MakerDAO — the protocol that powers the stablecoin DAI and attempts to sidestep the custodial risks present in other stablecoins. Other popular DeFi apps are Uniswap (a decentralised exchange) and Compound, which provides an interest rate market for different crypto-assets allowing users to earn interest, as well as borrow tokens.
Demand for ether is also anticipated to be affected by Ethereum’s transition to Proof of Stake, which will allow users to stake a certain amount of ETH to act as a validator and earn an income from verifying transactions. There are a lot of uncertainties regarding the move to Proof of Stake, with the yield for validators being one. The yield earned by stakers must be sufficient to incentivise demand for ETH. Annual yields in ETH are expected to be around 3–4 percent and along with the requirement to lock funds for two years, it may not be tempting enough to gain critical mass.
How does Ethereum Work?
The structure of Ethereum’s blockchain is very similar to Bitcoin’s, where nodes each store a copy of the shared record of the entire transaction history and the valid chain is the one with the most computation done on it. However, the difference is that each node on the Ethereum network stores the most recent state of each smart contract. Since there are many applications built on top of Ethereum, each node will have to keep track of not just the ETH transactions, but also the current information for each application.
Full nodes have a full copy of the Ethereum blockchain and execute all of the transactions with the system. The storage requirements for an archival GETH node is around 2TB, where full nodes are required for mining. Since Ethereum’s global state is stored in a data structure known as a Merkle Tree, light nodes are able to verify transactions, events and balances without downloading the entire chain. Instead, light nodes only download a chain of block headers (which contain a hash of the transactions and state) and can verify data using a Merkle proof.
Another departure from Bitcoin is Ethereum’s account-based model which works in a similar way to a traditional bank account, providing simplicity and efficiency compared to Bitcoin’s Unspent Transaction Output (UTXO) model. Instead of UTXO’s, the balance of each account is tracked as part of the global state of the Ethereum network. Ethereum uses public-key cryptography to create the private-public key pair that together represent an Ethereum account.
There are two types of accounts on Ethereum:
- Externally owned accounts — these are controlled by private keys. Externally owned accounts have no corresponding code but can send messages to any account by creating and signing a transaction with its private key. Interactions between externally owned accounts are transfers of value (sending ETH).
- Contract accounts — these are controlled by the code associated with them. interactions between an externally owned account and a contract account activates the latter’s code and performs a specific function. Contract accounts cannot initiate transactions on their own, but only in response to transactions initiated by externally owned accounts.
Transactions between accounts are what drive the global state of Ethereum forward and all transactions contain what is known as a nonce, along with other components. The nonce is basically the number of transactions sent by the sender, which needs to be valid in order to execute transactions, and is a component of the account state.
Another requirement for transactions is for the gas limit to be equal or greater than the gas used by the transaction. The total cost of transaction is the gas limit, defined by how much code is running on the blockchain, times the gas fee — which determines how quickly your transaction will be mined.
Once the transaction is complete, the user receives any unused gas back, and the used gas is paid to the miner, with the difference added to the block gas counter. Gas is paid to miners to confirm transactions and can be thought of as the computational cost of the network where gas fees increase and decrease as the demand for block space increases and decreases.The resulting state and logs are then used to validate and finalise blocks.
To verify a block of many transactions, the gas used on that block must be equal to the figure given by the block gas counter mentioned previously. Miners receive a block reward for each block they mine, but they also receive all the gas cost of those transactions. Miners also validate blocks rejected by the network, which are known as uncle blocks. Because of the fast block confirmation time of 12 seconds on Ethereum, uncle mining is supposed to mitigate centralisation risks.
Ethereum’s mining is currently uses a Proof of Work algorithm, which is a cryptographic proof that a particular amount of computation was performed to produce some output, called Ethash. Gavin Wood’s Yellow Paper laid much of the groundwork for Ethash, which went through several iterations in the project’s early stages as detailed here by Vitalik Buterin.
As a memory hard function, it requires a lot of storage and bandwidth, with the higher bandwidth requirement supposed to offset any advantages that specialized machines have. Ethhash retained ASIC resistance for a while, until ASIC miners eventually emerged in early 2019.
Ethereum Virtual Machine
The Ethereum Virtual Machine (EVM) enables the development of smart contract applications, where all nodes execute smart contract codes using their EVMs. These smart contracts are written in programming languages such as Solidity, Vyper and Bamboo. A list of pre-defined opcodes can be found here and are equivalent to an instruction set programmers can use to create smart contracts. Contract creation entails an additional 32,000 gas cost on top of the pre-defined 21,000 gas cost and the storage fee.
Opcodes are 1 byte each, there can only be a maximum of 256 opcodes for each stack item in the EVM’s stack architecture. The EVM also comprises; memory (where complicated opcodes use contract memory to pass or retrieve data) and storage (to store data indefinitely and make it available for future smart contract executions).
When a contract is fully executed, the memory contents are deleted while storage values can be read so that a transaction to that contract is not required for future use. As a result, writing items to storage is more expensive than writing items to memory, since it sends more data with the transaction.
Contracts written in smart contract-specific programming languages with opcodes are then compiled into bytecode, which the EVM can then read and execute. As a Turing Complete virtual machine (bounded by the amount of gas provided), the EVM can compute almost anything if there are enough resources committed. Each code has a gas cost — paid in Gwei which is the smallest unit of ETH — to run the contract, preventing an attacker from creating lots of computationally expensive contracts to slow the network down.
More complicated instructions charge a higher gas fee, while more straightforward instructions will carry a lower gas fee . While EVMs makes computation more expensive compared to running programs on traditional servers, it provides use cases where decentralization is important.
The EVM is expected to be revamped with eWASM (Ethereum flavoured Web Assembly) that would expand coding options and bring speed and efficiency benefits over the current EVM. eWASM would also allow for wider support amongst a variety of programming languages, such as Go, Rust, and C/C++.
The development of smart contracts is one of the biggest contributions of Ethereum, such as the ERC-20 and ERC-721 token contracts. ERC-20 tokens were responsible for the wave of ICOs in 2017 and opened up a new and interesting way of raising capital. ERC-721 contracts can create unique assets in the form of Non-Fungible Tokens (NFTs), which have been mainly used in gaming applications.
Scalability is an issue for Ethereum with the network only able to handle around 7–15 transactions per second on the main chain. There are several proposals and ideas being pursued that attempt to scale Ethereum further:
- Sharding: sharding reduces the network state into smaller pieces that contain their own part of the state and transaction history. Instead of all nodes processing transactions for one blockchain, the throughput of all transactions in total can be increased if nodes only verify transactions in particular shards.
- Serenity: Ethereum’s move to Proof of Stake (known as ETH 2.0) is meant to reduce energy consumption while boosting performance and scalability. The switch will introduce punishment mechanisms alongside the reward mechanisms that have worked well in Bitcoin and Proof of Work cryptocurrencies. Nodes will have a financial incentive to never change the information they submit to the network, potentially making Ethereum more secure.
- Plasma: an off-chain scaling solution proposed by Vitalik Buterin and the Lightning Network co-creator Joseph Poon. You can think of Plasma as turning the Ethereum into the centre of a sort of blockchain tree, with other child chains creating branches and stems and so on. Essentially, smart contracts and Merkle trees are used to create an unlimited number of child chains. We can think of each child chain as a customizable smart contract that can serve a particular purpose, relieving the main Ethereum blockchain of work. There are several implementations of Plasma being explored.
- Zk-STARKs: zk-STARKs are a tool that could help Ethereum scale without layer 2 solutions like Plasma, where the term is short for: zero knowledge scalable transparent arguments of knowledge. Zk-STARKs allows computations and storage to be moved away from the main Ethereum blockchain and STARK proofs will enable verification of the off-chain computations.
- State and Payment Channels: State and Payment channels reduce the load on the Ethereum chain in a similar way that the Lightning Network does for Bitcoin. A part of Ethereum’s state is locked into a multi-signature contract to sign off-chain transactions and participants update it between themselves. The latest off-chain state is then submitted back to the Ethereum blockchain. However, state channels do not necessarily need to be closed, as they could play a part in powering an entire ecosystem. Payment channels are a specific form of state channels that refer to the updating of digital currency balances instead of the state of Ethereum.
The reliance on Infura is a central point of weakness for Ethereum. Since a large number of Dapps process information on Ethereum using Infura, which is controlled by one company and operated on Amazon Web Servers, there is a concern that the network is not as robust as it could be. If for any reason Infura was compromised, it could cause chaos for Dapps on Ethereum. To reduce reliance on Infura:
- There is an active effort to improve light clients on Ethereum so that developers can connect to these instead of Infura, and
- Projects like VIPnode and DeNode that encourage the use of full nodes.
The increasing size of the Ethereum blockchain hampers the ability to independently run a node. While Ethereum is younger than Bitcoin, the size of its blockchain is larger since it is a smart contract platform with a wider range of applications. To address the growing size of the blockchain, there are several areas of development until Ethereum moves to Proof of Stake such as:
- State rent, where a fee would be applied to store data on the blockchain, and
- Compressing the size of the blockchain through storage pruning.