Ethereum

Ethereum is a decentralized, open-source blockchain with smart contract functionality. Ether (ETH) is the native cryptocurrency of the platform. It is the second-largest cryptocurrency by market capitalization, after Bitcoin. Ethereum is the most actively used blockchain.
Ethereum was proposed in 2013 by programmer Vitalik Buterin. Development was crowdfunded in 2014, and the network went live on 30 July 2015, with an initial supply of 72 million coins. The platform allows developers to build and operate decentralized applications that users can interact with. Decentralized finance (DeFi) applications provide a broad array of financial services without the need for typical financial intermediaries such as 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 that can be 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 it for initial coin offerings.
In 2016, a hacker exploited a flaw in a third-party project called The DAO and stole $50 million of Ether. As a result, the Ethereum community voted to hard fork the blockchain to reverse the theft and Ethereum Classic (ETC) continued as the original chain.
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.
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 that Bitcoin and blockchain technology could benefit from other applications besides money and needed a scripting 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 general scripting 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.
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." 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.
In 2019, Ethereum Foundation employee Virgil Griffith was arrested by the US government for presenting at a blockchain conference in North Korea.
Etymology.
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.
Launch and milestones.
Several codenamed prototypes of Ethereum were developed 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 tentative experimental release of the Ethereum platform.
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. The latest upgrade to Ethereum was "Berlin", implemented on April 14, 2021. The next upgrade, "London", is slated to be launched in July. London will include Ethereum Improvement Proposal ("EIP") 1559, which will destroy Ether that is used for transaction fees as opposed to providing them to miners, potentially decreasing the overall supply.
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 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.
Enterprise Ethereum Alliance and Corporate Adoption.
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 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.
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:
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 block that it must immediately follow in the chain if it 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. As the network is non-hierarchical, a node may receive competing blocks, which may form competing chains. The network comes to consensus on the blockchain by following the "longest-chain rule", which states that the chain with the most blocks at any given time is the canonical chain. This rule achieves consensus because miners do not want to expend their computational work trying to add blocks to a chain that will be abandoned by the network.
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 and is equal to 10−18 ETH. Ether is often erroneously referred to as "Ethereum".
Ether is listed on exchanges under the ticker symbol 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, a 64-character hexadecimal string that should only be known to the account's owner. The signature algorithm used 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). Contracts are passive entities, only able to do anything as a result of an account calling one of its functions. During the execution of its code, a contract may: send ETH, read from and write to its storage, create temporary storage (memory) that dies at the end of the function, call any of its own functions, call any public function of a different contract, create a new contract, 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, 2 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 smart contracts in Ethereum. It is a 256-bit register stack designed to run the same code exactly as intended. 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. Ethereum 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 Ethereum has no supply cap. Ethereum 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, meaning Ethereum contracts can do anything that computer programs in general can do. 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 digital art, sports memorabilia, virtual real estate, and items within games. NFTs generally sell on the Ethereum blockchain through various digital auction websites. Christie's sold a piece of NFT artwork by Beeple for $69.3 million, making him the third-most valuable living artist in terms of auction prices at the time. Unique 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.
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. 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 (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.