Jump to content

Ethereum: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
BG19bot (talk | contribs)
m WP:CHECKWIKI error fix for #61. Punctuation goes before References. Do general fixes if a problem exists. - using AWB
m Fix Solidity link.
Line 47: Line 47:
PoC5, was released via [[GitHub]] on July 22, 2014 to coincide with the launch of the Ether pre sale, and included many changes from previous PoCs.<ref>{{cite web|last=Buterin|first=Vitalik|title=Launching the Ether Sale|url=https://blog.ethereum.org/2014/07/22/launching-the-ether-sale/|publisher=Ethereum Blog|accessdate=3 September 2014}}</ref> It was the first time that two clients, one written in [[C++]] and one in [[Go (programming language)|Go]], perfectly inter-operated with each other whilst processing on the same [[Block chain (transaction database)|blockchain]]. In August 2014, the [[Python (programming language)|Python]] client was added to the list, and a [[Java (programming language)|Java]] version was close to completion.<ref>{{cite web|last=Buterin|first=Vitalik|title=State of Ethereum: August Edition|url=https://blog.ethereum.org/2014/08/27/state-ethereum-august-edition/|publisher=Ethereum Blog|accessdate=3 September 2014}}</ref>
PoC5, was released via [[GitHub]] on July 22, 2014 to coincide with the launch of the Ether pre sale, and included many changes from previous PoCs.<ref>{{cite web|last=Buterin|first=Vitalik|title=Launching the Ether Sale|url=https://blog.ethereum.org/2014/07/22/launching-the-ether-sale/|publisher=Ethereum Blog|accessdate=3 September 2014}}</ref> It was the first time that two clients, one written in [[C++]] and one in [[Go (programming language)|Go]], perfectly inter-operated with each other whilst processing on the same [[Block chain (transaction database)|blockchain]]. In August 2014, the [[Python (programming language)|Python]] client was added to the list, and a [[Java (programming language)|Java]] version was close to completion.<ref>{{cite web|last=Buterin|first=Vitalik|title=State of Ethereum: August Edition|url=https://blog.ethereum.org/2014/08/27/state-ethereum-august-edition/|publisher=Ethereum Blog|accessdate=3 September 2014}}</ref>


PoC7 saw the introduction of the [[Solidity]], a hybrid Javascript/C++ like language with a number of syntactic additions to make it suitable for writing contracts within Ethereum.<ref>{{cite web|last=Wood|first=Gavin|title=CPP Ethereum Home|url=https://github.com/ethereum/cpp-ethereum/wiki/Solidity,-Docs-and-ABI|publisher=GitHub|accessdate=8 December 2014}}</ref> Block times were reduced from 60 seconds to 12 seconds. This was done using a new GHOST-based protocol that expands upon previous efforts at reducing the block time to 60 seconds.<ref>{{cite web|last=Buterin|first=Vitalik|title=Toward a 12-second Block Time|url=https://blog.ethereum.org/2014/07/11/toward-a-12-second-block-time/|publisher=Ethereum Blog|accessdate=3 September 2014}}</ref>
PoC7 saw the introduction of the [[Solidity (programming language)|Solidity]], a hybrid Javascript/C++ like language with a number of syntactic additions to make it suitable for writing contracts within Ethereum.<ref>{{cite web|last=Wood|first=Gavin|title=CPP Ethereum Home|url=https://github.com/ethereum/cpp-ethereum/wiki/Solidity,-Docs-and-ABI|publisher=GitHub|accessdate=8 December 2014}}</ref> Block times were reduced from 60 seconds to 12 seconds. This was done using a new GHOST-based protocol that expands upon previous efforts at reducing the block time to 60 seconds.<ref>{{cite web|last=Buterin|first=Vitalik|title=Toward a 12-second Block Time|url=https://blog.ethereum.org/2014/07/11/toward-a-12-second-block-time/|publisher=Ethereum Blog|accessdate=3 September 2014}}</ref>


PoC8 saw the inception of both an internal and a massive external security audit with established software security firms, academics, blockchain research firms and companies interested in utilising Ethereum all taking part.<ref>{{cite web|last=Hallam|first=George|title=ÐΞVcon-0 Recap|url=https://blog.ethereum.org/2014/12/05/d%CE%BEvcon-0-recap/|publisher=Ethereum|accessdate=19 December 2014}}</ref> A bug bounty program aimed at the community was also implemented.<ref>{{cite web|title=Ethereum Bounty Program|url=https://bounty.ethdev.com/|publisher=Ethereum|accessdate=21 February 2015}}</ref>
PoC8 saw the inception of both an internal and a massive external security audit with established software security firms, academics, blockchain research firms and companies interested in utilising Ethereum all taking part.<ref>{{cite web|last=Hallam|first=George|title=ÐΞVcon-0 Recap|url=https://blog.ethereum.org/2014/12/05/d%CE%BEvcon-0-recap/|publisher=Ethereum|accessdate=19 December 2014}}</ref> A bug bounty program aimed at the community was also implemented.<ref>{{cite web|title=Ethereum Bounty Program|url=https://bounty.ethdev.com/|publisher=Ethereum|accessdate=21 February 2015}}</ref>

Revision as of 10:12, 1 August 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
Operating systemLinux, POSIX, Windows, OS X
TypeDecentralized computing
LicenseGPL3, MIT, LGPL, et al
Websitewww.ethereum.org

Ethereum is a blockchain-based virtual machine featuring stateful user-created digital contracts and a Turing-complete contract programming language. Ethereum uses its underlying network unit, Ether, as payment to incentivise a network of peers to provide computational services defined by the smart contracts deployed on the blockchain. In this respect, Ethereum is different from a cryptocurrency, as it is not solely providing a service for transacting monetary value, rather, it is a censorship proof network which can provide user-defined services. Smart contracts can be used to securely execute a wide variety of services including: voting systems, domain name registries, financial exchanges, crowdfunding platforms, company governance, self-enforcing contracts and agreements, intellectual property, smart property, and distributed autonomous organizations. The platform was initially described by Vitalik Buterin in late 2013,[1] formally described by Gavin Wood in early 2014 in the so-called Yellow Paper[2] and launched 30 July 2015.[3] It is among a group of "next generation" (or "Bitcoin 2.0") platforms.[4]

Background

The stated purpose of the Ethereum project is to "decentralize the web" by introducing four components as part of its roadmap: static content publication, dynamic messages, trustless transactions and an integrated user-interface. Each of these services are 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.[5][6][7]

Crucial to these goals is the peer-to-peer ethereum network, whose members provide the computation, information-routing and storage necessary to provide web-services without centralised organisation.

Smart Contracts

Smart contracts - as first defined by Nick Szabo - are computer protocols which verify, or enforce the negotiation or performance of a contractual agreement. On blockchain type systems smart contracts are any code protocol which enforces or facilitates the fulfilment of obligations of voluntary contractual agreements, in matters which pertain to information stored on a blockchain.

On Ethereum contracts are also the name given to objects in an object orientated programming language. Contracts are created and deployed to the blockchain by users as computer code, they remain on the blockchain forever and can be executed according to the wishes of their designer without the possibility of censorship by third party.[8]

Development

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

Ethereum is an open source project, with anyone being able to contribute to the existing proof-of-concept codebases.[9]

The development of Ethereum began in December 2013, with the first Go and C++ proof of concept builds (PoC1) being released in early February 2014.[10] Since then, several further PoC builds have been released, with PoC4 introducing the smart contract to higher level languages - Serpent (Python inspired), Mutan (Go inspired) and LLL (Lisp inspired).[11]

In order to finance further development, Ethereum distributed the initial allocation of its internal network unit, ether, via a public sale. The sale lasted for 42 days, and resulted in the Ethereum project receiving 31,591 BTC of revenue.[12] Eth Dev (the entity responsible for delivering Ethereum 1.0) development teams based in Berlin, Amsterdam and London are focusing on the implementation and completion of several software packages.

PoC5, was released via GitHub on July 22, 2014 to coincide with the launch of the Ether pre sale, and included many changes from previous PoCs.[13] It was the first time that two clients, one written in C++ and one in Go, perfectly inter-operated with each other whilst processing on the same blockchain. In August 2014, the Python client was added to the list, and a Java version was close to completion.[14]

PoC7 saw the introduction of the Solidity, a hybrid Javascript/C++ like language with a number of syntactic additions to make it suitable for writing contracts within Ethereum.[15] Block times were reduced from 60 seconds to 12 seconds. This was done using a new GHOST-based protocol that expands upon previous efforts at reducing the block time to 60 seconds.[16]

PoC8 saw the inception of both an internal and a massive external security audit with established software security firms, academics, blockchain research firms and companies interested in utilising Ethereum all taking part.[17] A bug bounty program aimed at the community was also implemented.[18]

PoC9 focused on exposing the software internals to users in a variety interfaces such as CLI, JSON-RPC and interactive consoles. The functionality of these interfaces expanded greatly during this phase, enabling the software to be more testable, configurable, and support a larger variety of use-cases.[19] The software is currently considered "pre-release" with extensive testing focused on stability of the network and blockchain.[20]

Ether

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

Ether is a necessary element for operating Ethereum's distributed application software platform. Without the requirement of payment of ether for every computational step and storage operation within the system, infinite loops or excessive storage demands could bog down Ethereum and effectively destroy it. Unlike traditional peer-to-peer networks which rely on what is effectively altruism to maintain themselves Ethereum's network is incentivised to continue existing and performing it's operations.

The sale lasted 42 days, starting on July 22, 2014 and ending at 23:59 Zug time September 2, and collected a total of 31531 BTC, worth $18,439,086 at the time of the sale, in exchange for about 60102216 ETH. Ether bought in the sale is not usable or transferable until the launch of the genesis block. The Genesis Block represents the official launch of Ether as a digital currency and also marks the launch of the Ethereum distributed application software platform where users can create decentralized autonomous corporations or self-enforcing digital contracts which will persist.[24]

The basic unit of the internal currency is called ether, which is divided into smaller units of currency called finney, szabo, shannon, babbage, lovelace, and wei, in honour of Hal Finney, Nick Szabo, Claude Shannon, Charles Babbage, Ada Lovelace and Wei Dai, respectively.[25] Each larger unit is equal to 1000 of the next lower unit, so 1000 finney is 1 ether, 1000 szabo is 1 finney, and so on.[25] In practice, however, the developers encourage the use of ether and wei. Wei is the base unit of implementation and can not be further divided. Finney is also known as milliether.

Reception

The platform has received attention in Wired,[26][27] The Globe and Mail,[28] SiliconANGLE,[29] Yahoo News,[30] Medium.com[31] Al Jazeera,[32] Forbes,[33] The Telegraph[34] and the Keiser Report.[35]

Primavera De Filippi, a postdoctoral researcher at the CERSA / CNRS / Panthéon-Assas University, spoke on the legal implications of Ethereum at Harvard on 15 April 2014.[36] University of Toronto doctoral student Quinn DuPont discusses the shift from Bitcoin to Ethereum (as part of a broader shift to ubiquitous cryptography) in a public lecture at Dalhousie University on October 2, 2014.[37] Steve Randy Waldman described it as a tool that can be used for 'engineering distributed economic security'.[38]

References

  1. ^ Buterin, Vitalik (2014-01-23). "Ethereum: A Next-Generation Cryptocurrency and Decentralized Application Platform". Bitcoin Magazine. Retrieved 9 April 2014.
  2. ^ Wood, Gavin (2014-04-06). "Ethereum: A Secure Decentralised Generalised Transaction Ledger" (PDF). Self published. Retrieved 20 February 2015.
  3. ^ Tual, Stephan. "Ethereum Launches". blog.ethereum.org. Retrieved 31 July 2015.
  4. ^ Kharif, Olga (2014-03-28). "Bitcoin 2.0 Shows Technology Evolving Beyond Use as Money". Bloomberg News. Retrieved 11 April 2014.
  5. ^ Wood, Gavin (2014-04-17). "Less-techy: What is Web 3.0?". Insights into a Modern World. Retrieved 25 August 2014. [dead link]
  6. ^ 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)
  7. ^ Gerring, Taylor (2014-08-18). "building the decentralized web 3.0". Retrieved 20 April 2015.
  8. ^ Buterin, Vitalik. "The Problem of Censorship". Ethereum Blog. Retrieved 6 June 2015.
  9. ^ Wood, Gavin. "CPP Ethereum Home". GitHub. Retrieved 3 September 2014. Wilcke, Jeffrey. "Go Ethereum Home". GitHub. Retrieved 1 September 2014. Buterin, Vitalik. "Pyethereum Home". GitHub. Retrieved 30 May 2015.
  10. ^ Tual, Stephan. "C++ Code+Build FAQ". Ethereum. Retrieved 3 September 2014.
  11. ^ Tual, Stephan. "Writing Smart Contracts FAQ". Ethereum Forum. Retrieved 3 August 2014.
  12. ^ Buterin, Vitalik. "Ethereum was second largest crowdsale in history?". Reddit. Retrieved 8 September 2014.
  13. ^ Buterin, Vitalik. "Launching the Ether Sale". Ethereum Blog. Retrieved 3 September 2014.
  14. ^ Buterin, Vitalik. "State of Ethereum: August Edition". Ethereum Blog. Retrieved 3 September 2014.
  15. ^ Wood, Gavin. "CPP Ethereum Home". GitHub. Retrieved 8 December 2014.
  16. ^ Buterin, Vitalik. "Toward a 12-second Block Time". Ethereum Blog. Retrieved 3 September 2014.
  17. ^ Hallam, George. "ÐΞVcon-0 Recap". Ethereum. Retrieved 19 December 2014.
  18. ^ "Ethereum Bounty Program". Ethereum. Retrieved 21 February 2015.
  19. ^ Gerring, Taylor. "Implementing Vitalik's vision". Ethereum Blog. Retrieved 30 May 2015.
  20. ^ Buterin, Vitalik. "Olympic: Frontier Pre-Release". Ethereum Blog. Retrieved 30 May 2015.
  21. ^ What is ether?
  22. ^ "The symbol for Ether is..." 7 June 2014. Retrieved August 14, 2014.
  23. ^ The Issuance Model in Ethereum
  24. ^ https://www.ethereum.org/ether. {{cite web}}: Missing or empty |title= (help)
  25. ^ 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.
  26. ^ Geek's Guide to the Galaxy (2014-03-28). "A Futurist on Why Lawyers Will Start Becoming Obsolete This Year". Wired. Retrieved 6 April 2014.
  27. ^ Finley, Kurt (2014-01-27). "Out in the Open: Teenage Hacker Transforms Web Into One Giant Bitcoin Network". Wired. Retrieved 6 April 2014.
  28. ^ 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.
  29. ^ Cox, Ryan. "Can Ethereum kill Bitcoin with self-executing contracts?". SiliconANGLE. Retrieved 6 April 2014.
  30. ^ (January 29, 2014)Ethereum Listens to Community, Releasing Testnet Prior to Raising. Yahoo Finance. Retrieved 10 June 2014.
  31. ^ Ethereum: A Social Operating System. Stephan Tual. Retrieved 10 June 2014.
  32. ^ Nathan Schneider (7 April 2014). Code your own utopia: Meet Ethereum, bitcoin’€™s most ambitious successor. Al Jazeera America. Retrieved 10 June 2014.
  33. ^ Kashmir Hill (8 April 2014). Beyond Bitcoin: Crypto-Ownership Companies Hope You're Ready To Decentralize Everything On The Internet. Forbes.com. Retrieved 10 June 2014.
  34. ^ Soon, the internet will be impossible to control. Jamie Bartlett. Retrieved 19 December 2014.
  35. ^ Keiser Report: New Crypto Phenomenon Ethereum. Max Keiser. Retrieved 10 June 2014.
  36. ^ di Filippi, Primavera. "Ethereum: Freenet or Skynet ?". Berkman Center for Internet & Society. Harvard University. Retrieved 10 April 2014.
  37. ^ DuPont, Quinn. "A Rational Economy? From Bitcoin to Ubiquitous Cryptography". IM Public Lecture. Dalhousie University. Retrieved 29 September 2014.
  38. ^ Waldman, Steve Randy. "Engineering Economic Security". YouTube. Retrieved 27 July 2014.