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 Ethereum Virtual Machine (EVM) can execute scripts and run decentralized applications. Ethereum is used for decentralized finance, the creation and exchange of NFTs, and has been utilized for many 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.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, a group of people rented a house in Miami: Gavin Wood, Charles Hoskinson, and Anthony Di Iorio from Toronto who financed the project. Di Iorio invited friend Joseph Lubin, who invited reporter Morgen Peck, to bear witness. 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).\nThe 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.
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 milestonesSeveral 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 \"Muir Glacier\", implemented on 1 January 2020.
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 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. 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 ===\nIn 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.
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.\nEthereum 2.0 (also known as Serenity) is designed to be launched in three phases:\n\n\"Phase 0\" 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.\n\"Phase 1\" will create shard chains and connect them to the Beacon Chain 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.
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.\nEach 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.\n\n\n=== Ether ===\nEther (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 (ie. 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.\nThe 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.\n\n\n=== Accounts ===\nThere 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.\nContracts 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.\n\n\n==== Addresses ====\nEthereum 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.\n\n\n=== Virtual machine ===\nThe 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. It is the fundamental consensus mechanism for Ethereum. 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.\n\n\n=== Gas ===\nGas 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.\nEach 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 (ie. 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.\n\n\n=== Governance ===\n\nIn 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.\n\n\n=== Difficulty bomb ===\nThe 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 gets pushed back further. 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\".\n\n\n=== Comparison to Bitcoin ===\nBitcoin'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. Transactions are processed faster on Ethereum than Bitcoin, as new 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 most major cryptocurrency exchanges.\n\n\n== Applications ==\nThe 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 (eg. initial coin offerings), decentralized finance, decentralized exchanges, decentralized autonomous organizations (DAOs), games, prediction markets, and gambling.\n\n\n=== Contract source code ===\nEthereum'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 is 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.\nOne 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.\n\n\n=== ERC-20 Tokens ===\nThe 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.\n\n\n=== Non-fungible Tokens (NFTs) ===\n\nEthereum also allows for the creation of unique and indivisible tokens, called non-fungible tokens (NFTs). Since these types of tokens are unique, they have been used to represent digital art, sports memorabilia, virtual real estate and gaming. NFTs generally sell on the Ethereum blockchain through various digital auction websites. In 2021, 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.\n\n\n=== Decentralized finance ===\n\nDecentralized 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. 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.\n\n\n=== Enterprise software ===\nEthereum-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, and other companies are also experimenting with Ethereum.\n\n\n=== Permissioned ledgers ===\nEthereum-based permissioned blockchain variants are used and being investigated for various projects.\n\nIn 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.\"\nThe 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.\n\n\n=== Performance ===\nIn 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.\n\n\n== References ==\n\n\n== External links ==\nOfficial website",
"sourceContentSanitized": "Ethereum is a decentralized, open-source blockchain with smart contract functionality. Ether 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 Ethereum Virtual Machine can execute scripts and run decentralized applications. Ethereum is used for decentralized finance, the creation and exchange of NFTs, and has been utilized for many 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 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. 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, a group of people rented a house in Miami: Gavin Wood, Charles Hoskinson, and Anthony Di Iorio from Toronto who financed the project. Di Iorio invited friend Joseph Lubin, who invited reporter Morgen Peck, to bear witness. 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 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 . 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 , 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 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. 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. 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 \"Muir Glacier\", implemented on 1 January 2020. 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 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. 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. In March 2017, various blockchain startups, research groups, and Fortune 500 companies announced the creation of the Enterprise Ethereum Alliance 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. 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 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 is designed to be launched in three phases: \"Phase 0\" was launched on 1 December 2020 and created the Beacon Chain, a proof-of-stake blockchain that will act as the central coordination and consensus hub of Ethereum 2.0. \"Phase 1\" will create shard chains and connect them to the Beacon Chain. \"Phase 2\" 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. Ethereum is a permissionless, non-hierarchical network of computers 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 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 . 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. There are two types of accounts on Ethereum: user 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 and contract storage . 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 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. 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 . 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. The Ethereum Virtual Machine 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. It is the fundamental consensus mechanism for Ethereum. 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 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 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 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. In October 2015, a development governance was proposed as the Ethereum Improvement Proposal , standardized on EIP-1. The core development group and community were to gain consensus by a process regulated EIP. 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 gets pushed back further. 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\". 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. Transactions are processed faster on Ethereum than Bitcoin, as new 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 most major cryptocurrency exchanges. 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 and non-fungible tokens with a variety of properties, crowdfunding , decentralized finance, decentralized exchanges, decentralized autonomous organizations , games, prediction markets, and gambling. 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 , Serpent , Yul , LLL , and Mutan . There is also a research-oriented language under development called Vyper . 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. The ERC-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. Ethereum also allows for the creation of unique and indivisible tokens, called non-fungible tokens . Since these types of tokens are unique, they have been used to represent digital art, sports memorabilia, virtual real estate and gaming. NFTs generally sell on the Ethereum blockchain through various digital auction websites. In 2021, 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. Decentralized finance 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. 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 to become available and tradeable on Ethereum and also compatible with all of Ethereum's major wallets and applications. 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 . Barclays, UBS, Credit Suisse, Amazon, and other companies are also experimenting with Ethereum. 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 based on the Ethereum distributed ledger and smart contract platform. 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 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 , and light client synchronization. The network has faced congestion problems, such as in 2017 in relation to Cryptokitties. Official website"