A great deal of publicity has surrounded the development of Ethereum, the decentralised contracting platform. Over the next few posts, Dr. Neeraj Oak considers what Ethereum offers, and the benefits and obstacles it might face as it is brought to market.
I’ve had a lot of people asking me about Ethereum lately. It has been a hot topic among virtual currency enthusiasts, partly due to Ethereum already claiming to have raised around $15 million worth of Bitcoins from its initial sale of Ether, the value unit of the Ethereum system.
In this post, I’d like to cover the basics of what Ethereum claims to be and what differentiates it from existing virtual currencies such as Bitcoin. But before I begin, it’s worth stressing that Ethereum has not yet launched so we can’t know for sure if its final feature set will live up to the ambitions of its developers. Consequently, we can only base our knowledge of its features on the project yellowpaper and public code.
What is Ethereum?
Bitcoin, the first and largest of the cryptocurrencies, works on the principle of a decentralised blockchain in which transactions are registered. When a user requests a transaction, the system bundles it up with a set of other transactions into a mathematical puzzle called a block. This block is solved by transaction processors (or miners) who expend computational effort on the problem in return for a monetary reward. This system makes the history of Bitcoin transactions tamper-resistant, an important feature when dealing with people’s money.
Ethereum will also be a decentralised exchange system, but with one big distinction. While Bitcoin allows transactions, Ethereum aims to offer a system by which arbitrary messages can be passed to the blockchain. More to the point, these messages can contain code, written in a Turing-complete scripting language native to Ethereum. In simple terms, Ethereum claims to allow users to write entire programs and have the blockchain execute them on the creator’s behalf. Crucially, Turing-completeness means that in theory any program that could be made to run on a computer should run in Ethereum.
As a more concrete use-case, Ethereum could be utilised to create smart contracts, pieces of code that once deployed become autonomous agents in their own right, executing pre-programmed instructions. An example could be escrow services, which automatically release funds to a seller once a buyer verifies that they have received the agreed products.
Because the execution of code costs time and computational capacity, the people who process Ethereum contracts (analogous to Bitcoin’s miners) must be compensated. As such, Ethereum contracts are issued along with a finite amount of ether, the value token of Ethereum. When the code is processed, the processor receives a predefined amount of ether from the contract for the work they put in. By making code costly, the designers of Ethereum also hope to limit the size of their blockchain, since it could quickly balloon to a size that dwarfs Bitcoin’s if safeguards were not put in place. In the short term, it also creates an income for the creators of Ethereum: the money they have raised so far has come from the pre-sale of ether.
Ethereum contracts are designed to be ‘fuelled’ by ether, so the designers of the system have chosen to inject 18 million ether units into circulation through mining each year in perpetuity. This is unlike the Bitcoin model of mining, which has diminishing returns that result in a long term limit in the quantity of value tokens in circulation.
Join me for my next post, in which I look at some of the outstanding technical and legal challenges that Ethereum must overcome before it reaches the market.
Chief Analyst, Digital Money
Join us to explore ideas at The Digital Money Group on LinkedIn