In 2014, I wrote the article Blockchain, which provided a high-level overview of the technology and described the opportunity for adoption outside of cryptocurrency. This included use cases such as supply chain, compliance, auditing, identity, consent and many more.
However, to successfully enable these use cases, Blockchain needed to evolve, providing the necessary foundations for custom application development.
In late 2013, Vitalik Buterin published a white paper, where he described a combined decentralised mining network and software development platform. Earlier this year he successfully launched that platform, known as Ethereum.
What is Ethereum?
Ethereum is a public, blockchain-based decentralised computing platform, featuring smart contract functionality. It provides a decentralised Turing-complete virtual machine, the Ethereum Virtual Machine (EVM), which can execute code using a network of public nodes.
The flexibility to run custom decentralised applications is a key differentiator to Bitcoin, which is what makes Ethereum an interesting proposition for use cases outside of cryptocurrency.
How does Ethereum work?
Ethereum is a rapidly evolving platform, with a very active community that continues to push the boundaries of decentralised computing. However, there are three foundational concepts, specifically: Smart Contracts, the Ethereum Virtual Machine and Gas.
In law, a contract outlines the terms of a relationship. In Ethereum, a smart contract enforces a relationship with cryptographic code.
Smart contracts run on the Ethereum blockchain and contain code that can interact with other smart contracts to make decisions, store data and/or exchange value.
Smart contracts automatically execute when specific conditions are met and because they run on the blockchain, they execute exactly as designed, without any possibility of censorship, downtime, fraud or third-party manipulation.
Ethereum has been built specifically to enable developers to program their own smart contracts, using an object-oriented programming language known as Solidity. Although Solidity is the most popular language, Ethereum also supports Serpent, LLL and Mutan.
To get started with smart contracts, I recommend reviewing “The Greeter”, which is a Hello World smart contract running on the Ethereum command line.
Ethereum Virtual Machine
The Ethereum Virtual Machine (EVM) serves as the runtime environment for smart contracts. It is “Turing complete”, which means it supports a broad set of computational instructions, providing almost limitless possibilities.
Every Ethereum node runs an implementation of the Ethereum Virtual Machine and therefore executes the same instructions. To run successfully, the Ethereum Virtual Machine is completely isolated, with no access to the network, filesystem or other processes.
The full specification of the Ethereum Virtual Machine is outlined in the yellow paper, written by Ethereum co-founder Dr Gavin Wood.
Every operation that can be performed by a smart contract on the Ethereum platform costs a certain amount of gas. Therefore, operations that require more computational resources, cost more gas.
Gas exists inside of the Ethereum Virtual Machine and is paid for via Ether. The reason operations are not measured directly in Ether is due to the market price volatility.
In summary, Ethereum is an open software platform based on blockchain technology that enables developers to build, deploy and scale decentralised applications.
In my opinion, Ethereum marks the next major evolutionary step for blockchain, expanding the potential beyond just cryptocurrency. It is currently unclear how Ethereum will mature, as with any new innovation, there are many unknowns. However, pushing an open platform for decentralised applications is an exciting prospect!