In my previous article we took a look at the different applications of blockchains and delved into the world of smart contracts. In this article we are going to explore a crypto currency built specifically around smart contracts, meet Ethereum.
Ethereum is a decentralised platform designed to run smart contracts originally proposed by Vitalik Buterin. The early development team grew rapidly with initial founders including Mihai Alisie, Anthony Di Iorio, Charles Hoskinson, Amir Chetrit, Dr Gavin Wood, Jeffrey Wilcke and Joseph Lubin.
Let’s take a few steps back to where it all began…
Birth of Ethereum
Ethereum was initially proposed in 2013 by Vitalik Buterin, a Russian-Canadian programmer and crypto currency enthusiast. Vitalik discovered Bitcoin in 2012 at the tender age of 17 from his father, Dmitry Buterin. Dmitry is a fintech innovator and the founder of BlockGeeks.
Vitalik began his crypto currency journey as a strong proponent of Bitcoin having originally written for Bitcoin Magazine. He argued that Bitcoin needed a scripting language to enable greater application development as opposed to the limited range of inbuilt operations. However, he failed to gain consensus from the Bitcoin community and so began to think about how else he could realise his dream of a fully programmable blockchain.
In late 2013, Vitalik published a whitepaper proposing the development of a new blockchain called Ethereum. I highly recommend that you take the time to read the whitepaper as it remains a valuable source of information.
Not long after this, Vitalik was awarded a $100k fellowship from famous venture capitalist Peter Thiel (cofounder of Paypal and Palantir) to develop and bring Ethereum to life.
The Ethereum Foundation and Crowdsale
Using the money from his fellowship, Vitalik co-founded the Ethereum Foundation, a non-profit organisation based in Switzerland. The Ethereum Foundation is currently led by Ming Chan, Vitalik Buterin and Jeffrey Wilcke.
To raise funds for the creation of the network, the Ethereum Foundation ran a fundraising crowd sale in the summer of 2014. Participants invested Bitcoin in exchange for Ether, the currency and fuel of the Ethereum network.
Whereas there will only ever be 21 million bitcoins, there isn’t currently a comparable hard limit on the maximum number of ether. This is dependent on the final agreed issuance model which is still to be determined but is widely expected to result in around 100 million ether ultimately being created. At the time of writing there are 93 million ether in existence with each worth c. $200 for a combined market cap of c. $19 billion.
Alongside the successful completion of the Ether crowd sale, a development road map was prepared which included a series of stated development objectives.
In April 2014, Dr. Gavin Wood, co-founder of Ethereum, published the Ethereum Yellow Paper and began the process of making Ethereum a reality. The yellow paper served as the technical reference and specification for the Ethereum Virtual Machine.
The Ethereum network began life with the Olympic testnet in early 2015, followed by the first live version known as the Frontier release in late July 2015. The second major release and current (at the time of writing) version of Ethereum is known as Homestead and was released in March 2016.
Ethereum Virtual Machine
Ethereum is an entirely new blockchain platform which gives developers the ability to create custom operations, or functions. The Ethereum Virtual Machine or EVM, runs on top of the Ethereum blockchain. You can think of the EVM as a distributed computer which runs simultaneously on all Ethereum nodes.
The EVM operates as a Turing complete machine.
What on earth does that mean?
A computer is Turing complete if it can be used to simulate the operations of any Turing machine. A Turing machine is one which can use a predefined set of rules to determine a result given a set of input variables. They are named after the famous English mathematician and computer scientist Alan Turing. Alan Turing was instrumental in the development of early computers, such as the Colossus computer at Bletchley Park that was used to crack the Nazi Enigma cipher machine during WW2.
So in short, a Turing complete computer is one which can be programmed to solve any problem given an appropriate algorithm and sufficient time and memory.
In the case of Etherum, this machine operates simultaneously on all machines in the Ethereum network.
Why is this useful?
Enter decentralised applications or Dapps.
A traditional networked application runs on a centralised server (or collection of servers). That is, users all communicate with the central source which operates as an authority.
A Dapp works differently and is instead run simultaneously on all nodes operating as part of a blockchain network. No single node is considered an authority with trust instead being maintained through clever incentives. Refer to my article on blockchains for a more detailed explanation of blockchains and their benefits.
Originally, a decentralised application or Dapp, would need to be built into a custom crypto currency that was built specifically for that purpose.
Ethereum makes it possible for Dapps to be programmed to run on the EVM and utilise the existing network. The advantage of this is that developers can build and deploy dapps far faster than ever before.
Dapps built using Ethereum have immediate access to the rich ecosystem of supporting applications which have already been built to support the platform. Further, Dapps can be built to communicate with each other which further increases the utility of the overall network.
The primary use case for Dapps are smart contracts which I covered in my previous post. In essence you can think of a smart contract as a digital contract which automatically enforces adherence to a predefined agreement.
Unlike a traditional written contract, the language of a smart contract is computer code which can be written to run on the EVM.
The majority of Ethereum applications are written in Solidity, an object oriented programming language used to develop smart contracts that run on the EVM.
The DAO Revolution
As well as enabling the creation of Dapps and smart contracts, collections of smart contracts can be pooled together to create Decentralised Autonomous Organisations (DAO) which can run on the Ethereum network.
A DAO operates as an autonomous organisation which is decentralised and therefore has no single leader, or CEO. Instead, DAO’s are governed by computer code contained within smart contracts. These contracts are intended to act in place of the traditional rules, processes and people which govern a traditional organisation. DAO’s are collectively owned by all holders of their internal tokens with each token typically endowing its owner with voting rights. The utility of this voting power is governed by the smart contracts and can range from deciding to use DAO funds for a business contract through to implementing an update to the smart contract code itself.
It is still early in the development of DAO’s, however there has already been one high profile example, known as The DAO. This didn’t end well and we will take a look at it’s story and conclusion in a later post.
Enterprise Ethereum Alliance
The EEA connects organisations all over the world with Ethereum subject matter experts and has the goal of accelerating the development of smart contract applications built using Ethereum.
To date the EEA has proved incredibly attractive to large Fortune 500 companies with over 120 members at current count including companies such as Accenture, BP, Deloitte, Intel and Microsoft.
The key takeaway is the sheer scale of development happening in the space right now which makes the future of the platform well worth watching.
Join me next time as I explain the different wallets available for Ethereum.
Until then my friends... All comments and questions welcome, don't be shy!
If you’ve enjoyed this article, it would be my honour to have you as a regular reader. Subscribe and you won’t miss any future posts 🙂
Roger gets some air…