Topic: Ethereum Ethereum is a decentralized, open-source blockchain with smart contract functionality. Ether (Abbreviation: ETH; sign: Ξ) is the native cryptocurrency of the platform. Among cryptocurrencies, Ether is second only to bitcoin in market capitalization. Ethereum was conceived in 2013 by programmer Vitalik Buterin. Additional founders of Ethereum included Gavin Wood, Charles Hoskinson, Anthony Di Iorio, and Joseph Lubin. In 2014, development work began and was crowdfunded, and the network went live on 30 July 2015. Ethereum allows anyone to deploy permanent and immutable decentralized applications onto it, with which users can interact. Decentralized finance (Defi) applications provide a broad array of financial services without the need for typical financial intermediaries like brokerages, exchanges, or banks, such as allowing cryptocurrency users to borrow against their holdings or lend them out for interest. Ethereum also allows users to create and exchange NFTs, which are unique tokens representing ownership of an associated asset or privilege, as recognized by any number of institutions. 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 upgrade process known as "the Merge". 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 Bitcoin and 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 Alise & Amir Chetrit (the initial 5) in December 2013. Joseph Lubin, Gavin Wood, & Jeffrey Wilcke were added in early 2014 as founders." Buterin chose the name Ethereum after browsing a list of elements from science fiction on Wikipedia. He stated, "I immediately realized that I liked it better than all of the other alternatives that I had seen; I suppose it was the fact that [it] sounded nice and it had the word 'ether', referring to the hypothetical invisible medium that permeates the universe and allows light to travel." Buterin wanted his platform to be the underlying and imperceptible medium for the applications running on top of it. Development (2014) Formal development of the software 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. An online public crowd sale funded development 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. 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 launch of the Ethereum platform, and Ethereum created its "genesis block." The genesis block contained 8,893 transactions allocating amounts of Ether to different addresses and a block reward of 5 ETH. Since the initial launch, Ethereum has undergone several planned protocol upgrades, which are important changes affecting the platform's underlying functionality and incentive structures. Protocol upgrades are accomplished using 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. 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. The hard fork created a rivalry between the two networks. After the hard fork, Ethereum subsequently forked twice in the fourth quarter of 2016 to deal with other attacks. Continued development and milestones (2017–present) In March 2017, various blockchain startups, research groups, and Fortune 500 companies announced the creation of the Enterprise Ethereum Alliance (EEA) with 30 founding members. By May 2017, the nonprofit organization had 116 enterprise members, including ConsenSys, CME Group, Cornell University's research group, Toyota Research Institute, Samsung SDS, Microsoft, Intel, J. P. Morgan, Cooley LLP, Merck KGaA, DTCC, Deloitte, Accenture, Banco Santander, BNY Mellon, ING, and National Bank of Canada. By July 2017, there were over 150 members in the alliance, including MasterCard, Cisco Systems, Sberbank, and Scotiabank. By January 2018, Ether was the second-largest cryptocurrency in market capitalization, behind bitcoin. As of 2021, it maintained that relative position. After the Constantinople upgrade on 28 February 2019, two network upgrades were made within a month late in the year: Istanbul on 8 December 2019 and Muir Glacier on 2 January 2020. In 2019, the US government arrested Ethereum Foundation employee Virgil Griffith for presenting at a blockchain conference in North Korea. He would later plead guilty to the charges in 2021. In March 2021, Visa Inc. announced that it began settling stablecoin transactions using Ethereum. In April 2021, JP Morgan Chase, UBS, and MasterCard announced 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 miner, reducing the inflation rate of Ether and potentially resulting in periods of deflation. On 27 August 2021, the blockchain experienced a brief fork resulting from clients running different incompatible software versions. Ethereum 2.0 Ethereum 2.0 (Eth2) was a set of three or more upgrades, also known as "phases," meant to transition the network's consensus mechanism to proof-of-stake and to scale the network's transaction throughput with execution sharding and an improved EVM architecture. The first of these three upgrades, also known as "phase 0", launched the proof-of-stake Beacon Chain on 1 December 2020. Following the realization that the Beacon Chain would be delivered much earlier than the later phases of the Eth2 roadmap, proposals were made for an "early Merge," expediting the delivery of proof-of-stake to Ethereum. Most importantly, the early Merge would not require any migration from Ethereum’s applications or its users and would continue using the heavily battle-tested mainnet Ethereum clients in conjunction with the new proof-of-stake consensus clients. In early 2022, the “Ethereum 2.0” terminology was deprecated to highlight the existence of only one Ethereum network and one ether cryptocurrency. As a result of the effort, the Eth1 blockchain was renamed to the “execution layer,” and its associated Eth1 clients were reclassified as execution clients. Similarly, the Eth2 blockchain was renamed to the consensus layer, and its associated Eth2 clients were reclassified as consensus clients. Design Ethereum is a permissionless, non-hierarchical network of computers (nodes) that build and come to a consensus on an ever-growing series of "blocks," or batches of transactions, known as the blockchain. Each block contains an identifier of the chain that must precede it if the block is to be considered valid. Whenever a node adds a block to its chain, it executes the transactions in the order they are listed, each of which may alter the ETH balances and other storage values of Ethereum accounts. These balances and values, collectively known as the "state," are maintained on the node separately from the blockchain in a Merkle tree. Each node communicates with a relatively small subset of the network—its "peers." Whenever a node wishes to include a new transaction in the blockchain, it sends a copy of the transaction to each of its peers, who then send a copy to each of their peers, and so on. In this way, it propagates throughout the network. Certain nodes, called miners, maintain a list 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 all of the transactions therein and, if it finds the block to be valid, adds it to its blockchain and executes all of those transactions. Since block creation and broadcasting are permissionless, a node may receive multiple blocks competing to be the successor to a particular block. The node keeps track of all of the valid chains that result from this and regularly drops the shortest one: According to the Ethereum protocol, the longest chain at any given time is considered canonical. Ether Ether (ETH) is the cryptocurrency generated by the Ethereum protocol to reward miners in a proof-of-work system for adding blocks to the blockchain. Ether is represented in the state as an unsigned integer associated with each account; the account's ETH balance is denominated in Wei (1018 Wei = 1 ether). In each block, new ETH is generated by adding a protocol-specified amount, currently two × 1018 Wei (equal to 2 ETH), to the balance of any account of the miner's choosing. This is known as the block reward. Ether is the only currency accepted by the protocol as payment for a transaction fee, which also goes to the miner. The block reward and transaction fees incentivize miners 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, which entails subtracting the amount sent from the sender's balance and adding the same amount to the recipient's balance. Ether is often erroneously referred to as "Ethereum."Ether is listed on exchanges under the abbreviation ETH. The Greek uppercase Xi character (Ξ) is sometimes used as 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 an account address. User accounts are the only type of account that may create transactions. For a transaction to be valid, it must be signed using the sending account's private key, the 64-character hexadecimal string from which the account's address is derived. The algorithm used to produce the signature is ECDSA. Importantly, this algorithm allows one to derive the signer's address from the signature without knowing the private key. Contracts are the only type of account with associated code (a set of functions and variable declarations) and contract storage (the values of the variables at any given time). A contract function may take arguments and may have return values. In addition, to control flow statements, the body of a function 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 the function, perform arithmetic and hashing operations, call the contract's functions, call public functions of other contracts, create new contracts, and query information about the current transaction or the blockchain. Addresses Ethereum addresses are composed of the prefix "0x" (a common identifier for hexadecimal) concatenated with the rightmost 20 bytes of the Keccak-256 hash of the ECDSA public key (the curve used is the so-called secp256k1). In hexadecimal, two digits represent a byte, so addresses contain 40 hexadecimal digits, e.g., 0xb794f5ea0ba39494ce839613fffba74279579268. Contract addresses are in the same format. However, they are determined by the sender and creation transaction nonce. Virtual machine The Ethereum Virtual Machine (EVM) is the runtime environment for transaction execution in Ethereum. It includes a stack, memory, and persistent storage for all Ethereum accounts (including contract code). The EVM is stack-based in that most instructions pop operands from the stack and push the result to the stack. The EVM is designed to be deterministic on various hardware and operating systems. Given a pre-transaction state and a transaction, each node produces the same post-transaction state, 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 WebAssembly. Gas Gas is a unit of account within the EVM used in calculating 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 the EVM may perform is hard coded with a certain gas cost, which is roughly proportional to the number of resources (computation and storage) a node must expend to perform that operation. When a sender creates 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 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., their ETH balance is debited the amount: gas limit × gas price) up-front at the start of the execution of the transaction and is refunded at the end for any unused gas. If the transaction does not have enough gas at any point 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. This fee mechanism is designed to mitigate transaction spam, prevent infinite loops during contract execution, and provide a market-based allocation of network resources. 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. The intended purpose is 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 difficult 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 that removes miners entirely from the design of the network. The period during which the mining difficulty increased is known as the "Ice Age." Applications The EVM's instruction set is Turing-complete. Popular uses of Ethereum have included the creation of fungible (ERC20) and non-fungible (ERC721) tokens with a variety of properties, crowdfunding (e.g., initial coin offerings), decentralized finance, decentralized exchanges, decentralized autonomous organizations (DAOs), games, prediction markets, and gambling. Contract source code Ethereum's smart contracts are written in high-level programming languages and then compiled 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 backends—EVM 1.0, EVM 1.5, and being planned), LLL (a low-level Lisp-like language), and Mutant (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 contract launch so that users can see the code and verify that it compiles to the bytecode 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 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. Fees to send ERC-20 tokens must be paid with Ether. Non-fungible tokens (NFTs) Ethereum also allows for the creation of unique and indivisible tokens called non-fungible tokens (NFTs). Since tokens of this type are unique, they have been used to represent such things as collectibles, digital art, sports memorabilia, virtual real estate, and items within games. The first NFT project, Etheria, a 3D map of tradable and customizable hexagonal tiles, was deployed to the network in October 2015 and demonstrated live at DEVCON1 in November of that year. In 2021, Christie's sold a digital image with an NFT by Beeple for US$69.3 million, making him the third-most valuable living artist in terms of auction prices. However, observers have noted that both the buyer and seller were vested in driving demand for the artist's work. 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) offers traditional 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 interact with the Ethereum blockchain through a website directly. Many 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 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 compatible with all Ethereum's major wallets and applications. Enterprise software Ethereum-based software and networks, independent from the public Ethereum chain, are being tested by enterprise software companies. Interested parties include Microsoft, IBM, JPMorgan Chase, Deloitte, R3, and Innovate UK (cross-border payments prototype). Barclays, UBS, Credit Suisse, Amazon, Visa, and other companies are also experimenting with Ethereum. Permissioned ledgers Ethereum-based permissioned blockchain variants are used and being investigated for various projects: In 2017, JPMorgan Chase proposed developing JPM Coin on a permissioned-variant of Ethereum blockchain dubbed "Quorum". It is "designed to toe the line between private and public in the realm of shuffling derivatives and payments. The idea is to satisfy regulators who need seamless access to financial goings-on while protecting the privacy of parties that don't wish to reveal their identities nor the details of their transactions to the general public." The Royal Bank of Scotland announced that it built a Clearing and Settlement Mechanism (CSM) based on the Ethereum distributed ledger and smart contract platform. Performance The downside is that performance issues arise because every node calculates all the smart contracts in real-time. As of January 2016, the Ethereum protocol could process about 25 transactions per second; this didn't change after the proof-of-stake implementation. In comparison, the Visa payment platform processes 45,000 payments per second. This has led some to question the scalability of Ethereum. On 19 December 2016, Ethereum exceeded one million transactions in a single day for the first time. Visa has also signaled interest in processing NFT and Ethereum transactions.Ethereum engineers have been working on sharding the calculations, and the next step (Ethereum 2) was presented at Ethereum's Devcon 3 in November 2017.Ethereum's blockchain uses Merkle trees for security reasons, to improve scalability, and to optimize transaction hashing. As with any Merkle tree implementation, this 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 August 2022 the Digital Commodities Consumer Protection Act announced that the government would be treating Ethereum and other cryptocurrencies as commodities and be regulated by the Commodity Futures Trading Commission (CFTC).