Ethereum

From Wikipedia, the free encyclopedia
Jump to: navigation, search
Ethereum
Ethereum logo 2014.svg
The Ethereum Project's logo, first used in 2014.
Initial release 30 July 2015
Repository github.com/ethereum/go-ethereum
Development status Active
Written in C++, Go, Rust
Operating system Clients available for Linux, Windows, macOS, POSIX, Raspbian
Platform x86, ARM
Type Decentralized computing
License Multiple open-source licenses
Website www.ethereum.org

Ethereum is an open-source, public, blockchain-based distributed computing platform featuring smart contract (scripting) functionality.[1][irrelevant citation][2][not in citation given] It provides a decentralized Turing-complete virtual machine, the Ethereum Virtual Machine (EVM), which can execute scripts using an international network of public nodes. Ethereum also provides a cryptocurrency token called "ether", which can be transferred between participants and is used to compensate participant nodes for computations performed. Gas, an internal transaction pricing mechanism, is used to prevent spam on the network and allocate resources proportionally to the incentive offered by the request.[3][non-primary source needed][4][non-primary source needed][5][unreliable source?][6][unreliable source?]

Ethereum was initially proposed in late 2013 by Vitalik Buterin, a cryptocurrency researcher and programmer. Development was funded by an online crowdsale during July–August 2014.[7] The system went live on 30 July 2015. A hard fork on the network occurred on July 20, 2016, resulted in two separate blockchains: Ethereum and Ethereum Classic. Ethereum Classic is a separate blockchain that came into existence as the original unforked blockchain, consolidating members of the Ethereum community who rejected this fork on philosophical grounds.[8]

History[edit]

Origin[edit]

Ethereum was initially described in a white paper by Vitalik Buterin,[9] a programmer involved with Bitcoin, in late 2013 with a goal of building decentralized applications.[10][11] Buterin had argued that Bitcoin needed a scripting language for application development. Failing to gain agreement, he proposed development of a new platform with a more general scripting language.[12]:88

The Ethereum software project was initially developed in early 2014 by a Swiss company, Ethereum Switzerland GmbH (EthSuisse).[13][14][unreliable source?] Subsequently, a Swiss non-profit foundation, the Ethereum Foundation (Stiftung Ethereum) was set up as well.[7] 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.[7] While there was early praise for the technical innovations of Ethereum, questions were also raised about its security and scalability.[10]

Launch[edit]

Ethereum's live blockchain was launched on 30 July 2015.[15][not in citation given][16] The initial version of Ethereum—called "Frontier"—uses a proof of work consensus algorithm, although a later version is expected to replace that with a proof of stake algorithm.[12]:32

Ethereum versions[edit]

Since the initial version, the Ethereum network has accomplished several so-called hard forks, important changes because they are backwards-incompatible.

Version Code name Release date
Old version, no longer supported: 1 Frontier July 2014[citation needed]
Old version, no longer supported: 1.1 Protocol Update 1 August 4, 2015 [17][non-primary source needed]
Old version, no longer supported: 2 Homestead February 29, 2016 [18][non-primary source needed]
Old version, no longer supported: 3 The DAO July 20, 2016 [19][non-primary source needed]
Current stable version: 4 Spurious Dragon November 18, 2016 [20][non-primary source needed]
Future release: ? Metropolis [21]  ?
Future release: ? Serenity [21]  ?
Legend:
Old version
Older version, still supported
Latest version
Latest preview version
Future release
First hard fork

The first hard fork introduced a difficulty bomb[when?] to incentivize an upgrade to proof of stake when this system will be ready.[22]

Second hard fork—Homestead release

The second hard fork was made in Spring 2016[clarification needed] and marked the first stable release: Homestead.[citation needed]

Third hard fork—The DAO

In June 2016, The DAO, a platform for the autonomous governance of investment capital, was found to contain an unexpected code path which would allow any sophisticated user to withdraw an arbitrary amount of funds from the DAO. This was exploited by an unknown party on the 16th of June, who managed to move about one third of the Ether held then by the DAO (at the time valued at 50 million USD) into a clone of the DAO, a "ChildDAO" whose control was held by only this party.[23][24] As a consequence of the way the DAO was programmed, these moved funds would remain unavailable for withdrawal for about a month.[25]

The Ethereum community debated how and whether to reclaim the ether, and whether to shut down The DAO,[25] as the decentralised nature of The DAO and of Ethereum meant a lack of a central authority that could take quick action, instead requiring community consensus.[24] After a few weeks' discussion, on 20 July 2016 Ethereum hard-forked (a backward-incompatible change[26]) creating a new fork to reverse the hack and return The DAO funds, with the original chain adopting the name Ethereum Classic.[27] This was the first time any mainstream blockchain was forked to reverse a transaction in order to make reparations to investors in a failed enterprise.[26]

After The DAO fork, Ethereum subsequently forked multiple times to deal with other attacks.[28]

Fourth hard fork—de-bloating & DDoS protection

Towards the end of November 2016, a fourth hard fork took place. This hard fork successfully de-bloated the blockchain and attempted to prevent further spam attacks by hackers.[29]

Features[edit]

Ether[edit]

Ether
Denominations
Symbol Ξ or ETH
Demographics
User(s) Worldwide
Issuance
Currency type Cryptocurrency

The value token of the Ethereum blockchain is called ether. It is listed under the diminutive ETH and traded on cryptocurrency exchanges. It is also used to pay for transaction fees and computational services on the Ethereum network.[30]

Tokens can be volatile per circumstances, such as ether's plunge from $21.50 to $8 when The DAO was hacked on June 17, 2016.[24]

Smart contracts[edit]

Main article: Smart contract

Smart contracts are applications with a state stored in the blockchain. They can facilitate, verify, or enforce the negotiation or performance of a contract. Ethereum contracts can be implemented in various Turing complete scripting languages.[31][unreliable source?] The Ethereum system has been described by the New York Times as "a single shared computer that is run by the network of users and on which resources are parceled out and paid for by Ether."[30][32][irrelevant citation]

Contracts on the public blockchain[edit]

As the contracts can be public, it opens up the possibility to prove functionality, e.g. self-contained provably fair casinos.[33]

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

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

Ethereum Virtual Machine[edit]

The Ethereum Virtual Machine (EVM)[36][non-primary source needed] is the runtime environment for smart contracts in Ethereum. The opcodes available to the EVM are specified in the Ethereum Yellow Paper by Gavin Wood.[37][non-primary source needed] It is sandboxed and also completely isolated from the network, filesystem or other processes of the host computer system. Every Ethereum node in the network runs an EVM implementation and executes the same instructions. Ethereum Virtual Machines have been implemented in go, C++, Python, Ruby, and WebAssembly (currently under development).[citation needed]

Programming languages[edit]

Main article: Solidity

Smart contracts can be written in Solidity, Serpent[38] and Viper (derivatives of Python), and LLL.[39] The EVM also runs on Mutan (deprecated).[40][non-primary source needed] The smart contracts are subsequently compiled into the EVM bytecode and deployed to run on the Ethereum blockchain.[39][41]

Clients[edit]

The Ethereum Foundation funded reference implementations of the Ethereum client in several languages, including Python,[42][non-primary source needed] C++,[43][non-primary source needed] Go[43][non-primary source needed] and Java.[44][non-primary source needed][45][non-primary source needed][43][non-primary source needed] Implementations not funded by the foundation are available in Rust,[46][non-primary source needed][47] JavaScript[48][non-primary source needed][43][non-primary source needed] and Ruby.[49][non-primary source needed]

Performance[edit]

In Ethereum all smart contracts are stored publicly on every node of the blockchain, which has trade-offs.[50] The downside is that performance issues arise in that every node is calculating all the smart contracts in real time, resulting in slower speeds.[50] Ethereum engineers have been working on sharding the calculations, but no solution had been detailed by early 2016.[50] As of January 2016, the Ethereum protocol could process 25 transactions per second.[50] In September 2016, Buterin presented proposals to increase scalability.[51]

Uses[edit]

The Ethereum platform has multiple proposed uses. Bloomberg describes it as "shared software that can be used by all but is tamperproof."[52] Ethereum is used as a platform for decentralized applications, decentralized autonomous organizations and smart contracts, with "dozens of functioning applications built" on it by March 2016 according to the New York Times.[30][53] The intended scope of applications include projects related to finance, the internet-of-things, farm-to-table produce, electricity sourcing and pricing, and sports betting.[30] Decentralized autonomous organizations may enable a wide range of possible business models that were previously impossible or too costly to run.[54]

Adoption[edit]

The New York Times noted in March 2016 that Ethereum adoption was still at an early stage and that Ethereum could encounter technical and legal problems that would slow its growth.[30] Some Bitcoin advocates say that Ethereum may "face more security problems than Bitcoin because of the greater complexity of the software." The article also said, "The system is complicated enough that even people who know it well have trouble describing it in plain English".[30]

Microsoft announced a partnership with ConsenSys, a blockchain startup focused on Ethereum technology. Customers of popular cloud-based business service Microsoft Azure have access to third-party tools that "allow them to experience and build with cloud-based blockchain applications, from securities trading to cross-border payments".[2][not in citation given]

Applications[edit]

This list is not exhaustive and some elements can be outdated.

Enterprise software[edit]

Ethereum is being tested by enterprise software companies for various applications. Interested parties include Microsoft, IBM, JPMorgan Chase,[30][76] Deloitte,[77] R3,[53] Innovate UK (cross-border payments prototype)[78][79][unreliable source?]

Wallets[edit]

Permissioned ledgers[edit]

Ethereum is used and being investigated as a permissioned blockchain in various projects.

  • J.P. Morgan Chase is developing a blockchain, atop Ethereum. The system, dubbed "Quorum," 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.[82]
  • 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. According to a technical paper, "The test results evidenced a throughput of 100 payments per second, with 6 simulated banks, and a single trip mean time of 3 seconds and maximum time of 8 seconds. This is the level appropriate for a national level domestic payments system".[83][third-party source needed]

References[edit]

  1. ^ Ehsani, Farzam (22 December 2016). "Blockchain in Finance: From Buzzword to Watchword in 2016". CoinDesk (News). Retrieved 22 December 2016. 
  2. ^ a b Vigna, Paul (28 October 2015). "BitBeat: Microsoft to Offer Ethereum-Based Services on Azure". The Wall Street Journal (Blog). News Corp. Retrieved 17 February 2016. 
  3. ^ "Account Types, Gas, and Transactions — Ethereum Homestead 0.1 documentation". ethdocs.org. Retrieved 2017-01-15. 
  4. ^ Ethereum. "Gas and transaction costs | Ethereum Frontier Guide". ethereum.gitbooks.io. Retrieved 2017-01-15. 
  5. ^ "What is the "Gas" in Ethereum?". CryptoCompare. Retrieved 2017-01-15. 
  6. ^ ConsenSys (2016-06-23). "Ethereum, Gas, Fuel, & Fees". ConsenSys Media. Retrieved 2017-01-15. 
  7. ^ a b c d Aitken, Roger (23 April 2016). "Digital Gold 'Done Right' With DigixDAO Crypto-Trading On OpenLedger". Forbes. Retrieved 28 April 2016. 
  8. ^ van Wirdum, Aaron (20 July 2016). "Rejecting Today's Hard Fork, the Ethereum Classic Project Continues on the Original Chain: Here's Why". Bitcoin Magazine. Retrieved 20 July 2016. 
  9. ^ "White Paper · ethereum/wiki Wiki · GitHub". 
  10. ^ a b Finley, Klint (27 January 2014). "Out in the Open: Teenage Hacker Transforms Web Into One Giant Bitcoin Network". Wired. Retrieved 21 March 2016. 
  11. ^ Schneider, Nathan (7 April 2014). "Code your own utopia: Meet Ethereum, bitcoin's most ambitious successor". Al Jazeera. Retrieved 21 February 2016. 
  12. ^ a b Tapscott, Don; Tapscott, Alex (May 2016). The Blockchain Revolution: How the Technology Behind Bitcoin is Changing Money, Business, and the World. ISBN 978-0670069972. 
  13. ^ Schmid, Valentin (10 May 2014). "The Entrepreneur: Joe Lubin, COO of Ethereum". Epoch Times. Retrieved 31 March 2016. 
  14. ^ "Company Overview of Ethereum Switzerland GmbH". Bloomberg. 2016-08-20. Archived from the original on 2016-08-20. Retrieved 2016-08-20. The company was founded in 2014 and is based in Baar, Switzerland. 
  15. ^ Tapscott, Don; Tapscott, Alex (May 2016). The Blockchain Revolution: How the Technology Behind Bitcoin is Changing Money, Business, and the World. p. 87. ISBN 978-0670069972. July 30, 2015, ... Ethereum ... went live. ... Ethereum is like bitcoin in that its ether motivates a network of peers to validate transactions, secure the network, and achieve consensus about what exists and what has occurred. But unlike bitcoin it contains some powerful tools to help developers and others create software services ranging from decentralized games to stock exchanges. ... a more robust scripting language for developing applications. 
  16. ^ https://www.nytimes.com/2016/03/28/business/dealbook/ethereum-a-virtual-currency-enables-transactions-that-rival-bitcoins.html?_r=0 Retrieved September-2-2016
  17. ^ Tual, Stephen (4 August 2015). "Ethereum Protocol Update 1". Ethereum Blog. Retrieved 24 Feb 2017. 
  18. ^ Wilcke, Jeffrey (29 February 2016). "Homestead Release". Ethereum Blog. Retrieved 24 Feb 2017. 
  19. ^ Buterin, Vitalik (20 July 2016). "Hard Fork Completed". Ethereum Blog. Retrieved 24 Feb 2017. 
  20. ^ Jameson, Hudson (18 November 2016). "Hard Fork No. 4: Spurious Dragon". Ethereum Blog. Retrieved 24 Feb 2017. 
  21. ^ a b "The Ethereum releases of Frontier, Homestead, Metropolis and Serenity.". 
  22. ^ "Ethereum Prepares for the Spurious Dragon Hardfork - CryptoCoinsNews". 16 November 2016. 
  23. ^ a b Popper, Nathaniel (17 June 2016). "Hacker May Have Taken $50 Million From Cybercurrency Project". The New York Times. 
  24. ^ a b c Price, Rob (17 June 2016). "Digital currency Ethereum is cratering amid claims of a $50 million hack". Business Insider. 
  25. ^ a b Klint Finley for Wired. June 18, 2016 A $50 Million Hack Just Showed That The Dao Was All Too Human
  26. ^ a b Peck, Morgan (19 July 2016). ""Hard Fork" Coming to Restore Ethereum Funds to Investors of Hacked DAO". IEEE Spectrum: Technology, Engineering, and Science News. IEEE. Retrieved 20 July 2016. 
  27. ^ Vigna, Paul (20 July 2016). "Ethereum Gets Its Hard Fork, and the 'Truth' Gets Tested". Moneybeat. The Wall Street Journal. Retrieved 20 July 2016. 
  28. ^ Redman, Jamie (14 October 2016). "Ethereum to Hard Fork Two More Times Following Recent Attacks". Bitcoin.com. Bitcoin.com. Retrieved 22 November 2016. 
  29. ^ "Ethereum's Fourth Blockchain Fork: So Far, So Good". CoinDesk. 2016-11-22. Retrieved 2016-12-07. 
  30. ^ a b c d e f g Nathaniel Popper for the New York Times. March 27, 2016 Ethereum, a Virtual Currency, Enables Transactions That Rival Bitcoin's
  31. ^ Jon, Evans. "Vapor No More: Ethereum Has Launched". techcrunch.com. Retrieved 25 February 2016. 
  32. ^ "The great chain of being sure about things". The Economist. 31 October 2015. Retrieved 4 May 2016. All sorts of companies and public bodies suffer from hard-to-maintain and often incompatible databases and the high transaction costs of getting them to talk to each other. This is the problem Ethereum, arguably the most ambitious distributed-ledger project, wants to solve. ... Ethereum's distributed ledger can deal with more data than bitcoin's can. And it comes with a programming language that allows users to write more sophisticated smart contracts, [that among other things] allow the formation of "decentralised autonomous organisations"—virtual companies that are basically just sets of rules running on Ethereum's blockchain. 
  33. ^ Piasecki, Piotr J. (2016). "Gaming Self-Contained Provably Fair Smart Contract Casinos". Ledger. 1: 99–110. doi:10.5195/ledger.2016.29. 
  34. ^ Peck, M. (28 May 2016). "Ethereum's $150-Million Blockchain-Powered Fund Opens Just as Researchers Call For a Halt". IEEE Spectrum. Institute of Electrical and Electronics Engineers. 
  35. ^ "Short Paper: Formal Verification of Smart Contracts" (PDF). microsoft.com/. Microsoft. Archived from the original (PDF) on 27 August 2016. Retrieved 25 August 2016. 
  36. ^ [1] Ethereum Homestead Documentation
  37. ^ Ethereum Yellow Paper by Gavin Wood
  38. ^ Rauhauser, Neal (12 November 2014). "Ethereum's Brave New World". Cryptocoinnews.com. Retrieved 12 December 2016. 
  39. ^ a b Browning, David (May 2016). Digital Siege: Why Young Entrepreneurs Are Winning Paperback. ISBN 978-1628652963. Retrieved 2017-01-08. 
  40. ^ "Ethereum High Level Languages". Ethdocs.org. Retrieved 12 September 2016. 
  41. ^ Allison, Ian (2 November 2016). "Ethereum Bug Sends Smart Contracts Back to the Drawing Board". CoinDesk.com. Retrieved 12 December 2016. 
  42. ^ ethereum. "GitHub – ethereum/pyethapp". GitHub. 
  43. ^ a b c d "Ethereum Clients — Ethereum Homestead 0.1 documentation". 
  44. ^ Roman Mandeleil. "Ethereum J". ethereumj.io. 
  45. ^ "Ethereum(J) — Ethereum Homestead 0.1 documentation". readthedocs.org. Retrieved 5 April 2016. 
  46. ^ "Press – Ethcore". ethcore.io. 
  47. ^ "Ethereum Venture Company Releases its Flagship Blockchain Suite". forklog.net. Retrieved 5 April 2016. 
  48. ^ "ethereumjs". ethereumjs.github.io. 
  49. ^ janx. "GitHub – janx/ruby-ethereum: A Ruby implementation of Ethereum.". GitHub. 
  50. ^ a b c d Allison, Ian (25 January 2016). "How are banks actually going to use blockchains and smart contracts?". International Business Times. Retrieved 4 May 2016. 
  51. ^ "Ethereum's Creator Proves Blockchain Scaling Vision is No Joke - CoinDesk". 19 September 2016. 
  52. ^ "This Is Your Company on Blockchain". Bloomberg Businessweek. Retrieved 2016-09-14. 
  53. ^ a b Allison, Ian (20 January 2016). "R3 connects 11 banks to distributed ledger using Ethereum and Microsoft Azure". International Business Times. Retrieved 23 February 2016. 
  54. ^ Bordet, Julián (21 March 2016). "Decentralized Autonomous Organizations: Ethereum Sparks Up Googles of Tomorrow". The Cointelegraph. Retrieved 21 July 2016. 
  55. ^ "Luxembourg Stock Exchange introduces blockchain into reporting service". 2016-10-18. Retrieved 2016-11-04. 
  56. ^ EconoTimes. "ConsenSys uPort wins International Blockchain Summit - EconoTimes". EconoTimes. Retrieved 2017-02-06. 
  57. ^ Allison, Ian (2016-09-23). "ConsenSys uPort scoops first prize in International Blockchain Summit Demo Day". International Business Times UK. Retrieved 2017-02-06. 
  58. ^ Young, Joseph. "Chronicled Introduces New Ethereum-Powered IoT Open Registry". Nasdaq. 
  59. ^ "Ethcore Announces Pre-release Of Its Blockchain Technology Suite 'Parity'". EconoTimes. 11 February 2016. Retrieved 24 March 2016. 
  60. ^ Allison, Ian. "Ethereum-based Slock.it reveals first ever lock opened with money". International Business Times UK. 
  61. ^ Allison, Ian (September 12, 2016). "Decentralized Capital issuing fiat-backed digital assets on the Ethereum blockchain". International Business Times. 
  62. ^ "Santander Confirms Fiat-backed Token Project on Ethereum Blockchain". CoinTelegraph. Retrieved 2017-01-15. 
  63. ^ Buntinx, JP (28 April 2016). "DigixDAO DGD Assets To Be Listed on OpenLedger". The Merkle. Retrieved 29 May 2016. 
  64. ^ Allison, Ian (4 October 2015). "Imogen Heap shows how smart music contracts work using Ethereum". International Business Times. Retrieved 24 March 2016. 
  65. ^ "Ethereum Prediction Market Service Takes First Steps With Beta Launch - CoinDesk". CoinDesk. 2016-08-17. Retrieved 2017-02-06. 
  66. ^ "ICO Roundup 2017 by Cointelegraph: Cashing In On Blockchain Apps' Mainstream Year". CoinTelegraph. Retrieved 2017-02-06. 
  67. ^ Rennie, Ellie (12 May 2016). "The radical DAO experiment". Swinburne News. Swinburne University of Technology. Retrieved 12 May 2016. When it reaches the end of the funding phase on May 28, it will begin contracting blockchain-based start-ups to create innovative technologies. The extraordinary thing about The DAO is that no single entity owns it, and it has no conventional management structure or board of directors. 
  68. ^ Allison, Ian (30 April 2016). "Ethereum reinvents companies with launch of The DAO". International Business Times. Retrieved 1 May 2016. 
  69. ^ Vigna, Paul (16 May 2016). "Chiefless Company Rakes In More Than $100 Million". The Wall Street Journal. Retrieved 16 May 2016. 
  70. ^ Weinglass, Simona (19 August 2015). "Backfeed wants to decentralize the Internet and help you earn what you deserve". Geektime.com. Retrieved 24 March 2016. 
  71. ^ CFA, Adam Hayes, (2017-02-03). "This New Social Network is Powered by Ethereum Technology". Investopedia. Retrieved 2017-02-06. 
  72. ^ Allison, Ian (22 December 2015). "Game-changers FreeMyVunk and Digix allow video gamers to trade virtual assets for physical gold". International Business Times. Retrieved 24 March 2016. 
  73. ^ "Decentralized Options Exchange Etheropt Uses Automated Ethereum Smart Contract". 
  74. ^ Rutkin, Aviva (2 March 2016). "Blockchain-based microgrid gives power to consumers in New York". New Scientist. Retrieved 24 March 2016. 
  75. ^ Mizrahi, Avi (2016-12-01). "Everex Helps Migrant Workers Send Remittance Back to Myanmar via Ethereum". Finance Magnates. Retrieved 2016-12-14. 
  76. ^ "Hyperledger blockchain code almost comes together for IoT". Rethink Research. Retrieved 23 April 2016. 
  77. ^ Allison, Ian (3 May 2016). "Deloitte to build Ethereum-based 'digital bank' with New York City's ConsenSys". International Business Times. 
  78. ^ "UK Government Awards £248k for Ethereum Prototype". CoinDesk. 
  79. ^ "Settlement using blockchain to Automate Foreign Exchange in a Regulated environment (SAFER)". Innovate UK. 
  80. ^ "A Review of The Best Ethereum Wallets". 
  81. ^ "ethereum/cpp-ethereum". 
  82. ^ Hacket, Robert. "Why J.P. Morgan Chase Is Building a Blockchain on Ethereum". Fortune. 
  83. ^ "Proving Ethereum for the Clearing Use Case" (PDF). 

External links[edit]