… Search
Wiki Loves Earth Italy is the photographic contest
dedicated to the Italian protected areas.
From June 15th take a photo, promote the
territory, help Wikipedia and win!
Ethereum
Article Talk
… … …
Ethereum is a decentralized, open-source blockchain
with smart contract functionality. Ether (ETH or Ξ) is
the native cryptocurrency of the platform. Among
cryptocurrencies, Ether is second only to Bitcoin in
market capitalization.[2][3]
Ethereum
Original author(s) Vitalik Buterin
Gavin Wood
Developer(s) Ethereum Foundation,
Hyperledger, Nethermind,
OpenEthereum,
EthereumJS
Initial release 30 July 2015; 6 years ago
Stable release London / 5 August 2021;
10 months ago
Development status Active
Software used EVM 1 Bytecode
Written in Go, Rust, C#, C++, Java,
Python
Operating system Cross-platform
Platform x86-64, ARM
Size 991.56 GB[1](2021-09-30)
Available in Multilingual, but primarily
English
Type Distributed computing
License Open-source licenses
Active hosts 3,481 nodes (2021-09-
30)[citation needed]
Website [Link]
Ethereum was conceived in 2013 by programmer Vitalik
Buterin.[4] Additional founders of Ethereum included
Gavin Wood, Charles Hoskinson, Anthony Di Iorio and
Joseph Lubin.[5] In 2014, development work began and
was crowdfunded, and the network went live on 30 July
2015.[6] Ethereum allows anyone to deploy permanent
and immutable decentralized applications onto it, with
which users can interact.[7] 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.[8][9]
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.
A series of upgrades called Ethereum 2.0 includes a
transition to proof of stake and aims to increase
transaction throughput by using sharding.[10][11]
History
Founding (2013–2014)
Ethereum co-founder Vitalik
Buterin in 2015
Ethereum was initially described in late 2013 in a white
paper by Vitalik Buterin,[4][12] a programmer and co-
founder of Bitcoin Magazine, that described a way to
build decentralized applications.[13][14] 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[15]: 88 that
could lead to attaching [clarification needed] real-world
assets, such as stocks and property, to the
blockchain.[16] 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.[17] 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[18]—that would eventually
become Ethereum.[15]
Ethereum was announced at the North American Bitcoin
Conference in Miami, in January 2014.[19] 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.[19] Di Iorio invited friend Joseph Lubin, who
invited reporter Morgen Peck, to bear witness.[19] Peck
subsequently wrote about the experience in Wired.[20]
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.[19]
Ethereum has an unusually long list of founders.[21]
Anthony Di Iorio wrote: "Ethereum was founded by
Vitalik Buterin, Myself, Charles Hoskinson, Mihai Alisie
& Amir Chetrit (the initial 5) in December 2013. Joseph
Lubin, Gavin Wood, & Jeffrey Wilcke were added in
early 2014 as founders." Buterin chose the name
Ethereum after browsing a list of elements from science
fiction on Wikipedia. He stated, "I immediately realized
that I liked it better than all of the other alternatives that
I had seen; I suppose it was the fact that [it] sounded
nice and it had the word 'ether', referring to the
hypothetical invisible medium that permeates the
universe and allows light to travel."[19] Buterin wanted
his platform to be the underlying and imperceptible
medium for the applications running on top of it.[22]
Development (2014)
Formal development of the software underlying
Ethereum began in early 2014 through a Swiss
company, Ethereum Switzerland GmbH (EthSuisse).[23]
The 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.[24][25] 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.[13]
Launch and the DAO event (2014–2016)
Ethereum protocol upgrades
Code name Release date Release block
Frontier 30 July 2015[26][4] 0
Ice Age 8 September 2015 200,000
Homestead 15 March 2016 1,150,000
DAO Fork 20 July 2016 1,920,000
Tangerine Whistle 18 October 2016 2,463,000
Spurious Dragon 23 November 2016 2,675,000
Byzantium 16 October 2017 4,370,000
Constantinople 28 February 2019[27] 7,280,000
St. Petersburg 28 February 2019[28] 7,280,000
Istanbul 8 December 2019 9,069,000
Muir Glacier 2 January 2020[29] 9,200,000
Berlin 15 April 2021[30] 12,244,000
London 5 August 2021[31] 12,965,000
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.[4] "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. In July 2015, "Frontier" marked
the official launch of the Ethereum platform, and
Ethereum created its "genesis block."[4][26]
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.[32][33] 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.[34] The DAO was exploited in
June 2016 when US$50 million of DAO tokens were
stolen by an unknown hacker.[35][36] The event sparked
a debate in the crypto-community about whether
Ethereum should perform a contentious "hard fork" to
reappropriate the affected funds.[37] This resulted in
the network splitting into two blockchains: Ethereum
with the theft reversed and Ethereum Classic which
continued on the original chain.[38] 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.[39] 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.[40][41] By
July 2017, there were over 150 members in the alliance,
including MasterCard, Cisco Systems, Sberbank, and
Scotiabank.[42]
In January 2018, Ethereum was the second-largest
cryptocurrency in terms of market capitalization,
behind Bitcoin.[43] As of 2021, it maintained that
relative position.[2][3]
After the Constantinople upgrade on 28 February
2019,[27] there were two network upgrades made within
a month late in the year: Istanbul on 8 December 2019
and Muir Glacier on 2 January 2020.[29]
In 2019, Ethereum Foundation employee Virgil Griffith
was arrested by the US government for presenting at a
blockchain conference in North Korea.[44] He would
later plead guilty to the charges [clarification needed] in
2021.[45]
In March 2021, Visa Inc. announced that it began
settling stablecoin transactions using Ethereum.[46] 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.[47]
There were two network upgrades in 2021. The first was
"Berlin", implemented on 14 April 2021.[30] The second
was "London", which took effect on 5 August.[31] 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.[48]
On 27 August 2021, the blockchain experienced a brief
fork that was the result of clients running different
incompatible software versions.[49]
Ethereum 2.0
Ethereum 2.0 releases
Code name Release date Release block
ETH 2.0 Phase 0 (Beacon Chain) 1 December 2020 0
ETH 2.0 Phase 1 (planned) ~Q3 2022[50][51] TBD
ETH 2.0 Phase 2 (planned) ~2023[52] TBD
Open-source development is
currently[may be outdated as of March 2022] underway for a
major upgrade to Ethereum known as Ethereum 2.0 or
Eth2.[53]
The main purpose of the upgrade is to increase
transaction throughput for the network from the current
rate of about 15 transactions per second[citation needed]
to, theoretically, up to tens of thousands of transactions
per second.[54] This is to be accomplished 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 gain from an attack.
Ethereum’s Proof of Stake blockchain, has raised
centralization worries in relation to Ethereum’s long-
term health and security.[55]
Ethereum 2.0 (also known as Serenity) is designed to
be launched in three phases:[citation needed]
1. "Phase 0" (or "Beacon Chain") was launched on 1
December 2020 and created the Beacon Chain, a
proof-of-stake (PoS) blockchain that will act as the
central coordination and consensus hub of
Ethereum 2.0.[56][57][58]
2. "Phase 1" (or "The Merge") will merge the Beacon
Chain with the current Ethereum network,
transitioning its consensus mechanism from proof-
of-work to proof-of-stake.[59] As of
26 January 2022, it is expected to be released in
the third quarter of 2022.[50][60]
3. "Phase 2" (or "Shard chains") will implement state
execution in the shard chains[11] with the current
Ethereum 1.0 chain expected to become one of the
shards of Ethereum 2.0. Shard chains will spread
the network's load across 64 new chains. As of
22 January 2022, it is expected to be released in
2023.[52]
Design
Ethereum is a permissionless [clarification needed], 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 block in the
order they are listed, 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 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 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 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 to be considered the
canonical one.
Ether
Ether (ETH) is the cryptocurrency generated by the
Ethereum protocol as a reward to miners in a proof-of-
work system for adding blocks to the blockchain. It is
the only currency accepted to pay for transaction fees,
which also go to miners. The block-addition reward
together with the transaction fees provide the incentive
to miners to keep the blockchain growing (i.e. to keep
processing new transactions). Therefore, ETH is
fundamental to the operation of the network. Each
Ethereum account has an ETH balance and may send
ETH to any other account. The smallest subunit of ETH
is known as a Wei, named after cryptocurrency pioneer
Wei Dai,[61] and is equal to 10−18 ETH.[62]
Ether is often erroneously referred to as "Ethereum".[63]
Ether is listed on exchanges under the currency code
ETH. The Greek uppercase Xi character (Ξ) is
sometimes used for its currency symbol.[citation needed]
The shift to Ethereum 2.0 may reduce the issuance rate
of Ether.[56] There is currently no implemented hard cap
on the total supply of Ether.[64]
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.[56][65]
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 that has
associated code (a set of functions and variable
declarations) and contract storage (the values of the
variables at any given time). A contract function may
take arguments and may have return values. 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 own functions, call public functions of other
contracts, create new contracts, and query information
about the current transaction or the blockchain.[66]
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,
e.g.
0xb794f5ea0ba39494ce839613fffba7427957926
8 . Contract addresses are in the same format,
however, they are determined by sender and creation
transaction nonce.[25]
Virtual machine
The number of daily confirmed Ethereum transactions as of April
2021
The Ethereum Virtual Machine (EVM) is the runtime
environment for transaction execution in Ethereum. It
includes a stack, memory, gas balance (see below),
program counter, and the persistent storage for all
accounts (including contract code). When a transaction
calls a contract's function, the arguments in the call are
added to the stack and the EVM translates the
contract's bytecode into stack operations. Stack items
may be stored in memory or storage, and data from
memory/storage may be added to the stack. The EVM is
isolated from the other files and processes on the
node's computer to ensure that for a given pre-
transaction state and transaction, every node produces
the same post-transaction state, thereby enabling
network consensus. The formal definition of the EVM is
specified in the Ethereum Yellow Paper.[25][67] EVMs
have been implemented in C++, C#, Go, Haskell, Java,
JavaScript, Python, Ruby, Rust, Elixir, Erlang, and
soon[when?] WebAssembly.[citation needed]
Gas
Gas is a unit of account within the EVM used in the
calculation of a transaction fee, which is the amount of
ETH a transaction's sender must pay to the miner who
includes the transaction in the blockchain.
Each type of operation which may be performed by the
EVM is hardcoded with a certain gas cost, which is
intended to be roughly proportional to the amount of
resources (computation and storage) a node must
expend to perform that operation. When 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 to the miner per unit of gas used.
The higher the gas price, the more incentive a miner
has to include the transaction in their block, and thus
the quicker the transaction will be included in the
blockchain. The sender buys the full amount of gas (i.e.
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 at any point the transaction does not have
enough gas to perform the next operation, the
transaction is reverted but the sender is only refunded
for the unused gas. Gas prices are typically
denominated in Gwei, a subunit of ETH equal to 10−9
ETH.[68]
This fee mechanism is designed to mitigate transaction
spam, prevent infinite loops during contract execution,
and provide for a market-based allocation of network
resources.
Governance
On social governance
Our governance is inherently social, people who are
more connected in the community have more power, a
kind of soft power.
Vlad Zamfir, Ethereum core developer, The New
Yorker[19]
In October 2015,[69] a development governance was
proposed as the Ethereum Improvement Proposal (EIP),
standardized on EIP-1.[70] The core development group
and community were to gain consensus by a process-
regulated EIP.[71]
Difficulty bomb
The difficulty bomb is an Ethereum protocol feature
that causes the difficulty of mining a block to increase
exponentially over time after a certain block is reached,
with the intended purpose being to incentivize
upgrades to the protocol and prevent miners from
having too much control over upgrades. As the protocol
is upgraded, the difficulty bomb is typically pushed
further out in time. The protocol has included a
difficulty bomb from the beginning, and the bomb has
been pushed back several times.[72] 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.[citation needed] The period during which the
mining difficulty is increasing is known as the "Ice Age".
Comparison to Bitcoin
Bitcoin's primary use case is as 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
also makes it possible to create and run decentralized
applications and smart contracts. Blocks are validated
approximately every 12 seconds on Ethereum as
opposed to approximately every 10 minutes on Bitcoin.
Additionally, Bitcoin has a fixed supply of 21,000,000
coins, whereas Ether has no supply cap.[73] Ether and
Bitcoin are both mined through proof-of-work and can
be purchased on cryptocurrency exchanges.[74]
Applications
The EVM's instruction set is Turing-complete.[25]
Popular uses of Ethereum have included the creation of
fungible (ERC20) and non-fungible (ERC721) tokens
with a variety of properties, crowdfunding (e.g. initial
coin offerings), decentralized finance, decentralized
exchanges, decentralized autonomous organizations
(DAOs), games, prediction markets, and gambling.
Contract source code
Ethereum's smart contracts are written in high-level
programming languages and then compiled down to
EVM bytecode and deployed to the Ethereum
blockchain. They can be written in Solidity (a language
library with similarities to C and JavaScript), Serpent
(similar to Python, but deprecated), Yul (an
intermediate language that can compile to various
different backends – EVM 1.0, EVM 1.5, and eWASM are
planned), LLL (a low-level Lisp-like language), and
Mutan (Go-based, but deprecated). There was
also[when?] a research-oriented language under
development called Vyper (a strongly-typed Python-
derived decidable language).[citation needed] 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.[75] One
example of this is the 2016 attack on The DAO, which
could not be quickly stopped or reversed.[35]
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.[76]
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.[77] 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.[77] Numerous
cryptocurrencies have launched as ERC-20 tokens and
have been distributed through initial coin offerings.[78]
Fees to send ERC-20 tokens must be paid with Ether.
Non-fungible tokens (NFTs)
Main article: Non-fungible token
Ethereum also allows for the creation of unique and
indivisible tokens, called non-fungible tokens
(NFTs).[79] 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.[80] 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.[81] 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.[82][83] Land, buildings, and avatars in
blockchain-based virtual worlds can also be bought and
sold as NFTs, sometimes for hundreds of thousands of
dollars.[84]
Decentralized finance