The media seems to relish headlines proclaiming the triumph of a bitcoin rival. And it’s not surprising. Ever since the origins of theatre in ancient Greece we have been fascinated by the inevitable fall of the great and the successful, especially if at the hands of a young competitor. It makes for a very good story, in which we acknowledge the fragility of existence and console ourselves with the knowledge that everything changes. So, the recent headlines will no doubt sound like a compelling combat to the death between Ethereum and Bitcoin, with only one virtual currency emerging victorious.
But it’s not like that. I love a good headline as much as anyone, but positioning the two as competitors does each a disservice. Bitcoin will end up suffering even more blows of misunderstanding and misled scepticism. And Ethereum’s potential will get tarnished with the flimsy “just another virtual currency” brush. The reality is that both can, and should, co-exist, as each targets a different functionality.
What is Ethereum, and how is it different from Bitcoin?
It is often labelled an “altcoin” (alternate cryptocurrency), and while that is not inaccurate, it is only a small part of a very big picture. Ethereum does have its own cryptocurrency: ether. But ether is not meant to be a currency as much as it is meant to be used to facilitate Ethereum transactions. It’s complicated, but stick with me.
Glossing over Ethereum’s interesting history and parallels to early computers (which can lead to premature conclusions about its future, I’ll talk about this more another time), the most useful and novel feature is its capacity for complicated instructions. Bitcoin is what they call a “stack” script, which means it executes orders from top to bottom, but it can’t go back a few steps. It can’t loop. Ethereum can include loops, and conditions, and all sorts of cool computing functions that make it flexible and capable of executing relatively complicated sequences. Looping is especially useful for “while this, then that” and “if… then… else” instructions, which contemplate various outcomes and produce different results accordingly. Bitcoin can include “if… then” statements, but if the condition is not met, it simply moves down to the next instruction.
Bitcoin chose to not include “Turing-completeness” (the ability to execute relatively complicated programs) to avoid the possibility of infinite loops. Ethereum gets around this problem by requiring the attachment of a certain amount of “gas”, units of transaction currency which are exchangeable for ether, the official Ethereum currency. Each step in the code packet “spends” a unit of gas. This is what eliminates the problem of infinite loops. Each transaction has a certain amount of gas assigned, each step (including loops) subtracts from the gas available, and when the attached funds run out, the program crashes. End of problem.
Why not just use ether, the official Ethereum currency, to pay for the program execution? Because each function has a set cost in gas units. The exchange rate of ether will fluctuate with the market. By separating the Ethereum currency from the cost of the execution functions, the system strips out the cost volatility, which will make developers’ lives much easier. The cost of an application in gas can remain constant, it won’t need to be frequently updated. What fluctuates is how many gas an ether can buy.
This same system keeps Ethereum light. Running complex code will end up being expensive, not just in computing power and storage, but also in money terms. With each step carrying a cost, developers have a strong incentive to write tight code.
This complexity makes Ethereum ideal for blockchain-based smart contracts. You can issue currency, manage domain registrations, create an identity management system, set up a decentralized social network, program on-blockchain gambling, create Decentralized Autonomous Organizations, file crop insurance, generate financial derivatives, build a blockchain dropbox, run a P2P crowdfunding campaign, set up prediction markets, manage escrow payments, run decentralized auctions, play around with the internet of things, and much more.
A lot of this can also be done on Bitcoin. Theoretically it is possible to do pretty much anything with Bitcoin that you can with Ethereum (note the with Bitcoin, not in Bitcoin). But programming complicated smart contracts in Ethereum is easier.
If Bitcoin can be called “programmable money”, Ethereum is even more so. Only Ethereum is not about “money”. Bitcoin is. And therein lies the main difference. Unlike Bitcoin, ether is not intended to be a universal currency. It is intended to facilitate transactions. Even the Ethereum blog acknowledges the difference: “What Bitcoin does for payments, Ethereum does for anything that can be programmed.”
Ethereum is still new: it only officially launched its development platform last July, with an update released in February 2016, just over a month ago. And as such, it is still relatively untested. Yet that doesn’t seem to dampen enthusiasm. The ecosystem is growing, and includes not only techies but also musicians, artists, politicians, lawyers, sports fans… I went to an Ethereum event recently in Madrid that ended up standing room only.
The potential of Ethereum as a platform lies in the hands of its developers, very smart people coming up with breathtaking ways of improving efficiency and adding functionality to information transfers. It also lies in the hands of non-developers who want to push the boundaries of what is possible, and to see how far we can reconfigure established ways of doing things. It’s exciting. Both Bitcoin and Ethereum are disruptive and revolutionary. Bitcoin has a longer history (all of six years!), and as a result also has a longer list of problems and obstacles. Ethereum is learning from Bitcoin’s mistakes, and is focussing on a different path, in technical and also in philosophical terms. Both will contribute to a new level of innovation that will have a material and lasting impact on how our society and our economy works. It’s not a competition. It’s a joint project, with the explicit goal of pushing boundaries. Like the Captain said: “To boldly go where no one has gone before.”
(For more on how Bitcoin works, see Bitcoin Basics.)