The Internet of Money
In an article that might be the most important contribution to the understanding of Bitcoin since its launch, Eli Dourado writes:
[Bitcoin] is a currency, of sorts. You can spend it on things, especially drugs and gambling and getting around capital controls. Krugman and other economists have analyzed Bitcoin in these terms, as a substitute for dollars. This is rather like regarding the Internet as a substitute for, and not a quantum leap beyond, previous communication technologies. It is true that Bitcoin can substitute for other currencies, but as with the Internet, the abstraction of a permissionless application layer means that it is much more than a substitute: it is like a transport layer for finance.
Every Bitcoin transaction is defined in part by a bit of code, called a script, written in a programming language called Script. The script in one transaction defines how the next user can access the coins. In a conventional transaction, the script specifies the hash of the public key that is needed to spend the coins next, and demands a signature from the corresponding private key.
Script is not limited, however, to these conventional transactions that merely transfer coins from one person’s control to another’s. It can evaluate statements, execute conditionally, do math, and move bits around. It is not a Turing-complete programming language (there is no looping), because that would be a security risk; we do not want viruses to spread via Bitcoin’s blockchain, nor do we want Bitcoin transactions to run indefinitely or, if we ever figure out AI, become self-aware. Despite the lack of loops in Script, it can be used to construct some very interesting scripts. …
Sometimes ratchets work right.
ADDED: In the comments thread to the article, Eli Dourado suggests: “It’s … possible that democracies won’t respond effectively against Bitcoin because they don’t respond effectively to much of anything.”