Ethereum: Difference between revisions
Ethernomad (talk | contribs) Add roadmap. |
Ethernomad (talk | contribs) 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
Original author(s) | Vitalik Buterin, Gavin Wood |
---|---|
Developer(s) | Gavin Wood, Jeffrey Wilcke, Vitalik Buterin, et al |
Repository | |
Written in | C++, Go, JavaScript, Python, Java, node.js, Haskell[citation needed] |
Operating system | Linux, Windows, OS X, POSIX compliant |
Type | Decentralized computing |
License | GPL3, MIT, LGPL, et al |
Website | www |
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
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
Unit | |
---|---|
Symbol | Ξ[10] |
Denominations | |
Subunit | |
10−3 | finney |
10−6 | szabo |
10−18 | wei |
Demographics | |
Date of introduction | 30 July 2015[11]Genesis block |
User(s) | Worldwide |
Issuance | |
Currency type | Cryptocurrency |
Valuation | |
Issuance model | Disinflation[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:
- Geth, written in Go[19]
- Eth, written in C++[20]
- Ethereum J, written in Java[21]
- pyethapp, written in Python[22]
- ethereumjs, written in JavaScript[23]
- ethereumH, written in Haskell[24]
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
- ^ Buterin, Vitalik. "The Problem of Censorship". Ethereum Blog. Retrieved 6 June 2015.
- ^ Buterin, Vitalik (2014-01-23). "Ethereum: A Next-Generation Cryptocurrency and Decentralized Application Platform". Bitcoin Magazine. Retrieved 9 April 2014.
- ^ Wood, Gavin (2014-04-06). "Ethereum: A Secure Decentralised Generalised Transaction Ledger" (PDF). Self published. Retrieved 20 February 2015.
- ^ Tual, Stephan. "Ethereum Launches". blog.ethereum.org. Retrieved 31 July 2015.
- ^ Kharif, Olga (2014-03-28). "Bitcoin 2.0 Shows Technology Evolving Beyond Use as Money". Bloomberg News. Retrieved 11 April 2014.
- ^ Gerring, Taylor (2014-08-18). "building the decentralized web 3.0". Retrieved 20 April 2015.
- ^ 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) - ^ Tual, Stephan. "C++ Code+Build FAQ". Ethereum. Retrieved 3 September 2014.
- ^ What is ether?
- ^ "The symbol for Ether is..." 7 June 2014. Retrieved August 14, 2014.
- ^ Genesis block
- ^ The Issuance Model in Ethereum
- ^ "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
(help)|publisher=
- ^ 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.
- ^ "Solidity Documentation". Ethereum. Retrieved 29 November 2015.
- ^ "Solidity Orgin". stackedit. Retrieved 18 December 2015.
- ^ Solidity documentation
- ^ Solidity realtime compiler and runtime
- ^ go-ethereum homepage
- ^ Ethereum C++ Client GitHub repository
- ^ Ethereum J homepage
- ^ pyethapp GitHub repository
- ^ ethereumjs homepage
- ^ ethereum-client-haskell GitHub repository
- ^ The Ethereum Launch Process
- ^ https://blog.ethereum.org/2015/07/22/frontier-is-coming-what-to-expect-and-how-to-prepare/ [Olympic: Frontier Pre-Release]
- ^ Frontier is coming – what to expect, and how to prepare
- ^ taylorgerring comments on Ethereum release timeline - Metropolis
- ^ The Ethereum Launch Process
- ^ Understanding Serenity, Part I: Abstraction
- ^ Paul Vigna (28th October 2015). Microsoft to Offer Ethereum Based Services. The Wall Street Journal. Retrieved 7 November 2015.
- ^ Finley, Kurt (2014-01-27). "Out in the Open: Teenage Hacker Transforms Web Into One Giant Bitcoin Network". Wired. Retrieved 6 April 2014.
- ^ 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.
- ^ Cox, Ryan. "Can Ethereum kill Bitcoin with self-executing contracts?". SiliconANGLE. Retrieved 6 April 2014.
- ^ Nathan Schneider (7 April 2014). Code your own utopia: Meet Ethereum, bitcoin's most ambitious successor. Al Jazeera America. Retrieved 10 June 2014.
- ^ Soon, the internet will be impossible to control. Jamie Bartlett. Retrieved 19 December 2014.
- ^ Keiser Report: New Crypto Phenomenon Ethereum. Max Keiser. Retrieved 10 June 2014.