Thursday, 28 August 2014

Ethereum: solving the right problem

Some months ago I ruminated, not terribly productively, on what's conceptually muddled about bitcoin.  The conclusion I came to, but did not clearly state, is that since the most essential function of money is as a reliable standard of deferred payment, market transactions are best thought of as problems of contractual obligation rather than 'exchange of value', and that we should be pointing the tech at this more general and more fundamental problem, treating currency as a special case.  This is not a new thought, but good old thoughts are worth re-thinking from time to time.

A scant few days later, I discovered that somebody had already gone through this thought-process at lightning speed, and invented Ethereum.  These guys have thought all this through very well, and they are more on the right track than anybody else in the running right now; I strongly encourage anyone who's interested in the future of commerce to read their whitepaper.  This isn't merely another bitcoin hack like Namecoin; it's a proper ground-up generalization, crafted with a wide range of particular applications in mind.

As they put it on the main site, the concept behind Ethereum is: 'Turing-complete contracts on a blockchain.'  What they've done is to construct a fully loaded programming language, which can do anything C or Python can, on top of the same type of cryptographic infrastructure bitcoin uses (with some important tweaks).  'Contracts' are reduced to programs, autonomous pieces of code living a distributed life in an ever-growing ecology coded as a hashtable, and enforcement is automatic.

One result of this will be a closer approximation to real personal cloud computing than anything yet implemented, since you can frictionlessly contract out machine resources; it is not totally wrong to think of Ethereum as a distributed operating system for the cloud.  Another result will be a host of experiments in social organization, since the costs of starting and maintaining distributed organizations will be drastically lowered; another will be that most existing legal practice will be obviated, since formal languages are transparent and unambiguous in a way that natural languages aren't, making agreements both self-interpreting and, because of the crypto and the economics of the protocol, self-enforcing.  If the dubious reaction of governments to bitcoin is amusing, the reaction of lawyers when they figure out that Ethereum is about to eat their lunches is sure to be hilarious.

My coding project next year will be to write an Ethereum implementation in Common Lisp; given the pace I work at, almost surely somebody else will get there first, but it's more about the journey.  If I were to hazard a prediction, I'd guess Ethereum will also be a source of great employment for those wise in the ways of macros.  Because as Doug Hoyte puts it, macros make every other language a wrapper around Lisp, and I can think of no language better suited for such a dynamic problem-space, for crafting contracts that write contracts, etc.

No comments:

Post a Comment