About

Ethereum is an open-source, public, blockchain-based distributed computing platform featuring smart contract (scripting) functionality. It provides a decentralized Turing-complete virtual machine, the Ethereum Virtual Machine (EVM), which can execute scripts using an international network of public nodes. Ethereum also provides a cryptocurrency token called "ether", which can be transferred between accounts and used to compensate participant nodes for computations performed. "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 during July–August 2014. The system went live on 30 July 2015. In 2016 Ethereum was forked into two blockchains, as a result of the collapse of The DAO project, thereby creating Ethereum Classic.

History

Origin
Ethereum was initially described in a white paper by Vitalik Buterin, a programmer involved with Bitcoin, 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 development of a new platform with a more general scripting language. At the time of public announcement in January 2014, the core Ethereum team was Vitalik Buterin, Mihai Alisie, Anthony Di Iorio, and Charles Hoskinson. Formal development of the Ethereum software project began in early 2014 through a Swiss company, Ethereum Switzerland GmbH (EthSuisse). Subsequently, a Swiss non-profit foundation, the Ethereum Foundation (Stiftung Ethereum) was set up as well. Development was funded by an online public crowdsale during July–August 2014, with the participants buying the Ethereum value token (ether) 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.

Milestones
Several prototypes of the Ethereum platform were developed by the Foundation, as part of their Proof-of-Concept series, prior to the official launch of the Frontier network. The last of these prototypes culminated in a public beta pre-release known as "Olympic". The Olympic network provided users with a bug bounty of 25,000 ether for stress testing the limits of the Ethereum blockchain. After Olympic, the Foundation announced the beginning of the Frontier network to mark the tentative experimental release of the Ethereum platform in July 2015. Since the initial launch, Ethereum has undergone several planned protocol upgrades called milestones, which are important changes affecting the underlying functionality and/or incentive structures of the platform. The current milestone is named "Homestead" and is considered stable. It includes improvements to transaction processing, gas pricing, and security. There are at least two other protocol upgrades planned in the future, i.e. Metropolis and Serenity. Metropolis is intended to reduce the complexity of the EVM and provide more flexibility for smart contract developers. The move to Serenity is still uncertain, but should include a fundamental change to Ethereum's consensus algorithm to enable a basic transition from hardware mining (proof-of-work) to virtual mining (proof-of-stake). Improvements to scalability, specifically sharding, are also said to be a key objective on the development roadmap. Version Code name Release date 0 Olympic May, 2015 | 1 Frontier 30 July 2015 | 2 Homestead 14 March 2016 | 3 Metropolis late September 2017 | 4 Serenity TBA | Old versionOlder version, still supportedLatest versionFuture release

The DAO event
In 2016 a decentralized autonomous organization called The DAO, a set of smart contracts developed on the platform, raised a record US$150 million in a crowdsale to fund the project. The DAO was exploited in June when US$50 million in ether were claimed by an anonymous entity. The event sparked a debate in the crypto-community about whether Ethereum should perform a contentious "hard fork" to reappropriate the stolen funds. As a result of the dispute, the network split in two, Ethereum (the subject of this article) and Ethereum Classic. The hard fork created a rivalry between the two networks.

Hard Forks
After the initial hard fork related to The DAO, Ethereum subsequently forked two times 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.

Architecture

Ether
Ether Symbol Ξ or ETH. The value token of the Ethereum blockchain is called ether. It is listed under the code ETH and traded on cryptocurrency exchanges. It is also used to pay for transaction fees and computational services on the Ethereum network. Tokens can be volatile per circumstances, such as ether's plunge from $21.50 to $8 when The DAO was hacked on 17 June 2016. As of June 2017, the value of ether had risen to more than $400, a 5,000% rise since the beginning of the year. Volatility continued, however, including a "flash crash" triggered by a large sell order on one exchange which briefly dropped the price to $0.10, after which it recovered to more than $300.

Ethereum Virtual Machine
The Ethereum Virtual Machine (EVM) is the runtime environment for smart contracts in Ethereum. The formal definition of the EVM is specified in the Ethereum Yellow Paper, original version by Gavin Wood. It is sandboxed and also completely isolated from the network, filesystem or other processes of the host computer system. Every Ethereum node in the network runs an EVM implementation and executes the same instructions. Ethereum Virtual Machines have been implemented in C++, Go, Haskell, Java, Python, Ruby, Rust, and WebAssembly (currently under development).

Smart contracts
Main article: Smart contract Smart contracts are deterministic exchange mechanisms controlled by digital means that can carry out the direct transaction of value between untrusted agents. They can be used to facilitate, verify, and enforce the negotiation or performance of economically-laden procedural instructions and potentially circumvent censorship, collusion, and counter-party risk. In Ethereum, smart contracts are treated as autonomous scripts or stateful decentralized applications that are stored in the Ethereum blockchain for later execution by the EVM. Instructions embedded in Ethereum contracts are paid for in ether (or more technically "gas") and can be implemented in a variety of Turing complete scripting languages.

Contracts on the public blockchain
As the contracts can be public, it 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.

Programming languages
Main article: Solidity 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 (a language library with similarities to C and JavaScript), Serpent (similar to Python), LLL (a low-level Lisp-like language), and Mutan (Go-based, but deprecated). There is also a research-oriented language under development called Viper (a strongly-typed Python-derived decidable language).

Performance
In Ethereum all smart contracts are stored publicly on every node of the blockchain, which has trade-offs. The downside is that performance issues arise in that every node is calculating all the smart contracts in real time, resulting in lower speeds. Ethereum engineers have been working on sharding the calculations, but no solution had been detailed by early 2016. As of January 2016, the Ethereum protocol could process 25 transactions per second. In September 2016, Buterin presented proposals to increase scalability. Buterin and Joseph Poon (a co-author of Bitcoin's lightning network whitepaper) announced in 2017 their plan to launch a scaling solution called Plasma which creates "child" blockchains to the "main" parent blockchain. The plasma project is not without skeptics, specifically Vlad Zamfir (Ethereum's lead researcher on proof of stake) has publically questioned the plasma project's viability.

Ether supply increase rate
The supply of Ether was projected to increase by 14.75% in 2017, gradually declining to 1.59% by 2065. However, a new implementation of Ethereum named "Casper" based on proof of stake rather than proof of work is expected to reduce the inflation rate to between 0.5% to 2%.

Proposed uses
Many uses have been proposed for Ethereum platform, including ones that are impossible or unfeasible. Use cases proposals have included finance, the internet-of-things, farm-to-table produce, electricity sourcing and pricing, and sports betting. Ethereum is (as of 2017) the leading blockchain platform for initial coin offering project with over 50% market share.