Jump to content

Ethereum: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Add roadmap.
Add info about Solidity documentation and browser development environment.
Line 87: Line 87:
==Contracts==
==Contracts==
[[Smart contract]]s are a set of promises, specified in digital form, including protocols within which the parties perform on these promises. In Ethereum, contracts are one of the two main types of accounts (the other being normal or externally controlled accounts),<ref name="whitepaper" /> and can be implemented in one of the following three higher-level languages:
[[Smart contract]]s are a set of promises, specified in digital form, including protocols within which the parties perform on these promises. In Ethereum, contracts are one of the two main types of accounts (the other being normal or externally controlled accounts),<ref name="whitepaper" /> and can be implemented in one of the following three higher-level languages:
* Solidity, a [[JavaScript]]-like language officially supported by Ethereum and co-created by Gavin Wood and Christian Reitweissner <ref>{{cite web | url=https://ethereum.github.io/solidity/docs/home/ | title=Solidity Documentation | publisher=Ethereum | accessdate=29 November 2015}}</ref><ref>{{cite web | url=https://stackedit.io/viewer#!url=https://gist.githubusercontent.com/gavofyork/31b35cd2252a00d0d057/raw/16de06189d2175d2e31b300f1f8531e20c927635/solidity-original | title=Solidity Orgin | publisher=stackedit | accessdate=18 December 2015}}</ref>
* Solidity, a [[JavaScript]]-like language officially supported by Ethereum and co-created by Gavin Wood and Christian Reitweissner. <ref>{{cite web | url=https://ethereum.github.io/solidity/docs/home/ | title=Solidity Documentation | publisher=Ethereum | accessdate=29 November 2015}}</ref><ref>{{cite web | url=https://stackedit.io/viewer#!url=https://gist.githubusercontent.com/gavofyork/31b35cd2252a00d0d057/raw/16de06189d2175d2e31b300f1f8531e20c927635/solidity-original | title=Solidity Orgin | publisher=stackedit | accessdate=18 December 2015}}</ref> It has extensive documentation<ref>[https://solidity.readthedocs.org/en/latest/ Solidity documentation]</ref> and a browser-based development environment<ref>[https://chriseth.github.io/browser-solidity/ Solidity realtime compiler and runtime]</ref>.
* Serpent, a [[Python (programming language)|Python]]-like language created by Vitalik Buterin
* Serpent, a [[Python (programming language)|Python]]-like language created by Vitalik Buterin
* LLL, a [[Lisp (programming language)|Lisp]]-like language
* LLL, a [[Lisp (programming language)|Lisp]]-like language

Revision as of 11:04, 27 December 2015

Ethereum Software
Original author(s)Vitalik Buterin, Gavin Wood
Developer(s)Gavin Wood, Jeffrey Wilcke, Vitalik Buterin, et al
Repository
Written inC++, Go, JavaScript, Python, Java, node.js, Haskell[citation needed]
Operating systemLinux, Windows, OS X, POSIX compliant
TypeDecentralized computing
LicenseGPL3, MIT, LGPL, et al
Websitewww.ethereum.org

Ethereum is a cryptocurrency platform and Turing-complete programming framework intended to allow a network of peers to administer their own stateful user-created smart contracts in the absence of central authority.[1] It features a blockchain-based virtual machine that securely records and incentivizes the validation of transactions, i.e. code executions, made through a cryptocurrency called ether. Smart contracts deployed on the Ethereum blockchain are paid for in ether.

Ethereum was initially described by Vitalik Buterin in late 2013,[2] formally described by Gavin Wood in early 2014 in the so-called "yellow paper"[3] and launched 30 July 2015.[4] It is among a group of "next generation" (or "Bitcoin 2.0") platforms.[5]

Purpose

The stated purpose of the Ethereum Project is to build and proliferate a decentralised Web 3.0 by introducing four components as part of its roadmap: incentivized static content publication (Swarm), pseudonymous low-level messaging system (Whisper), trustless transactions (Ethereum) and an integrated user-interface (Mist).[6] Each of these services is designed to replace some aspect of the systems currently used in the modern web, but to do so in a fully decentralised and pseudonymous manner.[7]

Development

File:DEVCON 0 group photo.jpeg
Group photo from DEVCON-0, Berlin, 14 November 2014.

Ethereum is an open source project. Development began in December 2013, with the first Go and C++ proof of concept builds (PoC1) being released in early February 2014.[8] Since then, several further PoC builds have been released, culminating with the public launch of the Ethereum blockchain on 30 July 2015.

Ether

Ether[9]
Unit
SymbolΞ[10]
Denominations
Subunit
 10−3finney
 10−6szabo
 10−18wei
Demographics
Date of introduction30 July 2015[11]Genesis block
User(s)Worldwide
Issuance
Currency typeCryptocurrency
Valuation
Issuance modelDisinflation[12]

The currency unit of Ethereum is the ether, used to pay for computational services on the network.

To finance development, Ethereum distributed the initial allocation of ether via a 42-day public crowdsale, netting 31,591 bitcoins, worth $18,439,086 at that time, in exchange for about 60,102,216 ether.[13] [citation needed]

Ether is divided into smaller units of currency called finney, szabo, shannon, babbage, lovelace, and wei (named after Wei Dai, the creator of b-money). Each larger unit is equal to 1000 of the next lower unit.[14] In practice, however, the developers encourage the use of ether and wei. Wei is the base unit of implementation and cannot be further divided.

Contracts

Smart contracts are a set of promises, specified in digital form, including protocols within which the parties perform on these promises. In Ethereum, contracts are one of the two main types of accounts (the other being normal or externally controlled accounts),[14] and can be implemented in one of the following three higher-level languages:

  • Solidity, a JavaScript-like language officially supported by Ethereum and co-created by Gavin Wood and Christian Reitweissner. [15][16] It has extensive documentation[17] and a browser-based development environment[18].
  • Serpent, a Python-like language created by Vitalik Buterin
  • LLL, a Lisp-like language

They are compiled into bytecode for the Ethereum Virtual Machine before being deployed to the blockchain.

Implementations

The following full-node implementations of Ethereum are available:

Development phases

Ethereum has a multi-phase development roadmap.[25]

Olympic

Olympic was the last in the Ethereum proof of concept series. "The purpose of Olympic is to reward people who try to test the limits of the Ethereum blockchain during the pre-release period, spamming the network with transactions and doing crazy things with the state, so that we can see how the network holds up under high levels of load."[26]

Frontier

This is the current phase. "Frontier is a live, but barebone implementation of the Ethereum project. It’s intended for technical users, specifically developers. During the Frontier release, we expect early adopters and application developers to establish communities and start forming a live ecosystem."[27]

Homestead

Homestead will include the Mist wallet and light-client support.[28]

Metropolis

Ethereum will no-longer be considered beta. Mist will be a full featured dapp browser.[29]

Serenity

This is the largest milestone in the development roadmap. It will have the following features:[30]

  • Abstraction: accounts, blocks, and storage will become more idiomatic with more base functionality being implemented as smart contracts.
  • Casper: switch from proof of work to proof of stake.
  • Scalability scaffolding

Media

The platform has been covered in The Wall Street Journal, [31] Wired,[32] The Globe and Mail,[33] SiliconANGLE,[34] Al Jazeera,[35] The Telegraph[36] and the Keiser Report.[37]

References

  1. ^ Buterin, Vitalik. "The Problem of Censorship". Ethereum Blog. Retrieved 6 June 2015.
  2. ^ Buterin, Vitalik (2014-01-23). "Ethereum: A Next-Generation Cryptocurrency and Decentralized Application Platform". Bitcoin Magazine. Retrieved 9 April 2014.
  3. ^ Wood, Gavin (2014-04-06). "Ethereum: A Secure Decentralised Generalised Transaction Ledger" (PDF). Self published. Retrieved 20 February 2015.
  4. ^ Tual, Stephan. "Ethereum Launches". blog.ethereum.org. Retrieved 31 July 2015.
  5. ^ Kharif, Olga (2014-03-28). "Bitcoin 2.0 Shows Technology Evolving Beyond Use as Money". Bloomberg News. Retrieved 11 April 2014.
  6. ^ Gerring, Taylor (2014-08-18). "building the decentralized web 3.0". Retrieved 20 April 2015.
  7. ^ Winters, Tristan (2014-04-25). "Web 3.0 – A Chat With Ethereum's Gavin Wood". Retrieved January 2015. {{cite web}}: Check date values in: |accessdate= (help)
  8. ^ Tual, Stephan. "C++ Code+Build FAQ". Ethereum. Retrieved 3 September 2014.
  9. ^ What is ether?
  10. ^ "The symbol for Ether is..." 7 June 2014. Retrieved August 14, 2014.
  11. ^ Genesis block
  12. ^ The Issuance Model in Ethereum
  13. ^ "Crypto 2.0 Roundup: Block Chain Bloat, Ethereum Completes Presale and a Crypto Football Team". CoinDesk. https://plus.google.com/+Coindesk/. Retrieved 2015-11-13. {{cite web}}: External link in |publisher= (help)
  14. ^ a b Buterin, Vitalik. "[English] White Paper: A Next-Generation Smart Contract and Decentralized Application Platform". ethereum / wiki on GitHub. Self-published. Retrieved 11 April 2014.
  15. ^ "Solidity Documentation". Ethereum. Retrieved 29 November 2015.
  16. ^ "Solidity Orgin". stackedit. Retrieved 18 December 2015.
  17. ^ Solidity documentation
  18. ^ Solidity realtime compiler and runtime
  19. ^ go-ethereum homepage
  20. ^ Ethereum C++ Client GitHub repository
  21. ^ Ethereum J homepage
  22. ^ pyethapp GitHub repository
  23. ^ ethereumjs homepage
  24. ^ ethereum-client-haskell GitHub repository
  25. ^ The Ethereum Launch Process
  26. ^ https://blog.ethereum.org/2015/07/22/frontier-is-coming-what-to-expect-and-how-to-prepare/ [Olympic: Frontier Pre-Release]
  27. ^ Frontier is coming – what to expect, and how to prepare
  28. ^ taylorgerring comments on Ethereum release timeline - Metropolis
  29. ^ The Ethereum Launch Process
  30. ^ Understanding Serenity, Part I: Abstraction
  31. ^ Paul Vigna (28th October 2015). Microsoft to Offer Ethereum Based Services. The Wall Street Journal. Retrieved 7 November 2015.
  32. ^ Finley, Kurt (2014-01-27). "Out in the Open: Teenage Hacker Transforms Web Into One Giant Bitcoin Network". Wired. Retrieved 6 April 2014.
  33. ^ Gray, Jeff (2014-04-07). "Bitcoin believers: Why digital currency backers are keeping the faith". The Globe and Mail. Phillip Crawley. Retrieved 6 April 2014.
  34. ^ Cox, Ryan. "Can Ethereum kill Bitcoin with self-executing contracts?". SiliconANGLE. Retrieved 6 April 2014.
  35. ^ Nathan Schneider (7 April 2014). Code your own utopia: Meet Ethereum, bitcoin's most ambitious successor. Al Jazeera America. Retrieved 10 June 2014.
  36. ^ Soon, the internet will be impossible to control. Jamie Bartlett. Retrieved 19 December 2014.
  37. ^ Keiser Report: New Crypto Phenomenon Ethereum. Max Keiser. Retrieved 10 June 2014.