Ethereum is an open-source, public, blockchain-based distributed computing platform featuring smart contract (scripting) functionality.[2] It provides a decentralized Turing-completevirtual 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 prevent spam and allocate resources on the network.[2][3]

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.[4] The system went live on 30 July 2015, with 11.9 million coins "premined" for the crowdsale.[5] This accounts for approximately 13 percent of the total circulating supply.

In 2016 Ethereum was forked into two blockchains, as a result of the collapse of The DAO project. The two chains have different numbers of users, and the minority fork was renamed to Ethereum Classic[6]. The majority fork has retained the name Ethereum (the subject of this article).[7][8][9][10]

The value token of the Ethereum blockchain is called ether. It is listed under the diminutive ETH and traded on cryptocurrency exchanges. It is also used to pay for transaction fees and computational services on the Ethereum network.[11]

Tokens can be volatile per circumstances, such as ether's plunge from $21.50 to $8 when The DAO was hacked on June 17, 2016.[12]

The Ethereum Virtual Machine (EVM)[13][14] is the runtime environment for smart contracts in Ethereum. The formal definition of the EVM is specified in the Ethereum Yellow Paper by Gavin Wood.[15][16] 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).[17][18][19]

Smart contracts are deterministic exchange mechanisms controlled by digital means that can carry out the direct transaction of value between untrusted agents.[20] 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.[2][21]

As the contracts can be public, it opens up the possibility to prove functionality, e.g. self-contained provably fair casinos.[22]

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.[23] One example of this is the 17 June 2016 attack on The DAO, which could not be quickly stopped or reversed.[24]

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.[25]

In Ethereum all smart contracts are stored publicly on every node of the blockchain, which has trade-offs.[28]The downside is that performance issues arise in that every node is calculating all the smart contracts in real time, resulting in slower speeds.[28] Ethereum engineers have been working on sharding the calculations, but no solution had been detailed by early 2016.[28] As of January 2016, the Ethereum protocol could process 25 transactions per second.[28] In September 2016, Buterin presented proposals to increase scalability.[29]

The Ethereum platform has multiple proposed uses. Bloomberg describes it as "shared software that can be used by all but is tamperproof."[30] Ethereum is used as a platform for decentralized applications, decentralized autonomous organizations and smart contracts, with "dozens of functioning applications" built on it by March 2016 according to the New York Times.[11][31] The intended scope of applications include projects related to finance, the internet-of-things, farm-to-table produce, electricity sourcing and pricing, and sports betting.[11]Decentralized autonomous organizations may enable a wide range of possible business models that were previously impossible or too costly to run.[32]

J.P. Morgan Chase is developing a blockchain, atop Ethereum. The system, dubbed "Quorum," is designed to toe the line between private and public in the realm of shuffling derivatives and payments. The idea is to satisfy regulators who need seamless access to financial goings-on, while protecting the privacy of parties that don’t wish to reveal their identities nor the details of their transactions to the general public.[66]

Royal Bank of Scotland has announced that it has built a Clearing and Settlement Mechanism (CSM) based on the Ethereum distributed ledger and smart contract platform.[67][68]

Ethereum was initially described in a white paper by Vitalik Buterin,[69] a programmer involved with Bitcoin, in late 2013 with a goal of building decentralized applications.[70][71] 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.[72]:88

The Ethereum software project was initially developed in early 2014 by a Swiss company, Ethereum Switzerland GmbH (EthSuisse).[73][74] Subsequently, a Swiss non-profit foundation, the Ethereum Foundation (Stiftung Ethereum) was set up as well.[4] 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.[4] While there was early praise for the technical innovations of Ethereum, questions were also raised about its security and scalability.[70]

Ethereum's live blockchain was launched on 30 July 2015.[75][76] The initial version of Ethereum—called "Frontier"—uses a proof of work consensus algorithm, although a later version is expected to replace that with a proof of stake algorithm.[72]:32

Since the initial launch, the Ethereum network has undergone several planned protocol upgrades called milestones, which are important changes affecting the overall design or functionality of the platform.

Ethereum earned notable media coverage in 2016 when a decentralized autonomous organization[78][79] called The DAO,[54] a set of smart contracts developed on the platform, raised a record USD$150M in a crowdsale to fund the project. The DAO was subjected to a spectacular exploit in June where USD$50M in ether were claimed by an anonymous entity.[24][12] The event sparked a significant debate in the crypto-community about whether Ethereum should perform a contentious "hard fork" to reappropriate the stolen funds.[80] As a result of the dispute, the network split in two. A minority who rejected the protocol update adopted the pre-fork version of the Ethereum blockchain and called it Ethereum Classic,[6] while the vast majority who supported it chose to move forward with the official post-fork Ethereum blockchain.[7][8][9][10]

The DAO incident created a schism between Ethereum and Ethereum Classic that has, according to some observers, spawned a bitter economic and psychological rivalry between the two networks.[81][82][83] The rivalry is a continuation of the hard fork dispute, where the anti-fork side (now called Ethereum Classic) argued for blockchain immutability, code is law, and essentially rebellion[84][85][86] against the pro-fork side (Ethereum) which largely argued for extra-protocol intentionality, decentralized decision-making, and conflict resolution.[87][88][89] Various critics of Ethereum Classic have denounced it as a scam[90][91] and a potential theft of intellectual property,[92] with similar controversial remarks being made on behalf of the opposing camp.[93] Ethereum Classic (ETC) has retained some users of Ethereum and has also attracted others from the wider crypto-community who reject contentious forks on ideological grounds. The project, however, is not officially supported by the Ethereum Foundation,[9][94] nor is it generally endorsed by the consortium of developers,[95][96] business partners, miners, and users of the Ethereum ecosystem.

After The DAO fork, Ethereum subsequently forked multiple times to deal with other attacks.[97] By the end of November 2016, Ethereum had increased its DDoS protection, de-bloated the blockchain, and thwarted further spam attacks by hackers.[98]" Continues.