Ethereum


Ethereum is the second-largest cryptocurrency platform by market capitalization, behind Bitcoin. It is a decentralized open source blockchain featuring smart contract functionality. Ether is the cryptocurrency generated by Ethereum miners as a reward for computations performed to secure the blockchain. Ethereum serves as the platform for over 260,000 different cryptocurrencies, including 47 of the top 100 cryptocurrencies by market capitalization.
Ethereum provides a decentralized virtual machine, the Ethereum Virtual Machine, which can execute scripts using an international network of public nodes. The virtual machine's instruction set, in contrast to others like Bitcoin Script, is Turing-complete. "Gas", an internal transaction pricing mechanism, is used to mitigate spam and allocate resources on the network.
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 then went live on 30 July 2015, with 72 million coins minted. This accounts for about 65 percent of the total circulating supply in April 2020.
In 2016, as a result of an 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 with the theft reversed, and the original chain continued as Ethereum Classic.
Ethereum is currently developing and planning to implement a series of upgrades called Ethereum 2.0. Current specifications for Ethereum 2.0 include a transition to proof of stake and an increase in transaction throughput using sharding technology.

Etymology

Vitalik Buterin picked the name Ethereum after browsing Wikipedia articles about elements and science fiction, when he found the name, noting, "I immediately realized that I liked it better than all of the other alternatives that I had seen; I suppose it was the fact that sounded nice and it had the word 'ether', referring to the hypothetical invisible medium that permeates the universe and allows light to travel."

History

Ethereum was initially described in a white paper by Vitalik Buterin, a programmer and co-founder of Bitcoin Magazine, in late 2013 with a goal of building decentralized applications. Buterin had argued that Bitcoin needed a scripting language for application development. Failing to gain agreement, he proposed the development of a new platform with a more general scripting language.
Ethereum was announced at the North American Bitcoin Conference in Miami, in January 2014. During the same time as the conference, a group of people rented a house in Miami: Gavin Wood, Charles Hoskinson, and Anthony Di Iorio, a Torontonian who financed the project. Di Iorio invited friend Joseph Lubin, who invited reporter Morgen Peck, to bear witness. Six months later the founders met again in a house in Zug, Switzerland, where Buterin told the founders that the project would proceed as a non-profit. Hoskinson left the project at that time.
Ethereum has an unusually long list of founders. Anthony Di Iorio wrote "Ethereum was founded by Vitalik Buterin, Myself, Charles Hoskinson, Mihai Alisie, & Amir Chetrit in December 2013. Joseph Lubin, Gavin Wood, & Jeffrey Wilke were added in early 2014 as founders." Formal development of the Ethereum software project began in early 2014 through a Swiss company, Ethereum Switzerland GmbH.
The basic idea of putting executable smart contracts in the blockchain needed to be specified before the software could be implemented; this work was done by Gavin Wood, then chief technology officer, in the Ethereum Yellow Paper that specified the Ethereum Virtual Machine.
Subsequently, a Swiss non-profit foundation, the Ethereum Foundation, was created as well. Development was funded by an online public crowdsale during July–August 2014, with the participants buying the Ethereum value token with another digital currency, Bitcoin.
While there was early praise for the technical innovations of Ethereum, questions were also raised about its security and scalability.
In 2019, an Ethereum foundation employee named Virgil Griffith was arrested by the US government for presenting at a blockchain conference in North Korea.

Enterprise Ethereum Alliance (EEA)

In March 2017, various blockchain start-ups, research groups, and Fortune 500 companies announced the creation of the Enterprise Ethereum Alliance with 30 founding members. By May, the nonprofit organization had 116 enterprise members—including ConsenSys, CME Group, Cornell University's research group, Toyota Research Institute, Samsung SDS, Microsoft, Intel, J. P. Morgan, Cooley LLP, Merck KGaA, DTCC, Deloitte, Accenture, Banco Santander, BNY Mellon, ING, and National Bank of Canada. By July 2017, there were over 150 members in the alliance, including recent additions MasterCard, Cisco Systems, Sberbank and Scotiabank.

Milestones

Several codenamed prototypes of the Ethereum platform were developed by the Ethereum Foundation, as part of their Proof-of-Concept series, prior to the official launch of the Frontier network. "Olympic" was the last of these prototypes, and public beta pre-release. The Olympic network provided users with a bug bounty of 25,000 Ether for stress testing the limits of the Ethereum blockchain. "Frontier" marked the tentative experimental release of the Ethereum platform in July 2015.
Since the initial launch, Ethereum has undergone several planned protocol upgrades, which are important changes affecting the underlying functionality and/or incentive structures of the platform.
Protocol upgrades are accomplished by means of a hard fork.

Difficulty Bomb and The Ice Age

The Ethereum Difficulty bomb is the difficulty of the blockchain mining algorithm puzzle which began increasing in November 2016, from block 200,000. The onset of the Difficulty Bomb is referred to as Ethereum's Ice Age, as the Ethereum network started the transition from Proof of Work to Proof of Stake. A difficulty bomb was scheduled in February 2019 but was pushed back by developers.

The DAO event

In 2016 a decentralized autonomous organization called The DAO, a set of smart contracts developed on the platform, raised a record in a crowdsale to fund the project. The DAO was exploited in June when in Ether were taken by an unknown hacker. The event sparked a debate in the crypto-community about whether Ethereum should perform a contentious "hard fork" to reappropriate the affected funds. As a result of the dispute, the network split in two. Ethereum continued on the forked blockchain, while Ethereum Classic continued on the original blockchain. The hard fork created a rivalry between the two networks.
After the hard fork related to The DAO, Ethereum subsequently forked twice in the fourth quarter of 2016 to deal with other attacks. By the end of November 2016, Ethereum had increased its DDoS protection, de-bloated the blockchain, and thwarted further spam attacks by hackers.

Ethereum 2.0

Development is underway for a major upgrade to the Ethereum platform, known as Ethereum 2.0.
The Ethereum 2.0 upgrade is designed to be launched in three phases:
  1. "Phase 0" will create the Beacon Chain, a proof-of-stake blockchain that will serve as the backbone of Ethereum 2.0
  2. "Phase 1" will create shard chains and connect them to the Beacon Chain
  3. "Phase 2" will implement state execution in the shard chains. The current Ethereum 1.0 chain is expected to become one of the shards of Ethereum 2.0.
Ethereum 2.0 has five main design goals:
  1. Minimize complexity by simplifying the Ethereum blockchain, even at the cost of efficiency.
  2. Improve up-time and keep the Ethereum network live during major network splits.
  3. Ensure longevity by building Ethereum 2.0 with elements which are either quantum secure or can be easily swapped out for quantum secure replacements when available.
  4. Increase security by using design techniques which allow a large number of validators to secure the network by staking their ETH holdings.
  5. Reduce barriers to entry, making it possible for a typical laptop to process or validate shards.

    Characteristics

As with other cryptocurrencies, the validity of each Ether is provided by a blockchain, which is a continuously growing list of records, called blocks, which are linked and secured using cryptography. By design, the blockchain is inherently resistant to modification of the data. It is an open, distributed ledger that records transactions between two parties efficiently and in a verifiable and permanent way. Unlike Bitcoin, Ethereum operates using accounts and balances in a manner called state transitions. This does not rely upon unspent transaction outputs. The state denotes the current balances of all accounts and extra data. The state is not stored on the blockchain, it is stored in a separate Merkle Patricia tree. A cryptocurrency wallet stores the public and private "keys" or "addresses" which can be used to receive or spend ether. These can be generated through BIP 39 style mnemonics for a BIP 32 "HD Wallet". In Ethereum, this is unnecessary as it does not operate in a UTXO scheme. With the private key, it is possible to write in the blockchain, effectively making an Ether transaction.
To send the Ethereum value token Ether to an account, you need the Keccak-256 hash of the public key of that account. Ethereum accounts are pseudonymous in that they are not linked to individual persons, but rather to one or more specific addresses.

Ether

Ether is a fundamental token for operation of Ethereum, which thereby provides a public distributed ledger for transactions. It is used to pay for gas, a unit of computation used in transactions and other state transitions. Mistakenly, this currency is also referred to as Ethereum.
It is listed under the ticker symbol ETH and traded on cryptocurrency exchanges, and the Greek uppercase Xi character is generally used for its currency symbol. It is also used to pay for transaction fees and computational services on the Ethereum network.

Addresses

Ethereum addresses are composed of the prefix "0x", a common identifier for hexadecimal, concatenated with the rightmost 20 bytes of the Keccak-256 hash of the ECDSA public key. In hexadecimal, 2 digits represent a byte, meaning addresses contain 40 hexadecimal digits. An example of an Ethereum address is 0xb794f5ea0ba39494ce839613fffba74279579268. Contract addresses are in the same format, however, they are determined by sender and creation transaction nonce. User accounts are indistinguishable from contract accounts given only an address for each and no blockchain data. Any valid Keccak-256 hash put into the described format is valid, even if it does not correspond to an account with a private key or a contract. This is unlike Bitcoin, which uses base58check to ensure that addresses are properly typed.

Comparison to bitcoin

Ethereum is different from Bitcoin in several aspects:
The total supply of Ether was around Ξ110.5 million as of 16 April 2020. In 2017, mining generated 9.2 million new ether, corresponding to a 10% increase in its total supply. Casper the Friendly Finality Gadget, which is a hybrid Proof of Work and Proof of Stake scheme, and Casper Correct-By-Construction, a separate Proof of Stake design of Casper, are expected to reduce the inflation rate to between 0.5% to 2%. There is no currently implemented hard cap on the total supply of ETH.

Markets and stores

Ether can be traded by regular currency brokers, cryptocurrency exchanges, as well as many online cryptocurrency wallets.

Platform

Virtual Machine

The Ethereum Virtual Machine is the runtime environment for smart contracts in Ethereum. It is a 256-bit register stack, designed to run the same code exactly as intended. It is the fundamental consensus mechanism for Ethereum. The formal definition of the EVM is specified in the Ethereum Yellow Paper. Ethereum Virtual Machines have been implemented in C++, C#, Go, Haskell, Java, JavaScript, Python, Ruby, Rust, Elixir, Erlang, and soon, WebAssembly.

Smart contracts

Ethereum's smart contracts are based on different computer languages, which developers use to program their own functionalities. Smart contracts are high-level programming abstractions that are compiled down to EVM bytecode and deployed to the Ethereum blockchain for execution. They can be written in Solidity, Serpent, LLL, and Mutan. There is also a research-oriented language under development called Vyper.
Smart contracts can be public, which opens up the possibility to prove functionality, e.g. self-contained provably fair casinos.
One issue related to using smart contracts on a public blockchain is that bugs, including security holes, are visible to all but cannot be fixed quickly. One example of this is the 17 June 2016 attack on The DAO, which could not be quickly stopped or reversed.
There is ongoing research on how to use formal verification to express and prove non-trivial properties. A Microsoft Research report noted that writing solid smart contracts can be extremely difficult in practice, using The DAO hack to illustrate this problem. The report discussed tools that Microsoft had developed for verifying contracts, and noted that a large-scale analysis of published contracts is likely to uncover widespread vulnerabilities. The report also stated that it is possible to verify the equivalence of a Solidity program and the EVM code.

Applications

Ethereum apps are written in one of seven different Turing-complete languages. Developers use the language to create and publish applications which they know will run inside Ethereum. The stablecoins Tether and DAI, and the prediction market Augur are examples of applications that run on Ethereum.
Many uses have been proposed for the Ethereum platform, including ones that are impossible or unfeasible. Use case proposals have included finance, the internet-of-things, farm-to-table produce, electricity sourcing and pricing, and sports betting. Ethereum is the leading blockchain platform for initial coin offering projects, with over 50% market share.

Enterprise software

Ethereum-based customized software and networks, independent from the public Ethereum chain, are being tested by enterprise software companies. Interested parties include Microsoft, IBM, JPMorgan Chase, Deloitte, R3, Innovate UK. Barclays, UBS and Credit Suisse are experimenting with Ethereum.

Permissioned ledgers

Ethereum-based permissioned blockchain variants are used and being investigated for various projects.
In Ethereum all smart contracts are stored publicly on every node of the blockchain, which has costs. Being a blockchain means it is secure by design and is an example of a distributed computing system with high Byzantine fault tolerance. The downside is that performance issues arise in that every node is calculating all the smart contracts in real time, resulting in lower speeds. As of January 2016, the Ethereum protocol could process about 25 transactions per second. In comparison, the Visa payment platform processes 45,000 payments per second leading some to question the scalability of Ethereum. On 19 December 2016, Ethereum exceeded one million transactions in a single day for the first time.
Ethereum engineers have been working on sharding the calculations, and the next step was presented at Ethereum's Devcon 3 in November 2017.
Ethereum's blockchain uses Merkle trees, for security reasons, to improve scalability, and to optimize transaction hashing. As with any Merkle tree implementation, it allows for storage savings, set membership proofs, and light client synchronization. The Ethereum network has at times faced congestion problems, for example, congestion occurred during late 2017 in relation to Cryptokitties.

Decentralized Finance (DeFi)

Decentralized Finance is a fast growing use case of Ethereum. It offers traditional financial instruments in a decentralized architecture, outside of companies’ and governments’ control, such as money market funds which let users earn interest. This economic model is based on supply and demand DeFi assets such as DAI, Compound, WBTC and others. There is still uncertainty of its future because of the lack of regulation.

Development governance and EIP

In October 2015, a development governance was proposed as Ethereum Improvement Proposal, aka EIP, standardized on EIP-1. The core development group and community were to gain consensus by a process regulated EIP.

Criticisms

Izabella Kaminska, the editor of FT Alphaville, pointed out in 2017 that criminals were using Ethereum to run Ponzi schemes and other forms of investment fraud. The article was based on a paper from the University of Cagliari, which placed the number of Ethereum smart contracts which facilitate Ponzi schemes at nearly 10% of 1384 smart contracts examined. However, it also estimated that only 0.05% of the transactions on the network were related to such contracts.