# Ethereum

Ethereum is a decentralized blockchain with smart contract functionality. Ether (abbreviation: ETH) is the native cryptocurrency of the platform. Among cryptocurrencies, ether is second only to bitcoin in market capitalization. It is open-source software.
Ethereum was conceived in 2013 by programmer Vitalik Buterin. Other founders include Gavin Wood, Charles Hoskinson, Anthony Di Iorio, and Joseph Lubin. In 2014, development work began and was crowdfunded, and the network went live on 30 July 2015. Ethereum allows anyone to deploy decentralized applications onto it, with which users can interact. Decentralized finance (DeFi) applications provide financial instruments that do not directly rely on financial intermediaries like brokerages, exchanges, or banks. This facilitates borrowing against cryptocurrency holdings or lending them out for interest. Ethereum also allows users to create and exchange non-fungible tokens (NFTs), which are tokens that can be tied to unique digital assets, such as images. Additionally, many other cryptocurrencies utilize the ERC-20 token standard on top of the Ethereum blockchain and have utilized the platform for initial coin offerings.
On 15 September 2022, Ethereum transitioned its consensus mechanism from proof-of-work (PoW) to proof-of-stake (PoS) in an update known as "The Merge", which cut the blockchain's energy usage by 99%.

## History
### Founding (2013–2014)

Ethereum was initially described in late 2013 in a white paper by Vitalik Buterin, a programmer and co-founder of Bitcoin Magazine, that described a way to build decentralized applications. Buterin argued to the Bitcoin Core developers that blockchain technology could benefit from other applications besides money and that it needed a more robust language for application development$^{:88}$ 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 at which they could 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 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 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 underlying Ethereum began in early 2014 through a Swiss company, Ethereum Switzerland GmbH (EthSuisse). The idea of putting executable smart contracts in the blockchain needed to be specified before it could be implemented in software. 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 founded. Development was funded by an online public crowd sale from July to August 2014, in which participants bought 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.
The Foundation funded multiple teams in different cities building three separate implementations of the protocol: Geth (Go), Pyethereum (Python), a C++ implementation, and also Swarm (decentralized file storage), Mist Browser (A wallet, browser and a user interface for smart contracts, now defunct) among other projects. The intended purpose of the three distinct implementations would be so that if one of them had a bug, the other two could be used as a comparison.

### 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 gave users a bug bounty of 25,000 ether for stress-testing the Ethereum blockchain. On 30 July 2015, "Frontier" marked the official launch of the Ethereum platform, and Ethereum created its "genesis block". The genesis block contained 8,893 transactions allocating various amounts of ether to different addresses, and a block reward of 5 ETH.
Since the initial launch, Ethereum has undergone a number of 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 US$150 million in a crowd sale to fund the project. Emin Gün Sirer, Vlad Zamfir and Dino Mark had written a paper called A Call for a Temporary Moratorium on The DAO in which they described in which way the DAO might be vunerable to attacks. The DAO was exploited in June 2016 when US$50 million 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. The fork resulted in the network splitting into two blockchains: Ethereum with the theft reversed, and Ethereum Classic which continued on the original chain.

### 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 2024, Paul Brody, EEA board member for EY, was announced as the new chairperson, and Karen Scarbrough, board member for Microsoft, as the new executive director. Vanessa Grellet from Arche Capital also joined as a new board member.

#### CryptoKitties and the ERC-721 NFT standard

In 2017, CryptoKitties, the blockchain game and decentralized application (dApp) featuring digital cat artwork as NFTs, was launched on the Ethereum network. In cultivating popularity with users and collectors, it gained notable mainstream media attention providing significant exposure to Ethereum in the process. It was considered the most popular smart contract in use on the network but it also highlighted concerns over Ethereum's scalability due to the game's substantial consumption of network capacity at the time.
In January 2018, a community-driven paper (an EIP, "Ethereum Improvement Proposal") under the leadership of civic hacker and lead author William Entriken was published, called ERC-721: Non-Fungible Token Standard. It introduced ERC-721, the first official NFT standard on Ethereum. This standardization allowed Ethereum to become central to a multi-billion dollar digital collectibles market.

#### Continued developments

By January 2018, ether was the second-largest cryptocurrency in terms of market capitalization, behind bitcoin. As of 2021, it maintained that relative position.
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 one count of conspiring to violate the International Emergency Economic Powers Act 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 US$65 million into ConsenSys, a software development firm that builds Ethereum-related infrastructure.
There were two network upgrades in 2021. The first was "Berlin", implemented on 14 April 2021. The second was "London", which took effect on 5 August. The London upgrade included Ethereum Improvement Proposal ("EIP") 1559, a mechanism for reducing transaction fee volatility. The mechanism causes a portion of the ether paid in transaction fees for each block to be destroyed rather than given to the block proposer, 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.

### The Merge: Transition from Proof-of-Work to Proof-of-Stake

"The Merge" (formerly called Ethereum 2.0) was a set of three updated (Bellatrix, Paris, and Shapella) that transitioned Ethereum's consensus protocol from Proof-of-Work to Proof-of-Stake. Bellatrix updated the Proof-of-Stake Beacon chain and introduced economic slashing. Paris was the event at block 15537393 on 15th September 2022 that merged Ethereum to the Beacon chain. Shapella (Shanghai-Capella) was the update that allowed for staking withdrawals.
The switch from proof-of-work to proof-of-stake on 15 September 2022 has cut Ethereum's energy usage by over 99%. However, the impact this has on global energy consumption and climate change may be limited since the computers previously used for mining ether may be used to mine other cryptocurrencies that are energy-intensive.

### Post-Merge updates
#### Dencun

On March 13, 2024, "Dencun" or also "Deneb-Cancun" set of upgrade went live. These included EIP-4844 (Proto-Danksharding) which introduced "blobs" that could be used for general-purpose data-availability. Because "Blob" data is only stored temporarily, it is much cheaper than using normal call data for storage. This allows for L2 networks to greatly reduce the cost of posting compressed transaction data to L1.

#### Pectra

According to Ethereum.org, Prague-Electra ("Pectra") is expected to be launched in mid-2025. It brings various updates, including EIP-7251, which increases the staking amount per validator from exactly 32 ETH to anywhere between 32 ETH to 2048 ETH, and EIP-7702, which allows for the EOA addresses to use functionality from a smart contract.

## Design
### Overview

Ethereum is a peer-to-peer network that maintains a database containing the storage values of all Ethereum accounts and processes state-altering transactions. Approximately every 12 seconds, a batch of new transactions, known as a "block", is processed by the network. Each block contains a cryptographic hash identifying the series of blocks that must precede it if the block is to be considered valid. This series of blocks is known as the blockchain.
Each "node" (network participant) connects with a relatively small subset of the network to offer blocks and unvalidated transactions (i.e. transactions not yet in the blockchain) to its peers for download, and it downloads any of these from its peers that it doesn't already have. Each node usually has a unique set of peers, so that offering an item to its peers results in the propagation of that item throughout the entire network within seconds. A node's collection of unvalidated transactions is known as its "mempool".
A node may choose to create a copy of the state for itself. It does this by starting with the genesis state and executing every transaction in the blockchain, in the proper order of blocks and in the order they are listed within each block.
Any Ethereum account may "stake" (deposit) 32 ETH to become a validator. At the end of each "epoch" (32 block slots, each slot lasting 12 seconds), each validator is pseudorandomly assigned to one of the slots of the epoch after the next, either as the block proposer or as an attester. During a slot, the block proposer uses their mempool to create a block that is intended to become the new "head" (latest block) of the blockchain, and the attesters attest to which block is at the head of the chain. If a validator makes self-contradicting proposals or attestations, or if it is inactive, it loses a portion of its stake. It may add to its stake at any time. A validator's attestation is given a weight equal to its stake or 32, whichever is less. According to the Ethereum protocol, the blockchain with the highest accumulated weight of attestations at any given time is to be regarded as the canonical chain. Validators are rewarded for making valid proposals and attestations. A validator's rewards are paid via transactions within the same chain that contains their proposal or attestation, and therefore would have little or no market value unless that chain becomes the canonical chain. This incentivizes validators to support the chain that they think other validators view as the canonical chain, which results in a high degree of consensus.

### Ether

Ether (ETH) is the cryptocurrency generated in accordance with the Ethereum protocol as a reward to validators in a proof-of-stake system for adding blocks to the blockchain. Ether is represented in the state as an unsigned integer associated with each account, this being the account's ETH balance denominated in wei (10$^{18}$ wei = 1 ether). At the end of each epoch, new ETH is generated by the addition of protocol-specified amounts to the balances of all validators that made valid block proposals or attestations in the epoch before the last (i.e. the epoch being finalized). Additionally, ether is the only currency accepted by the protocol as payment for the transaction fee. The transaction fee is composed of two parts: the base fee and the tip. The base fee is "burned" (deleted from existence) and the tip goes to the block proposer. The validator reward together with the tips provide the incentive to validators to keep the blockchain growing (i.e. to keep processing new transactions). Therefore, ETH is fundamental to the operation of the network. Ether may be "sent" from one account to another via a transaction, the execution of which simply entails subtracting the amount to be sent from the sender's balance and adding the same amount to the recipient's balance.
Ether is often erroneously referred to as "Ethereum".
The uppercase Greek letter Xi, Ξ, is sometimes used as a currency symbol for ether.

### Accounts

There are two types of accounts on Ethereum: user accounts (also known as externally-owned accounts), and contract accounts. Both types have an ETH balance, may transfer ETH to any account, may execute the code of another contract, or create a new contract, and are identified on the blockchain and in the state by an account address.
Contracts are the only type of account that has associated bytecode and storage (to store contract-specific state). The code of a contract is evaluated when a transaction is sent to it. The code of the contract may read user-specified data from the transaction, and may have a return value. In addition to control flow statements, the bytecode may include instructions to send ETH, read from and write to the contract's storage, create temporary storage (memory) that vanishes at the end of code evaluation, perform arithmetic and hashing operations, send transaction-like calls to other contracts (thus executing their code), 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, and so addresses contain 40 hexadecimal digits after the "0x", 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. The EVM is a stack based virtual machine with an instruction set specifically designed for Ethereum. The instruction set includes, among other things, stack operations, memory operations, and operations to inspect the current execution context, such as remaining gas, information about the current block, and the current transaction. The EVM is designed to be deterministic on a wide variety of hardware and operating systems, so that given a pre-transaction state and a transaction, each 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 the transaction fee, which is the amount of ETH a transaction's sender must pay to the network to have the transaction included 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 monetary value of the resources (e.g. computation and storage) a node must expend or dedicate to perform that operation.
When a sender is 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 network per unit of gas used. A transaction may only be included in the blockchain at a block slot that has a base gas price less than or equal to the transaction's gas price. The portion of the gas price that is in excess of the base gas price is known as the tip and goes to the block proposer; the higher the tip, the more incentive a block proposer 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. their ETH balance is debited gas limit × gas price and their gas balance is set to gas limit) up-front, at the start of the execution of the transaction, and is refunded at the end for any unused gas. If at any point the transaction does not have enough gas to perform the next operation, the transaction is reverted but the sender is still only refunded for the unused gas. In user interfaces, gas prices are typically denominated in gigawei (Gwei), a subunit of ETH equal to 10$^{−9}$ ETH.

## Applications

The EVM's instruction set is Turing-complete. Popular uses of Ethereum have included the creation of fungible (ERC-20) and non-fungible (ERC-721) 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, which is then deployed to the Ethereum blockchain. They can be written in Solidity (a language library with similarities to C and JavaScript), as well as others. Source code and compiler information are usually published on blockchain explorer websites soon after 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.

### 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 that include 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 they keep track of created tokens on Ethereum. Numerous cryptocurrencies have launched as ERC-20 tokens and have been distributed through initial coin offerings.

### 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. ERC-721 is the first official NFT standard for Ethereum and was followed up by ERC-1155 which introduced semi-fungibility, both are widely used, though some fully fungible tokens using ERC-20 have been used for NFTs such as CryptoPunks.
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 US$69.3 million, making him the third-most-valuable living artist in terms of auction prices at the time, although observers have noted that both the buyer and seller had a vested interest in driving demand for the artist's work.

### Decentralized finance

Decentralized finance (DeFi) offers financial instruments in a decentralized architecture, outside of companies' and governments' control, such as money market funds which let users earn interest. DeFi 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. Uniswap, a decentralized exchange for tokens on Ethereum grew from US$20 million in liquidity to US$2.9 billion in 2020. As of October 2020, over US$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 be 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, have been tested by enterprise software companies. Interested parties have included Microsoft, IBM, JPMorgan Chase, Deloitte, R3, and Innovate UK (cross-border payments prototype). Barclays, UBS, Credit Suisse, Amazon, Visa, and other companies have also experimented 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."

### Performance

As of January 2016, the Ethereum protocol could process about 25 transactions per second; this did not change after the move to proof-of-stake. In comparison, the Visa payment platform processes 45,000 payments per second. This has led some to question the scalability of Ethereum.
A proposal to partition global state and computation into shard chains was presented at Ethereum's Devcon 3 in November 2017. If implemented, each node in the network would only have to store and validate a subset of the network.
Ethereum's blockchain uses a Merkle–Patricia Tree to store account state in each block. The trie 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.

## Regulation

In the United States, the proposed Digital Commodities Consumer Protection Act would treat Ethereum and other cryptocurrencies as commodities, which could then be regulated by the Commodity Futures Trading Commission (CFTC).