You are here: Home » Ethereum » Ethereum: Platform

Ethereum: Platform

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. 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. In February 1, 2018, there were 27,500 nodes in the main Ethereum network. Ethereum Virtual Machines have been implemented in C++, Go, Haskell, Java, JavaScript, Python, Ruby, Rust, and WebAssembly (currently under development). The Ethereum-flavoured WebAssembly (dubbed “e-WASM”) is expected to become a major component of the “Web 3.0”, a World Wide Web where users interact with smart contracts through a browser.

Smart contracts

Ethereum’s smart contracts are based on different computer language, 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 Viper (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.

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

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.

Applications

Ethereum blockchain applications are usually referred to as DApps (decentralized application), since they are based on the decentralized Ethereum Virtual Machine, and its smart contracts. Many uses have been proposed for Ethereum platform, including ones that are impossible or unfeasible. 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 offeringprojects, with over 50% market share.

As of January 2018, there are more than 250 live DApps, with hundreds more under development. Project applications listed in this section are not exhaustive and may be outdated.

  • Digital signatures that ensure authenticity and proof of existence of documents: the Luxembourg Stock Exchange has developed such a system
  • Slock.It is developing smart locks
  • Digital tokens pegged to fiat currencies: Dai, stablecoin pegged to US dollar. Decentralized Capital. Spanish bank Santander is also involved in such a project.
  • Digital tokens pegged to gold: Digix
  • Improved digital rights management for music: Imogen Heap used the technology
  • Platforms for prediction markets: Augur, Gnosis Stox
  • Platforms for crowdfunding: the DAO Social media platforms with economic incentives: Backfeed, Akasha
  • Decentralized marketplaces: FreeMyVunk, TransActive Grid
  • Remittance: Everex
  • Online gambling: CoinPokerEtheroll
  • Electric car charging management: RWE
  • Secure identity systems for the Internet: uPort
  • Labour economics: BlocklancerEthlance
  • Video Games: Cryptokitties popularity in December 2017 caused the Ethereum network to slow down.

Leave a Reply

Your email address will not be published. Required fields are marked *