Blog article
See all stories »

Ethereum - A Blockchain for Banks? A Challenger to Bitcoin?

At Sibos 2014, in Boston, I found myself at the Innotribe forum watching a presentation from Vitalik Buterin, one of the founders of the Ethereum blockchain who had the original idea and vision. He was then only 20 years old, and the audience was spellbound. His is the only business presentation I have ever seen displaying computer code - and only computer code, no powerpoint. I recognised several senior CIOs in the audience from major banks, each nodding their heads sagely, and in admiration. But for me, instead of nodding, I was scratching my head - I had no idea what he was talking about and wondered how on earth anyone there did.

18 months on from then, Ethereum has launched (Frontier last year, and Homestead more recently) and by all accounts it is going great guns – every self-respecting innovation lab is running and experimenting with it, including IBM, Microsoft, JP Morgan and the R3 consortium; it receives attention in the press; and the price of its cryptocurrency, ether, has increased (as of 11 April 16) over 28x since July 2015, with a capitalisation of $660m, second only to Bitcoin ($6.5bn).

Since Boston, I have had time to understand Ethereum a little better, and in this blog I explain what it is, how it compares to Bitcoin and how it may be used in the future, in banking and elsewhere.

A “World Computer”

Ethereum is an open-source, digital computer that runs decentralised on the internet to execute peer-to-peer contracts. It has been described simply as “a world computer you can't shut down”. It is a distributed consensus ledger, structured as a blockchain, with a protocol that contains a virtual machine, the EVM (Ethereum virtual machine) that drives the computation and integrity of peer-to-peer contracts. Ethereum has what is known in computer science as “Turin-completeness” – it is able to carry out all the logical steps and functions found in a fully functioning computer.

Peer-to-peer contracts are simply computer programs that interact with each other – they are activated to run when they receive a transaction, resulting in a change in state, an output or possibly new transactions to send to another contract.  For example, a computer program on a node of the Ethereum network could automatically run a daily auction to buy broadband capacity off competing broadband providers, whose nodes create and return bids when requested by the auction program. These contracts only run if they have sufficient fuel, known as ether, to execute the code – the Ethereum protocol dictates how much ether is needed (the more complex the program/transaction, the more costly it is to run), and stops a program running if it has insufficient ether to do so. The intention behind ether is to prevent spam and DDOS attacks, as well as to prevent poor software code from executing, such as infinite loops.

Comparing Ethereum to Bitcoin

Like Bitcoin, Ethereum is a distributed consensus ledger structured as a blockchain, with its own token, or cryptocurrency (ether), created by mining, with its own protocol (rules), running on internet nodes using a proof-of-work consensus mechanism (although future versions of Ethereum may move to a proof-of-stake mechanism called Casper).

Many blockchains, or so-called alt-coins, are based on copies, or forks, of the Bitcoin core software, usually with a few changes to set different rules around mining, cryptocurrency creation etc. However, Ethereum is unusual in that its founders have written their own code from scratch (there are other exceptions, notably Ripple).

Whereas Bitcoin is designed to be an internet payments system, Ethereum is designed to be an internet computer. Both enable transactions between addresses within their networks, but additionally, Ethereum enables software code, or contracts, in its network to run autonomously to send and receive transactions to/from each other. This is the key difference between Bitcoin and Ethereum.

Bitcoin does allow software code, or script, in its network to control transactions - specifically instructions recorded with each transaction to describe how bitcoins can be accessed in order for them to be spent, for example, requiring two private keys to sign a transaction. However, Bitcoin script is deliberately not Turin-complete in order to prevent running poor or malicious code – for example, it does not allow loops (as stated earlier, Ethereum addresses the issue of rogue code through charging fees, in ether, for executing contracts and transactions).

Both Bitcoin and Ethereum have tokens - bitcoins and ethers respectively. However, bitcoins are designed specifically to be a cryptocurrency to enable payments between addresses, whereas ethers are designed to be the fuel required to run peer-to-peer contracts. With Bitcoin, there is an industry developing to provide wallets and applications for peer-to-peer payments, the “internet-of-money”. Although it is possible to get an Ethereum wallet and exchange ethers across the Ethereum network, there seems to be no intention in Ethereum to develop it as a payments network, nor to encourage other developers to do so. Payments with ethers are a possible use of the network, but, as a “World computer”, Ethereum should be capable of much, much more.

Both bitcoins and ethers are held in blocks, and both are created when blocks are created as rewards for miners, but whereas Bitcoin blocks are created ~10 minutes, Ethereum blocks are created every 12 seconds. The rate of creation of bitcoins halves every four years, limiting the eventual supply of bitcoins created to 21m bitcoins. Ethers are created at a fixed rate forever, which I calculate to be 13m ethers per year (5 ethers every 12 seconds, each time a block is created), but over time this means that supply stabilises, as the percentage growth rate of the total ethers available decreases, tending towards zero.

Uses for Ethereum

So, how will Ethereum be used, in particular by banks, and will it supersede Bitcoin?

To answer the second question first, I believe it is clear that Ethereum will not supersede Bitcoin (or Ripple or any other payment system), as Bitcoin is optimised for payments, while Ethereum is optimised to be a distributed computer. Using Ethereum for payments would be a “sledgehammer to crack a nut”, equivalent, for example, to using a supercomputer to run the SWIFT network. Instead, it is more likely that Ethereum will complement Bitcoin (and other cryptocurrencies for payments), with for example, Ethereum contracts being used to initiate and control bitcoin or other internet-of-money transactions.

To answer the first question, the possibilities for using Ethereum, a “World computer”, are endless, limited only by imagination and entrepreneuralism. Whole new industries and business models may develop. An Ethereum white paper  indicates Vitalik Buterin sees a role for it in financial services in areas such as contracts-for-difference, escrow and savings. Given this, I believe we are likely to see Ethereum make traction quickly in financial services, in particular in capital markets, and also potentially in areas such as trade finance.

In Vitalik Buterin’s own words, financial applications “only scratch the surface of what Ethereum, and cryptographic protocols on top of Ethereum, can do”. In particular, Ethereum should work well driving applications in the internet-of-things and the control of transactions between devices and machines. Examples are already appearing, such as in New York a resident's scheme  to control and bill the supply of electricity from solar panels on homeowners’ roofs, without a central authority controlling the process. My colleagues in Accenture Digital forecast 212 billion sensors, 50 billion devices and 2.5 billion connections to 4G networks by 2020 in the internet-of-things, illustrating the huge potential in this domain for Ethereum.

However, there are concerns around peer-to-peer contracts, or smart contracts as they are usually called. One is how a legal contract can be enforceable if it is written in software – I believe this to be largely irrelevant as there have always been plenty of commercial systems that run software which enforce contractual terms and conditions, for example credit limits on a credit card.

Another concern is that smart contracts are computationally inefficient and potentially risky - identical code running on multiple nodes in the network may cause mass duplication of effort, and may be problematic if for any reason (e.g. time delay) it executes differently on different nodes.

These concerns should be addressable and I believe the future is bright for Ethereum. It is clear that Ethereum is very different from Bitcoin (and from most of the ~650 alt-coins) – its smart contract capability and Turin-completeness make it versatile as a general/multi-purpose distributed computer. While Bitcoin’s protocol can be built on to develop “internet-of-money” applications, Ethereum’s protocol can be built on to develop “internet-of-things”, or even ”internet-of-anything” applications. Already there are a large and growing number of projects developing with Ethereum. Smart contracts could well be the key that unlocks the business potential of distributed consensus ledgers/blockchains beyond payments, and seem to be the focus of industry initiatives such as R3 and Hyperledger. It is early days, but Ethereum is in a strong position - its founders have created momentum rapidly, with potential for major success.

I follow Vitalik Buterin on Twitter – as with his Sibos 2014 presentation, much of what he says is cryptic and goes over my head, “If people evolved from monkeys, why are there still monkeys?” is an example of a recent tweet; he clearly has a sharp, questioning mind and is a visionary and a problem solver.

I am sure we will hear a lot more about Vitalik Buterin, his co-founders and Ethereum over the coming months and years.

4702

Comments: (1)

A Finextra member
A Finextra member 23 May, 2016, 01:45Be the first to give this comment the thumbs up 0 likes

"Turin-complete" should read "Turing-complete"

Now hiring