The Ethereum network is a distributed economy like Bitcoin, except it is much, much more powerful. The essential difference is that Ethereum is programmable. In fact, it only takes a few minutes to program a whole new currency like Bitcoin. There’s been a lot of attention on Ethereum recently as its market capitalization has risen 500% since the beginning of the year to reach $400m (at the time of this writing). Some of this increase might be attributed to Microsoft’s tacit approval of the technology with their release of the “Ethereum Blockchain as a Service” platform on Azure.
There’s a joke in the crypto-currency community where sometimes people compare the Ethereum network to Skynet, the computer that destroyed humanity in “The Terminator” movies. Yes, it’s true, a group of developers have actually built an autonomous decentralized computer that cannot be turned off. But, no, it’s not going to become sentient and spiteful, and no, it’s not going to launch all our nuclear weapons and destroy humanity. But, seriously, you can’t turn it off.
The Unstoppable Machine
The notion of unstoppable computer systems should be familiar already. BitTorrent, the file sharing protocol invented by Bram Cohen, has been around since 2001, and is still very much alive despite concerted, international, billion dollar efforts to destroy it. The latest Star Wars movie can still, right now, be pulled through BitTorrent in minutes straight to your laptop. Doing that is neither legal nor recommended (seriously, go see it in 3D), but it’s interesting to note that the BitTorrent community remains impossible to stop because it is both globally decentralized and continues to deliver value.
Ethereum’s inventor, Vitalik Buterin, says that BitTorrent was the very first Decentralized Application (DAP), or a community of actors generating value for each other across the internet. To truly stop BitTorrent, you’d have to shut down every single computer in every home in every country across the planet. A single laptop is sufficient for sharing files to the internet (albeit inefficiently). And, as soon as someone starts downloading a file, they begin sharing it too.
Bitcoin was born from that same concept of resilient file sharing and from the same type of distributed, enthusiastic community. Except, the file being shared is a ledger of transactions, and the value it provides is very fast worldwide money transfer. It’s not surprising that its market capitalization is now around $5 billion.
The value that the distributed Ethereum network provides is computation. Bitcoin, despite its massive market capitalization and inherent utility, cannot do general computation. A Bitcoin transaction contains instructions on how it is to be added to the ledger. The number of different instructions you can include is very limited and usually just involve verifying digital signatures. Importantly, there are no instructions for looping, like WHILE and FOR. Looping is not allowed because there is no way to guarantee whether a transaction would loop forever or not. If it did, the Bitcoin network would grind to a halt, permanently. I encourage anyone who is now skeptical about this claim to check out “The Halting Problem,” a deep and fascinating concept in Mathematical Logic that is extremely relevant here.
TL;DR: Someone proved that it’s impossible to always know whether some random piece of software will run forever or not. If you are willing to accommodate software loops and therefore the possibility of your software running forever, then congratulations, you are Turing Complete! This means you can compute anything that is computable, and Ethereum is the only blockchain that can do that.
The Future of the Internet
Ethereum achieves Turing Completeness by enabling an economy that charges per software instruction executed instead of per financial transaction executed like Bitcoin does. Instead of a transaction fee, you have a kind of fee for running programs. So, yes, you can deploy programs on Ethereum that loop forever, adding no value. However, the nodes maintaining the network will still get paid, and your program will end up unfunded, broke and forgotten in some dark alley in the blockchain etherspace.
On the other hand, it’s theoretically possible to write an autonomous self-funded application on Ethereum that earns money to pay for its own execution, or rather its own existence. It might create value by enabling new kinds of markets, for example. Artificial intelligence might help optimize the value it delivers to ensure its own survival. In this case, it’s not just the network that’s unstoppable, but an autonomous agent operating within the network. Cue Skynet joke.
Developers at Augur have created a prediction market platform on Ethereum. These markets are extremely useful and more accurate than polls for predicting future events like political outcomes, sports events, and even terrorist attacks. The only first world country to ban prediction markets, oddly, is the United States, because they are considered a form of online gambling. But, as long as Auger is running, the United States is faced with an efficient, fair, trustless prediction market that is unstoppable and beyond its control.
Being Turing complete means that Ethereum is basically a peer-to-peer general purpose worldwide computer, and could subsume the functions of the internet as we know it. You can create file-sharing economies, peer-to-peer crowdfunding events, smart contracts, markets for renting out the unused hard-drive space on your laptop, a disintermediated Uber (imagine the app without the company), a disintermediated Facebook (the social network and ad exchange without the company), etc. It’s basically like the internet in 1994: no-one has any idea what’s next.
What impact do you think Ethereum will have?