Ethereum: a platform for decentralised applications and smart contracts
Name: Ether (native digital currency of the Ethereum blockchain)
Consensus algorithm: Proof-of-Work
Native blockchain: Ethereum Blockchain
Release date: September 2015
Supply: 106.05 million (as at May 2019)
Official website: https://www.ethereum.org
What is Ethereum?
Ethereum is a global, open-source platform for decentralised applications. On Ethereum, you can write code that controls digital value, runs exactly as programmed, and is accessible anywhere in the world.
Launched in 2015, Ethereum is the world’s leading programmable blockchain. Like other blockchains, Ethereum has a native cryptocurrency called Ether (ETH).
ETH is purely digital, and can be sent to anyone anywhere in the world instantly. The supply of ETH isn’t controlled by any government or company - it is decentralised, and it is scarce. People all over the world use ETH to make payments, as a store of value, or as collateral.
But unlike other blockchains, Ethereum can do much more. Ethereum is programmable, which means that developers can use it to build new kinds of applications.
These decentralised applications (or “dapps”) gain the benefits of cryptocurrency and blockchain technology. They can be trustworthy, meaning that once they are “uploaded” to Ethereum, they will always run as programmed. They can control digital assets in order to create new kinds of financial applications. They can be decentralized, meaning that no single entity or person controls them.
In the beginning...
Ethereum was proposed in late 2013 by Vitalik Buterin, a cryptocurrency researcher and programmer. Development was funded by an online crowdsale that took place between July and August 2014.
The system went live on 30 July 2015, with 72 million coins "premined". This accounts for about 68 percent of the total circulating supply in 2019.
The number of ETH in existence are:
Pre-mine + Block rewards + Uncle rewards + Uncle referencing rewards
It was decided that post-crowdsale, future ETH generation would be capped at 25% of that per year (ie no more than 18m ETH could be mined per year, in addition to the one-off ~72m ETH generated for the crowdsale).
Currently each block mined creates 5 fresh ETH. Doing the maths, if a block is mined every 14 seconds, and there are 31.5m seconds in a year (365x24x60x60), this means 2.25m blocks are mined per year. 2.25m blocks at 5 ETH per block = 11.3m ETH generated per year. This meets the commitment of less than 18m ETH generated per year.
Actually it’s a little more than that. Some blocks are mined a little late and don’t form part of the main blockchain. In Bitcoin these are called ‘orphans’ and are entirely discarded, but in Ethereum they are called ‘uncles’ and can be referenced by later blocks. If uncles are referenced as uncles by a later block, they create about 4.375 ETH for the miner of the uncle (7/8th of the full 5 ETH reward). This is called the uncle reward. Currently around 500 uncles are created per day, adding an additional 2,000 ETH into circulation per day (~0.7m ETH per year at this rate).
Uncle referencing reward
And there’s a bit more too: A miner who references an uncle also gets about 0.15 ETH per uncle (maximum 2 uncles). This model described above, where valid blocks are determined and miners are rewarded, is called the Ghost protocol.
Versions of Ethereum
In 2016, as a result of the exploitation of a flaw in The DAO project's smart contract software, and subsequent theft of $50 million worth of ether, Ethereum was split into two separate blockchains – the new separate version became Ethereum (ETH) with the theft reversed, and the original continued as Ethereum Classic (ETC).
The Ethereum Community
The Ethereum community is large and very active. It includes core protocol developers, cryptoeconomic researchers, cypherpunks, mining organizations, ETH holders, app developers, ordinary users, anarchists and fortune 500 companies.
There is no company or centralised organisation that controls Ethereum. Ethereum is maintained and improved over time by a diverse global community of contributors who work on everything from the core protocol to consumer applications. This website, just like the rest of Ethereum, was built - and continues to be built - by a collection of people working together.
Ethereum Mining & Proof-of-Work
Ethereum currently uses a consensus system called "Proof-of-Work". This allows the Ethereum network to agree on the state of all information recorded on the Ethereum blockchain, and prevents certain kinds of economic attacks.
What does it mean to mine Ethereum?
Mining is the process of creating a block of transactions to be added to the Ethereum blockchain. Miners essentially process pending transactions and are awarded block rewards in the form of Ether - the Ethereum network's native currency - for each block generated. Generating a block requires intensive computational work (or hashing power) due to the difficulty set by the Ethereum network protocol. This difficulty level is proportional to the total amount of computational power (also known as the total hashrate of the network) being used to mine Ethereum and serves as a way to secure the network from attacks as well as tuning the speed at which blocks (and block rewards) are generated. This system of using hashing power generated by costly computer hardware is known as Proof of Work (PoW).
Technically, anyone is able to mine on the Ethereum network using their computer. However, not everyone is able to mine Ether profitably. In most cases, miners must purchase dedicated computer hardware in order to mine profitably. While it is true anyone can run the mining software on their computer, it is unlikely that the average computer would be able to earn enough block rewards to cover the associated costs of mining.
A “smart contract” is simply a piece of code that is running on Ethereum. It’s called a “contract” because code that runs on Ethereum can control valuable things like ETH or other digital assets.
Smart contract code is run by something called the Ethereum Virtual Machine, which runs on the computers of all participants on the network. If you are familiar with Microsoft Excel macros (pieces of code run by Excel), then similarly smart contracts are pieces of code run by Ethereum’s Virtual Machine.
In many descriptions, Ethereum smart contracts are called “Turing complete”. This means that they are fully functional and can perform any computation that you can do in any other programming language.
Efforts are underway to make Ethereum more “scalable” by improving its speed and overall transaction throughput. Generally these are sorted into “Layer 1” and “Layer 2” solutions.
“Layer 1” refers to improving the core Ethereum protocol. The primary project to improve Ethereum’s core protocol is ETH 2.0.
“Layer 2” refers to technologies that are built “on top” of the base Ethereum protocol, enabling greater scalability without compromising on security. There are also “off-chain” technologies like side-chains, which enable greater scalability by making a different set of security trade-offs.
In ETH 2.0, Ethereum will be moving to a different system called “Proof of Stake”.
Proof of Stake represents a class of consensus algorithms in which validators "vote" on the next block, and the weight of the vote depends upon the size of its stake. It is considered better than "Proof-of-Work" because of less consumption of electricity, reduced centralisation risks, security against different types of 51% attacks and more.
To participate in voting (becoming a validator) you are required to stake ETH for which you'll be rewarded with additional ETH at some interest rate plus you'll receive a portion of the network transaction fees.
The potential for use of smart contracts in the real-world is huge
Imagine automatically sending money from one person to another but only when a certain set of conditions are met. For example an individual wants to purchase a home from another person. Traditionally there are multiple third parties involved in the exchange including lawyers and escrow agents which makes the process unnecessarily slow and expensive.
With Ethereum, a piece of code could automatically transfer the home ownership to the buyer and the funds to the seller after a deal is agreed upon without needing a third party to execute on their behalf.
And this is just one potential practical application of Ethereum smart contracts. It has the potential to fundamentally change the backbone of many industries.