Ethereum
Ethereum is a decentralized, open-source blockchain with smart contract functionality. Ether (ETH or Ξ) is the native cryptocurrency of the platform. Among cryptocurrencies, Ether is second only to Bitcoin in market capitalization.

Ethereum was conceived in 2013 by programmer Vitalik Buterin. Additional founders of Ethereum included Gavin Wood, Charles Hoskinson, Anthony Di Iorio and Joseph Lubin. In 2014, development work commenced and was crowdfunded, and the network went live on 30 July 2015. The platform allows anyone to deploy permanent and immutable decentralized applications onto it, with which users can interact. Decentralized finance (DeFi) applications provide a broad array of financial services without the need for typical financial intermediaries like brokerages, exchanges, or banks, such as allowing cryptocurrency users to borrow against their holdings or lend them out for interest. Ethereum also allows for the creation and exchange of NFTs, which are non-interchangeable tokens connected to digital works of art or other real-world items and sold as unique digital property. Additionally, many other cryptocurrencies operate as ERC-20 tokens on top of the Ethereum blockchain and have utilized the platform for initial coin offerings.

Ethereum has started implementing a series of upgrades called Ethereum 2.0, which includes a transition to proof of stake and aims to increase transaction throughput using sharding.

History

Founding (2013–2014) 

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 argued to the bitcoin core developers that Bitcoin and blockchain technology could benefit from other applications besides money and needed a more robust language for application development that could lead to attaching real-world assets, such as stocks and property, to the blockchain. In 2013, Buterin briefly worked with eToro CEO Yoni Assia on the Colored Coins project and drafted its white paper outlining additional use cases for blockchain technology. However, after failing to gain agreement on how the project should proceed, he proposed the development of a new platform with a more robust scripting language—a Turing-complete programming language—that would eventually become Ethereum.

Ethereum was announced at the North American Bitcoin Conference in Miami, in January 2014. During the conference, Gavin Wood, Charles Hoskinson, and Anthony Di Iorio (who financed the project) rented a house in Miami with Buterin to develop a fuller sense of what Ethereum might become. Di Iorio invited friend Joseph Lubin, who invited reporter Morgen Peck, to bear witness. Peck subsequently wrote about the experience in Wired. 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 and soon after founded IOHK, a blockchain company responsible for Cardano.

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 (the initial 5) in December 2013. Joseph Lubin, Gavin Wood, & Jeffrey Wilcke were added in early 2014 as founders." Buterin chose the name Ethereum after browsing a list of elements from science fiction on Wikipedia. He stated, "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 [it] sounded nice and it had the word 'ether', referring to the hypothetical invisible medium that permeates the universe and allows light to travel." Buterin wanted his platform to be the underlying and imperceptible medium for the applications running on top of it.

Development (2014) 
Formal development of the software began in early 2014 through a Swiss company, Ethereum Switzerland GmbH (EthSuisse).
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 the chief technology officer, in the Ethereum Yellow Paper that specified the Ethereum Virtual Machine. Subsequently, a Swiss non-profit foundation, the Ethereum Foundation (Stiftung Ethereum), was created as well. Development was funded by an online public crowdsale from July to 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.

Launch and the DAO event (2014–2016) 

Several codenamed prototypes of Ethereum were developed over 18 months in 2014 and 2015 by the Ethereum Foundation as part of their proof-of-concept series. "Olympic" was the last prototype 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. In July 2015, "Frontier" marked the official launch of the Ethereum platform as Ethereum created its "genesis block."

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.

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 2016 when  of DAO tokens were stolen 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. It resulted in the network splitting into two blockchains: Ethereum with the theft reversed and Ethereum Classic which continued on the original chain. The hard fork created a rivalry between the two networks. After the hard fork, Ethereum subsequently forked twice in the fourth quarter of 2016 to deal with other attacks.

Continued development and milestones (2017–present) 
In March 2017, various blockchain startups, research groups, and Fortune 500 companies announced the creation of the Enterprise Ethereum Alliance (EEA) with 30 founding members. By May 2017, 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 MasterCard, Cisco Systems, Sberbank, and Scotiabank.

In January 2018, Ethereum was the second largest cryptocurrency in terms of market capitalization, behind Bitcoin. , it maintained that relative position.

After the Constantinople upgrade on 28 February 2019, there were two network upgrades made within a month late in the year:  Istanbul on 8 December 2019 and Muir Glacier on 2 January 2020.

In 2019, Ethereum Foundation employee Virgil Griffith was arrested by the US government for presenting at a blockchain conference in North Korea. He would later plead guilty to the charges in 2021.

In March 2021, Visa Inc. announced that it began settling stablecoin transactions using Ethereum. In April 2021, JP Morgan Chase, UBS, and MasterCard announced that they were investing $65 million into ConsenSys, a software development firm that builds Ethereum-related infrastructure.

There were two network upgrades in 2021. The first was the "Berlin" upgrade, implemented on 14 April 2021. The second was "London", which took effect on 5 August. The London upgrade included Ethereum Improvement Proposal ("EIP") 1559, which introduced a mechanism for reducing transaction fee volatility. The mechanism causes a portion of the Ether paid in transaction fees each block to be destroyed rather than given to the miner, reducing the inflation rate of Ether and potentially resulting in periods of deflation.

On 27 August 2021, the blockchain experienced a brief fork that was the result of clients running different incompatible software versions.

Ethereum 2.0

Open-source development is currently underway for a major upgrade to Ethereum known as Ethereum 2.0 or Eth2. The main purpose of the upgrade is to increase transaction throughput for the network from the current of about 15 transactions per second to up to tens of thousands of transactions per second.

The stated goal is to increase throughput by splitting up the workload into many blockchains running in parallel (referred to as sharding) and then having them all share a common consensus proof-of-stake blockchain, so that to maliciously tamper with any singular chain would require one to tamper with the common consensus, which would cost the attacker far more than they could ever gain from an attack.

Ethereum 2.0 (also known as Serenity) is designed to be launched in three phases:

 "Phase 0" also known as "The Beacon Chain" was launched on 1 December 2020 and created the Beacon Chain, a proof-of-stake (PoS) blockchain that will act as the central coordination and consensus hub of Ethereum 2.0.
 "Phase 1" also known as "The Merge" will merge the Beacon Chain with the current Ethereum network, transitioning its consensus mechanism from proof-of-work to proof-of-stake. As of 26 January 2022, it is expected to be released in the second quarter of 2022.
 "Phase 2" also known as "Shard chains" will implement state execution in the shard chains with the current Ethereum 1.0 chain expected to become one of the shards of Ethereum 2.0. Shard chains will spread the network's load across 64 new chains. As of 22 January 2022, it is expected to be released in 2023.

Design
Ethereum is a permissionless, non-hierarchical network of computers (nodes) which build and come to consensus on an ever-growing series of "blocks", or batches of transactions, known as the blockchain. Each block contains an identifier of the chain that must precede it if the block is to be considered valid. Whenever a node adds a block to its chain, it executes the transactions therein in their order, thereby altering the ETH balances and other storage values of Ethereum accounts. These balances and values, collectively known as the state, are maintained on the node's computer separately from the blockchain, in a Merkle tree.

Each node communicates with a relatively small subset of the network, known as its peers. Whenever a node wishes to include a new transaction in the blockchain, it sends the transaction to its peers, who then send it to their peers, and so on. In this way, it propagates throughout the network. Certain nodes, called miners, maintain a list of all of these new transactions and use them to create new blocks, which they then send to the rest of the network. Whenever a node receives a block, it checks the validity of the block and of all of the transactions therein and, if valid, adds it to its blockchain and executes all of said transactions. Since block creation and broadcasting are permissionless, a node may receive multiple blocks competing to be the successor to a particular block. The node keeps track of all of the valid chains that result from this and regularly drops the shortest one. The Ethereum protocol states that the longest chain is to be considered the canonical one.

Ether
Ether (ETH) is the cryptocurrency generated by the Ethereum protocol as a reward to miners in a proof-of-work system for adding blocks to the blockchain. It is the only currency accepted in the payment of transaction fees, which also go to miners. The block reward together with the transaction fees provide the incentive to miners to keep the blockchain growing (i.e. to keep processing new transactions). Therefore, ETH is fundamental to the operation of the network. Each Ethereum account has an ETH balance and may send ETH to any other account. The smallest subunit of ETH is known as a Wei, named after cryptocurrency pioneer Wei Dai, and is equal to 10−18 ETH. Ether is often erroneously referred to as "Ethereum".

Ether is listed on exchanges under the currency code ETH. The Greek uppercase Xi character (Ξ) is sometimes used for its currency symbol.

The shift to Ethereum 2.0 may reduce the issuance rate of Ether. There is currently no implemented hard cap on the total supply of Ether.

Accounts
There are two types of accounts on Ethereum: user accounts (also known as externally-owned accounts) and contracts. Both types have an ETH balance, may send ETH to any account, may call any public function of a contract or create a new contract, and are identified on the blockchain and in the state by their address.

User accounts are the only type which may create transactions. For a transaction to be valid, it must be signed using the sending account's private key, the 64-character hexadecimal string from which the account's address is derived. The algorithm used to produce the signature is ECDSA. Importantly, this algorithm allows one to derive the signer's address from the signature without knowing the private key.

Contracts are the only type of account which has associated code (a set of functions and variable declarations) and contract storage (the values of the variables at any given time). A contract function may take arguments and may have return values. Within the body of a function, in addition to control flow statements, a contract's code may include instructions to send ETH, read from and write to its storage, create temporary storage (memory) that dies at the end of the function, perform arithmetic and hashing operations, call its own functions, call public functions of other contracts, create new contracts, and query information about the current transaction or the blockchain.

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 (the curve used is the so-called secp256k1). In hexadecimal, two digits represent a byte, meaning addresses contain 40 hexadecimal digits, e.g. 0xb794f5ea0ba39494ce839613fffba74279579268. Contract addresses are in the same format, however, they are determined by sender and creation transaction nonce.

Virtual machine

The Ethereum Virtual Machine (EVM) is the runtime environment for transaction execution in Ethereum. It consists of a stack, memory, gas balance, program counter, and the persistent storage for all accounts (including contract code). When a transaction calls a contract's function, the arguments in the call are added to the stack and the EVM translates the contract's bytecode into stack operations. Stack items may be stored in memory or storage, and data from memory/storage may be added to the stack. The EVM is isolated from the other files and processes on the node's computer to ensure that for a given pre-transaction state and transaction, every node produces the same post-transaction state, thereby enabling network consensus. The formal definition of the EVM is specified in the Ethereum Yellow Paper. EVMs have been implemented in C++, C#, Go, Haskell, Java, JavaScript, Python, Ruby, Rust, Elixir, Erlang, and soon WebAssembly.

Gas
Gas is a unit of account within the EVM used in the calculation of a transaction fee, which is the amount of ETH a transaction's sender must pay to the miner who includes the transaction in the blockchain.

Each type of operation which may be performed by the EVM is hardcoded with a certain gas cost, which is intended to be roughly proportional to the amount of resources (computation and storage) a node must expend to perform that operation. When creating a transaction, the sender must specify a gas limit and gas price. The gas limit is the maximum amount of gas the sender is willing to use in the transaction, and the gas price is the amount of ETH the sender wishes to pay to the miner per unit of gas used. The higher the gas price, the more incentive a miner has to include the transaction in their block, and thus the quicker the transaction will be included in the blockchain. The sender buys the full amount of gas (i.e. the gas limit) up-front, at the start of the execution of the transaction, and is refunded at the end for any gas not used. If at any point the transaction does not have enough gas to perform the next operation, the transaction is reverted but the sender still pays for the gas used. Gas prices are typically denominated in Gwei, a subunit of ETH equal to 10−9 ETH.

This fee mechanism is designed to mitigate transaction spam, prevent infinite loops during contract execution, and provide for a market-based allocation of network resources.

Governance

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

Difficulty bomb
The difficulty bomb is an Ethereum protocol feature that causes the difficulty of mining a block to increase exponentially over time after a certain block is reached, with the intended purpose being to incentivize upgrades to the protocol and prevent miners from having too much control over upgrades. As the protocol is upgraded, the difficulty bomb is typically pushed further out in time. The protocol has included a difficulty bomb from the beginning, and the bomb has been pushed back several times. It was originally placed there primarily to ensure a successful upgrade from proof of work to proof of stake, an upgrade which removes miners entirely from the design of the network. The period during which the mining difficulty is increasing is known as the "Ice Age".

Comparison to Bitcoin
Bitcoin's primary use case is that it is a store of value and a digital currency. Ether can also be used as a digital currency and store of value, but the Ethereum network makes it also possible to create and run decentralized applications and smart contracts. Blocks are validated approximately every 12 seconds on Ethereum as opposed to approximately every 10 minutes on Bitcoin. Additionally, Bitcoin has a fixed supply of 21,000,000 coins, whereas Ether has no supply cap. Ether and Bitcoin are both mined through proof-of-work and can be purchased on cryptocurrency exchanges.

Applications
The EVM's instruction set is Turing-complete. Popular uses of Ethereum have included the creation of fungible (ERC20) and non-fungible (ERC721) tokens with a variety of properties, crowdfunding (e.g. initial coin offerings), decentralized finance, decentralized exchanges, decentralized autonomous organizations (DAOs), games, prediction markets, and gambling.

Contract source code
Ethereum's smart contracts are written in high-level programming languages and then compiled down to EVM bytecode and deployed to the Ethereum blockchain. They can be written in Solidity (a language library with similarities to C and JavaScript), Serpent (similar to Python, but deprecated), Yul (an intermediate language that can compile to various different backends – EVM 1.0, EVM 1.5 and eWASM are planned), LLL (a low-level Lisp-like language), and Mutan (Go-based, but deprecated). There was also a research-oriented language under development called Vyper (a strongly-typed Python-derived decidable language). Source code and compiler information are usually published along with the launch of the contract so that users can see the code and verify that it compiles to the bytecode that is on-chain.

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 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.

ERC-20 tokens
The ERC-20 (Ethereum Request for Comments 20) Token Standard allows for fungible tokens on the Ethereum blockchain. The standard, proposed by Fabian Vogelsteller in November 2015, implements an API for tokens within smart contracts. The standard provides functions including the transfer of tokens from one account to another, getting the current token balance of an account and getting the total supply of the token available on the network. Smart contracts that correctly implement ERC-20 processes are called ERC-20 Token Contracts, and help keep track of the created tokens on Ethereum. Numerous cryptocurrencies have launched as ERC-20 tokens and have been distributed through initial coin offerings. Fees to send ERC-20 tokens must be paid with Ether.

Non-fungible tokens (NFTs)

Ethereum also allows for the creation of unique and indivisible tokens, called non-fungible tokens (NFTs). Since tokens of this type are unique, they have been used to represent such things as collectibles, digital art, sports memorabilia, virtual real estate, and items within games. The first NFT project, Etheria, a 3D map of tradable and customizable hexagonal tiles, was deployed to the network in October 2015 and demonstrated live at DEVCON1 in November of that year. In 2021, Christie's sold a digital image with an NFT by Beeple for $69.3 million, making him the third-most valuable living artist in terms of auction prices at the time. Land, buildings and avatars in blockchain-based virtual worlds can also be bought and sold as NFTs, sometimes for hundreds of thousands of dollars.

Decentralized finance

Decentralized finance (DeFi) is a 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. Decentralized finance applications are typically accessed through a Web3-enabled browser extension or application, such as MetaMask, which allows users to directly interact with the Ethereum blockchain through a website. Many of these DApps can connect and work together to create complex financial services.

Examples of DeFi platforms include MakerDAO and Compound. Uniswap, a decentralized exchange for tokens on Ethereum grew from $20 million in liquidity to $2.9 billion in 2020. As of October 2020, over $11 billion was invested in various DeFi protocols. Additionally, through a process called "wrapping", certain DeFi protocols allow synthetic versions of various assets (such as Bitcoin, gold and oil) to become available and tradeable on Ethereum and also compatible with all of Ethereum's major wallets and applications.

Enterprise software 
Ethereum-based 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, and Innovate UK (cross-border payments prototype). Barclays, UBS, Credit Suisse, Amazon, Visa, and other companies are also experimenting with Ethereum.

Permissioned ledgers 
Ethereum-based permissioned blockchain variants are used and being investigated for various projects.
 In 2017, JPMorgan Chase proposed developing JPM Coin on a permissioned-variant of Ethereum blockchain dubbed "Quorum". It 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."
 The 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.

Performance 
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. 'Secure by design' means that every new transaction is recorded on a new 'block', which is connected to previous and future 'blocks', like a chain. Fraudsters wishing to tamper with one transaction/block would have to tamper all preceding and following blocks, which is possible, but extremely hard.

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. Visa has also signaled interest in processing NFT and Ethereum transactions.

Ethereum engineers have been working on sharding the calculations, and the next step (Ethereum 2) 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 (called "Merkle proofs"), and light client synchronization. The network has faced congestion problems, such as in 2017 in relation to Cryptokitties.

Environmental impact 
As other crypto currencies Ethereum has faced criticism about it's environmental impact. Ethereum annualy uses 112 TWh of electrical energy and has a carbon footprint of 53 mega tons of CO2. A single Ethereum transaction uses 262 kWh which is comparable to what a U.S. household uses in a workweek. Ethereum has promised to bring down it's environmental impact by 99% with Ethereum 2.0 by switching from a proof of work to a proof of stake which will eliminate energy-wasting mining.

References

External links 

2015 software
Blockchains
Cross-platform software
Cryptocurrency projects
Currencies introduced in 2015
Directed acyclic graphs