Thursday was, I think, a historic day–though whether it becomes a memorable milestone like the launch of the Altair 8800, or an obscure footnote à la CP/M, remains to be seen. Thursday was the day that the Ethereum Project finally launched, after much sound and fury, including raising ~US$10 million (in Bitcoin.) It’s a fascinating, wildly ambitious project, and it is vaporware no more.
To explain Ethereum, let’s first go back to Bitcoin. By now it’s widely understood that Bitcoin is a virtual currency secured by cryptography and the computing power of its decentralized mining network. It’s less well understood that Bitcoin is more than just bitcoins; every Bitcoin transaction is actually a program written in a custom scripting language. That language is not Turing-complete, though, meaning, basically, it’s not a full-fledged programming language.
(Turing-complete is not a particularly high bar. PostScript is Turing-complete. TrueType fonts come with a Turing-complete scripting language. Bitcoin’s scripting language isn’t because that was a deliberate security/performance decision by Satoshi Nakamoto.)
Ethereum, like Bitcoin, is built on a blockchain, and has a decentralized mining network. Its coins are called “Ethers”; it raised its millions in seed money by pre-mining and selling a large quantity of ethers to believers/investors. But its scripting language is Turing-complete and full-featured, which vastly expands the kinds of smart contracts that it supports. Indeed, Ethereum is intended not as a new cryptocurrency, but as a massive virtual machine running atop a decentralized blockchain.
To me, the two most interesting things about Bitcoin are that it is fully decentralized, and it is programmable money. Ethereum is both of those things on steroids. It is explicitly designed to “decentralize the web,” i.e. provide services and content that are maintained by its entire network, without having to rely on, or trust, any particular company or server cluster. (The pedant in me wants to argue that “decentralize the Internet” is both more accurate and more meaningful, but never mind.)
The potential applications are extraordinarily wide-ranging. Decentralized web sites. Decentralized messaging. An interesting forecasting / early-warning-system prediction market named Augur has already alpha launched atop Ethereum. I expect, eventually, whole categories of smart-contract applications that don’t yet exist at all — such as decentralized autonomous systems — because blockchain-based virtual machines are whole new kind of platform.
…OK, let’s cease the starry-eyed handwaving and return to earth for a bit. These are very early days; this is only the first preliminary phase of a multi-stage launch. (One which will theoretically end with an eyebrow-raising transition from proof-of-work to proof-of-stake, for you hardcore cryptocurrency nerds out there.) Even then, performance will be terrible; it will be a decentralized virtual machine, but a painfully slow and weak one compared to the computer on your desk, or even the one in your pocket.
My suspicion is that Ethereum is an important step forward, a significant milestone, but by no means the end of the road. My guess is that it will eventually, or even soon, be supplanted by some other sidechain that builds on its concepts. (Not a new notion; Counterparty, for instance, has already implemented Ethereum’s smart contracts.)
But maybe I’m wrong; maybe Ethereum is the new DOS, not the new CP/M. Either way, congratulations are in order to its founder (and Thiel Fellow) Vitalik Buterin, and the rest of its team. They have built and shipped something genuinely new, extraordinarily ambitious, and intellectually fascinating. That’s much more than most startups can say.
To explain Ethereum, let’s first go back to […]