Intro

Talking with friends, I often find myself repeatedly giving more or less the same nontechnical-audience "executive summary" about cryptocurrency. This write-up started as a email thread along those lines, so I decided to flesh it out into a quick essay.

Obligatory disclaimer: I have a little background in math but I'm far from an expert on cryptocurrencies, and I certainly can't claim any expertise on matters of business or finance. I'm just an interested bystander, which really ought to be fine because we won't get into implementation details here anyway.

The idea is just to provide a very quick and introduction to some important core concepts, then get into concrete discussions about the applications that are making everyone so excited about this stuff.

itcoin

The block-chain is a kind of distributed, forgery-and-censorship resistant database. "Distributed" here means that data is stored in different places, and those places might be owned by different people. It's also important to note that there's not necessarily just one block-chain in the world, just like there's not only one database in the world. Anyone can create and maintain a blockchain, but the strength of the forgery-proof guarantees all come from many people using and maintaining the same block-chain.

With Bitcoin, the block-chain is used in the most obvious way: it tracks account balances by tracking transactions. May as well call the blockchain what it is, so we can stop thinking of it as a "database" and call it a "ledger". Since the ledger is maintained by a community, we call the ledger "distributed". I'm glossing over an important and interesting concept called proof-of-work here, but it's possible to consider that an implementation detail. Suffice it to say that it is part of what disincentivizes forgery and spam in the financial network.

People are excited about bitcoin for a number of reasons ranging from the almost purely political all the way down to good old fashioned greed. I won't dive deep into the politics of things.. but the possibility of having more anonymous finances could challenge existing models for income-reporting and taxation. Clearly any kind of distributed system is probably by it's very nature less hierarchical and more free from authority; such things will always be contentious insofar as they are perceived as disadvantageous for an entrenched status quo.

On the strictly technical side, plenty of people are excited by the newness of the whole approach and the promise of generic, reusable software artifacts that will result from the open engineering effort even if the actual currency is just a failure or a fad. Software engineers and cryptographers don't always necessarily know much about economics, but they do know about systems and system design. From a systems perspective, block-chain based financial technology as a basis of commerce just seems better than the alternatives.

Will bitcoin go mainstream?

Naturally lots of people want to invest in it if it's here to stay, but of course not too early and not too late. Sorry but I don't know an answer to this question, and anyway I mostly just want to convince you it doesn't matter much if bitcoin itself goes mainstream. The fact is that some cryptocurrency will definitely go mainstream eventually and whatever kind of cryptocurrency "wins" will include most of the core concepts and innovations that came with bitcoin.

While bitcoin-as-a-currency grows and struggles for more and more mainstream acceptance, bitcoin-as-a-technology evolves in terms of its code-base, protocols, mathematical theory, and support communities. People find problems, make decisions, and create fixes. The fixes, the code, and the wider culture all represent progress that will inevitably flow into some future cryptocurrency incarnation. It's almost certain that eventually we'll land on something that will be so efficient and flexible that it will become the primary medium of exchange for the vast majority of world finance.

At this point I think it's also traditional to tell a cautionary tale about a memorable bitcoin catastrophe, maybe to mention whatever the most recent hack was.. but realistically, sometimes old-fashioned banks get robbed and sometimes people lose their real-life wallets. Accidents will happen with new technology, especially at the beginning. It's possible that a few more accidents will wreck any chance at bitcoin's user-adoption critical mass, but that's really more of a PR or marketing consideration than a technical problem. Good luck! :moneybag:

Ethereum

Now for Ethereum. Ethereum is a kind of generalization of bitcoin in that our old friend the blockchain is once again is thought of as a generic data-store instead of "merely" a ledger. Ethereum uses the block-chain to contain not only account balances, but also adds executable computer programs into the mix.

But... so what? Why should people in such diverse industries as big finance and corporate insurance care about this Ethereum thing, which is just some kind of even-more-beta version of a 'fringe' crypto-currency like bitcoin?

Well, for these guys the interesting thing about all this is contracts can be considered a type of program, and the entire Ethereum network must agree on the result when these programs have executed. Contracts-as-programs (aka "smart contracts") have several very interesting advantages over classic contracts, most especially because they require no trusted third-party for their execution.

What IS Ethereum?

Nevermind the details of how it all works, but what IS Ethereum? Even before you start to consider the applications, it all feels very fresh, almost like there really might be something new under the sun after all. This aside has precious little to do with any financial-tech angle, but helps to explain why computer scientists are fascinated by it.

From one perspective, Ethereum is nothing less than a brand new type of computing architecture. What I mean by "architecture" here is pretty fundamental.. for instance the standard architecture for personal computing involves RAM and a CPU, and has it's conceptual roots way back in the days when we barely had any decent hardware to build things on. There are lots of practical and impractical architectures, ranging from mere mathematical curiosities to things that are used in massively parallel supercomputing.

Forget bitcoin and the blockchain, and forget financial technology. Ethereum essentially allows us to build a totally new kind of computer with a novel architecture. This architecture is admittedly ridiculously slow and inefficient, but by sacrificing speed we are building something which is incredibly secure and absurdly robust. The entire recorded lifetime of this computer's execution history is publicly available, stretching backwards in time, forever! Since each individual computation is done independently and then verified and reverified by grid members, an entire category of subtle errors and bugs is completely ruled out by the basic design. And finally, since we're building this new architecture on top of the existing internet (rather than wiring it together on computers in a closet or building the specification onto a new kind of circuit board), we get all the guarantees that are already associated with internet, which is a battle-tested and highly decentralized architecture that we already know is both resilient and robust.

Concrete examples

Smart Escrow

Suppose you want to make a bet with your friend about something that's machine-verifiable, like whether the pound will go up or down as Brexit drama unfolds. Exchange rates are machine-verifiable, so you could theoretically go write yourself a smart-contract and then stick it in the Ethereum block-chain. You and your friend would "sign" agreement to the contract in a cryptographically modern way, and then each of you would front the necessary cash into a completely machine-operated escrow service.

At the agreed time, the service simply determines the result of the bet and pays out the winner, minus a small percentage for the escrow-service operators or whatever. Cool, right? But it gets even more interesting because eventually, everyone on the Ethereum network verifies the result of your bet.. that's just the way network operates.

"Escrow services for bets without trusted third-parties" actually describes a pretty generic financial instrument, and the effect on an industry like insurance is easy to see, because insurance professionals are pretty much in the business of gambling. If peer-to-peer money is made possible by bitcoin, and insofar as "insurance" is a fancy word for "contractually enforced wager", then Ethereum can make possible peer-to-peer insurance.

Automated Corporations

Even more interesting is the possibility of creating contracts-as-programs that embody the operational aspects of fully automatic, cryptographically modern corporations. Example: we want to create a corporation with a unbiased, apolitical, and fully mechanized CFO. Rules like "no motion to move more than $X amount of cash in corporate coffers can ever proceed without Y% approval from the current list of board members". Now this contract for moving cash is encoded as a program, and shareholders can sign their agreement. Each board member then votes with their cryptographic signature. Our mechanical CFO tallies votes and does whatever was agreed upon automatically, and we don't even need a meeting!

It's worth noting here that doing business this way has big implications for nonprofits and government work, since all the voting/cashflow can be made secret or fully transparent in terms of who voted for what or where money was moved from/to.

Problems

I'm not going to try to speak to all the typical objections, but there are usually a few common ones that I find interesting. Eventually it comes to something like this:

Cryptocurrency will never become popular, because a layman can never understand it. What could possibly be the basis for any proposed value? How can the average person ever trust this weird digital money?

Whenever I hear stuff like this I start to feel a bit anxious, like maybe I'm not explaining things very well, or like maybe the system design is actually bad if it can't be explained properly in simple terms.

But then I reflect on how things like economics, Wall Street finance, and corporate bylaws are already so complex that most people don't understand them. This is why we as a society need so many tax professionals, stock brokers, and lawyers- the whole thing is already hopelessly incomprehensible if we're being honest with ourselves.

Yes, algorithms are weird and sometimes complicated and sometimes computers get hacked. But algorithms are less biased than corrupt corporations and much faster than plodding bureaucrats. Numbers systems are weird and it's true that most numbers are less shiny than gold is, but in case you don't already know it's true that most money hasn't been gold-backed for a long time.

Give cryptocurrency a chance guys, because it's not as if we haven't already put our faith in worse ideas. Or don't, because in the long term it will win anyway :)

Conclusion

Maybe a few of the core concepts are more clear, and maybe all this has helped to explain a bit about the exciting applications without getting bogged down in implementation details. We're only just beginning to scratch the surface of what types of things this weird new data structure (the blockchain) and this weird new computer (the Ethereum architecture) are good for.

It seems to me that part of what is exciting today is that engineering effort is happening at the same time as more purely academic work. But who are the people that are actually building all this stuff? You'd expect financial technology companies both startup and established, hard-working hobbyists, some academics. But there's surprises too, like people in other domains who are already looking at using the technology for things like voting. My guess is that the Ethereum architecture and the block-chain data structure will eventually find many more diverse applications.