Ethereum

From Hidden Wiki
Jump to navigation Jump to search
Unix Assembly language Mathematics Web development I2P
GhostBSD Assembly Programming Tutorial Statistics Django for Beginners MuWire
GUI Artificial intelligence Artificial neural network Machine learning Messenger
Tkinter Artificial intelligence Artificial neural network Machine Learning Mastery with Python Session

Ethereum is an open source, public, blockchain-based distributed computing platform and operating system featuring smart contract (scripting) functionality. It supports a modified version of Nakamoto consensus via transaction-based state transitions.

Ether is the cryptocurrency generated by the Ethereum platform as a reward to mining nodes for computations performed and is the only currency accepted in the payment of transaction fees.[1]

Ethereum provides a decentralized virtual machine, the Ethereum Virtual Machine (EVM), which can execute scripts using an international network of public nodes.[2] The virtual machine's instruction set, in contrast to others like Bitcoin Script, is Turing-complete. "Gas", an internal transaction pricing mechanism, is used to mitigate spam and allocate resources on the network.[2]

Ethereum was proposed in late 2013 by Vitalik Buterin, a cryptocurrency researcher and programmer. Development was funded by an online crowdsale that took place between July and August 2014.[2] The system then went live on 30 July 2015, with 72 million coins minted.[3][4] This accounts for about 65 percent of the total circulating supply in April 2020.[5][6]Template:Primary source inline

In 2016, as a result of the exploitation of a flaw in The DAO project's smart contract software, and subsequent theft of $50 million worth of ether,[7] Ethereum was split into two separate blockchains – the new separate version became Ethereum (ETH) with the theft reversed,[8] and the original chain continued as Ethereum Classic (ETC).[9]

Cryptocurrency wallets

See Cryptocurrency wallet.

Etymology

Vitalik Buterin picked the name Ethereum after browsing Wikipedia articles about elements and science fiction, when he found the name, noting, "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 sounded nice and it had the word 'ether', referring to the hypothetical invisible medium that permeates the universe and allows light to travel."[10]

History

Ethereum was initially described in a white paper by Vitalik Buterin,[11] a programmer and co-founder of Bitcoin Magazine, in late 2013 with a goal of building decentralized applications.[12][13] Buterin had argued that Bitcoin needed a scripting language for application development. Failing to gain agreement, he proposed the development of a new platform with a more general scripting language.[2]Template:Rp

Ethereum was announced at the North American Bitcoin Conference in Miami, in January 2014.[10] During the same time as the conference, a group of people rented a house in Miami: Gavin Wood, Charles Hoskinson, and Anthony Di Iorio, a Torontonian who financed the project.[10] Di Iorio invited friend Joseph Lubin, who invited reporter Morgen Peck, to bear witness.[10] 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.[10]

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 Wilke were added in early 2014 as founders." Formal development of the Ethereum software project began in early 2014 through a Swiss company, Ethereum Switzerland GmbH (EthSuisse).[14][15] 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 chief technology officer, in the Ethereum Yellow Paper that specified the Ethereum Virtual Machine.[16] Subsequently, a Swiss non-profit foundation, the Ethereum Foundation (Stiftung Ethereum), was created as well. Development was funded by an online public crowdsale during July–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.[12]

In 2019, an Ethereum foundation employee named Virgil Griffith was arrested by the US government for presenting at a blockchain conference in North Korea.[17]

Enterprise Ethereum Alliance (EEA)

In March 2017, various blockchain start-ups, research groups, and Fortune 500 companies announced the creation of the Enterprise Ethereum Alliance (EEA) with 30 founding members.[18] By May, 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.[19][20][21] By July 2017, there were over 150 members in the alliance, including recent additions MasterCard, Cisco Systems, Sberbank and Scotiabank.[22][23]

Milestones

Code name Release date Release block
Frontier 2015-07-30 0
Ice Age 2015-09-08 200,000
Homestead 2016-03-15 1,150,000
DAO Fork (unplanned) 2016-07-20 1,920,000
Tangerine Whistle (unplanned) 2016-10-18 2,463,000
Spurious Dragon 2016-11-23 2,675,000
Byzantium 2017-10-16 4,370,000
Constantinople 2019-02-28 7,280,000
Petersburg (unplanned) 2019-02-28 7,280,000
Istanbul 2019-12-08 9,069,000
Muir Glacier 2020-01-01 9,200,000

Several codenamed prototypes of the Ethereum platform were developed by the Ethereum Foundation, as part of their Proof-of-Concept series, prior to the official launch of the Frontier network. "Olympic" was the last of these prototypes, 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. "Frontier" marked the tentative experimental release of the Ethereum platform in July 2015.[24]

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.[25]Template:Primary source inline

Protocol upgrades are accomplished by means of a hard fork.

Difficulty Bomb and The Ice Age

The Ethereum Difficulty bomb is the difficulty of the blockchain mining algorithm puzzle which began increasing in November 2016, from block 200,000. The onset of the Difficulty Bomb is referred to as Ethereum's Ice Age, as the Ethereum network started the transition from Proof of Work (PoW) to Proof of Stake (PoS). A difficulty bomb was scheduled in February 2019 but was pushed back by developers.[26]

The DAO event

Template:Main In 2016 a decentralized autonomous organization called The DAO, a set of smart contracts developed on the platform, raised a record Template:US$ in a crowdsale to fund the project.[27] The DAO was exploited in June when Template:US$ in ether were taken by an unknown hacker.[28][29] The event sparked a debate in the crypto-community about whether Ethereum should perform a contentious "hard fork" to reappropriate the affected funds.[30] As a result of the dispute, the network split in two. Ethereum (the subject of this article) continued on the forked blockchain, while Ethereum Classic continued on the original blockchain.[31] The hard fork created a rivalry between the two networks.

After the hard fork related to The DAO, Ethereum subsequently forked twice in the fourth quarter of 2016 to deal with other attacks. By the end of November 2016, Ethereum had increased its DDoS protection, de-bloated the blockchain, and thwarted further spam attacks by hackers.Template:LopsidedTemplate:Citation needed

Characteristics

Template:See As with other cryptocurrencies, the validity of each ether is provided by a blockchain, which is a continuously growing list of records, called blocks, which are linked and secured using cryptography.[32][33] By design, the blockchain is inherently resistant to modification of the data. It is an open, distributed ledger that records transactions between two parties efficiently and in a verifiable and permanent way.[34] Unlike Bitcoin, Ethereum operates using accounts and balances in a manner called state transitions. This does not rely upon unspent transaction outputs (UTXOs). The state denotes the current balances of all accounts and extra data. The state is not stored on the blockchain, it is stored in a separate Merkle Patricia tree. A cryptocurrency wallet stores the public and private "keys" or "addresses" which can be used to receive or spend ether. These can be generated through BIP 39 style mnemonics for a BIP 32 "HD Wallet". In Ethereum, this is unnecessary as it does not operate in a UTXO scheme. With the private key, it is possible to write in the blockchain, effectively making an ether transaction.

To send ether to an account, you need the Keccak-256 hash of the public key of that account. Ether accounts are pseudonymous in that they are not linked to individual persons, but rather to one or more specific addresses.

Ether

Template:Infobox cryptocurrency

Ether is a fundamental token for operation of Ethereum, which thereby provides a public distributed ledger for transactions. It is used to pay for gas, a unit of computation used in transactions and other state transitions. Mistakenly, this currency is also referred to as Ethereum.

It is listed under the ticker symbol ETH and traded on cryptocurrency exchanges, and the Greek uppercase Xi character (Ξ) is generally used for its currency symbol. It is also used to pay for transaction fees and computational services on the Ethereum network.[35]

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 (big endian) of the ECDSA public key (the curve used is the so-called secp256k1, the same as Bitcoin). In hexadecimal, 2 digits represent a byte, meaning addresses contain 40 hexadecimal digits. An example of an Ethereum address is 0xb794f5ea0ba39494ce839613fffba74279579268. Contract addresses are in the same format, however, they are determined by sender and creation transaction nonce.[36] User accounts are indistinguishable from contract accounts given only an address for each and no blockchain data. Any valid Keccak-256 hash put into the described format is valid, even if it does not correspond to an account with a private key or a contract. This is unlike Bitcoin, which uses base58check to ensure that addresses are properly typed.

Comparison to bitcoin

Ethereum is different from Bitcoin (the cryptocurrency with the largest market capitalization as of June 2018) in several aspects:

  • Its block time is 14 to 15 seconds, compared with 10 minutes for bitcoin.
  • Mining of ether generates new coins at a usually consistent rate, occasionally changing during hard forks, while for bitcoin the rate halves every 4 years.
  • For proof-of-work, it uses the Ethash algorithm which reduces the advantage of specialized ASICs in mining.
  • Transaction fees differ by computational complexity, bandwidth use and storage needs (in a system known as gas), while bitcoin transactions compete by means of transaction size, in bytes.
  • Ethereum uses an accounting system where values in Wei (the smallest denomination of 1 Ether, 1 ETH = 1018 Wei) are debited from accounts and credited to another, as opposed to Bitcoin's UTXO system, which is more analogous to spending cash and receiving change in return.

Supply

The total supply of ether was around Ξ110.5 million as of 16 April 2020. In 2017, mining generated 9.2 million new ether, corresponding to a 10% increase in its total supply. Casper the Friendly Finality Gadget (FFG), which is a hybrid Proof of Work and Proof of Stake scheme, and Casper Correct-By-Construction (CBC), a separate Proof of Stake design of Casper, are expected to reduce the inflation rate to between 0.5% to 2%.Template:Citation needed There is no currently implemented hard cap on the total supply of ETH.[37]

Markets and stores

Ether can be traded by regular currency brokers, cryptocurrency exchanges, as well as many online cryptocurrency wallets.[38]

Platform

Virtual Machine

The Ethereum Virtual Machine (EVM) is the runtime environment for smart contracts in Ethereum. It is a 256-bit register stack, designed to run the same code exactly as intended. It is the fundamental consensus mechanism for Ethereum. The formal definition of the EVM is specified in the Ethereum Yellow Paper.[36][39] Ethereum Virtual Machines have been implemented in C++, C#, Go, Haskell, Java, JavaScript, Python, Ruby, Rust, Elixir, Erlang, and soon, WebAssembly (currently under development).

Smart contracts

Ethereum's smart contracts are based on different computer languages, which developers use to program their own functionalities. Smart contracts are high-level programming abstractions that are compiled down to EVM bytecode and deployed to the Ethereum blockchain for execution. They can be written in Solidity (a language library with similarities to C and JavaScript), Serpent (similar to Python, but deprecated), 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).

Smart contracts can be public, which opens up the possibility to prove functionality, e.g. self-contained provably fair casinos.[40]

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.[41] One example of this is the 17 June 2016 attack on The DAO, which could not be quickly stopped or reversed.[28]

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.[42]

Applications

Ethereum apps are written in one of seven different Turing-complete languages.[43] Developers use the language to create and publish applications which they know will run inside Ethereum. The stablecoin Tether and the prediction market Augur are two examples of applications that run on Ethereum.[44][45]

Many uses have been proposed for the Ethereum platform, including ones that are impossible or unfeasible.[46][35] Use case proposals have included finance, the internet-of-things, farm-to-table produce, electricity sourcing and pricing, and sports betting. Ethereum is (as of 2017) the leading blockchain platform for initial coin offering projects, with over 50% market share.[47]

Enterprise software

Ethereum-based customized software and networks, independent from the public Ethereum chain, are being tested by enterprise software companies.[48] Interested parties include Microsoft, IBM, JPMorgan Chase,[35] Deloitte,[49] R3,[50] Innovate UK (cross-border payments prototype).[51] Barclays, UBS and Credit Suisse are experimenting with Ethereum.

Permissioned ledgers

Ethereum-based permissioned blockchain variants are used and being investigated for various projects.

  • J. P. Morgan Chase is developing JPM Coin on a permissioned-variant of Ethereum blockchain dubbed "Quorum".[52] It's 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.[53]
  • 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.[54][55]

Performance

In Ethereum all smart contracts are stored publicly on every node of the blockchain, which has costs.[56] Being a blockchain means it is secure by designTemplate:Clarify 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.[56] As of January 2016, the Ethereum protocol could process about 25 transactions per second.[56] In comparison, the Visa payment platform processes 45,000 payments per second leading some to question the scalability of Ethereum.[57] On 19 December 2016, Ethereum exceeded one million transactions in a single day for the first time.[58]

Ethereum engineers have been working on sharding the calculations, and the next step (called Ethereum 2) was presented at Ethereum's Devcon 3 in November 2017.[59]

Ethereum's blockchain uses Merkle trees, for security reasons, to improve scalability, and to optimize transaction hashing.[60] As with any Merkle tree implementation, it allows for storage savings, set membership proofs (called "Merkle proofs"), and light client synchronization. The Ethereum network has at times faced congestion problems, for example, congestion occurred during late 2017 in relation to Cryptokitties.[61]

Development governance and EIP

Template:Quote box

In October 2015,[62] a development governance was proposed as Ethereum Improvement Proposal, aka EIP, standardized on EIP-1.[63] The core development group and community were to gain consensus by a process regulated EIP.Template:Fact

Criticisms

Izabella Kaminska, the editor of FT Alphaville, pointed out in 2017 that criminals were using Ethereum to run Ponzi schemes and other forms of investment fraud.[64] The article was based on a paper from the University of Cagliari, which placed the number of Ethereum smart contracts which facilitate Ponzi schemes at nearly 10% of 1384 smart contracts examined. However, it also estimated that only 0.05% of the transactions on the network were related to such contracts.[65]

References

1 }}
     | references-column-width 
     | references-column-count references-column-count-{{#if:1|{{{1}}}}} }}
   | {{#if: 
     | references-column-width }} }}" style="{{#if: 
   | {{#iferror: {{#ifexpr: 1 > 1 }}
     | Template:Column-width
     | Template:Column-count }}
   | {{#if: 
     | Template:Column-width }} }} list-style-type: {{#switch: 
   | upper-alpha
   | upper-roman
   | lower-alpha
   | lower-greek
   | lower-roman = {{{group}}}
   | #default = decimal}};">
  1. Cryptocurrencies: A Brief Thematic Review Template:Webarchive. Social Science Research Network. Date accessed 28 August 2017.
  2. 2.0 2.1 2.2 2.3 Template:Cite book
  3. Template:Cite web
  4. Template:Cite web
  5. Template:Cite web
  6. Template:Cite web
  7. Template:Cite web
  8. Template:Cite web
  9. Template:Cite web
  10. 10.0 10.1 10.2 10.3 10.4 Template:Cite news
  11. Template:Cite web
  12. 12.0 12.1 Template:Cite web
  13. Template:Cite web
  14. Template:Cite news
  15. Template:Cite web
  16. Template:Cite book
  17. Template:Cite web
  18. Template:Cite news
  19. Template:Cite web
  20. Template:Cite press release
  21. Template:Cite web
  22. Template:Cite web
  23. "Sberbank joins Enterprise Ethereum Alliance to broaden cooperation"(19 October 2017). Fintech Futures News. Retrieved 6 June 2018.
  24. Template:Cite web
  25. Template:Cite web
  26. Template:Cite news
  27. Template:Cite news
  28. 28.0 28.1 Template:Cite news
  29. Template:Cite web
  30. Template:Cite web
  31. Template:Cite web
  32. Template:Cite journal
  33. Template:Cite book
  34. Template:Cite news
  35. 35.0 35.1 35.2 Template:Cite news
  36. 36.0 36.1 Template:Cite web
  37. Template:Cite web
  38. Template:Cite web
  39. Template:Cite report
  40. Template:Cite journal
  41. Template:Cite web
  42. Template:Cite web
  43. Template:Cite web
  44. Template:Cite web
  45. Template:Cite news
  46. Template:Cite web
  47. Template:Cite news
  48. Template:Cite news
  49. Template:Cite web
  50. Template:Cite news
  51. Template:Cite web
  52. Template:Cite web
  53. Template:Cite web
  54. Template:Cite news
  55. Template:Cite web
  56. 56.0 56.1 56.2 Template:Cite web
  57. Template:Cite news
  58. Template:Cite web
  59. Template:Cite web
  60. Template:Cite web
  61. Template:Cite web
  62. Template:Cite web
  63. Template:Cite web
  64. Template:Cite news
  65. Template:Cite journal

External links

Template:Commons category

Template:Cryptocurrencies