I write about how technology shapes society, and vice versa. In addition to blogging for Forbes, I cover tech policy for Ars Technica. I'm an adjunct scholar at the Cato Institute and have a master's degree in computer science from Princeton. I live in Philadelphia with my wife and our two cats. There's more information about me on my website, including a comprehensive disclosure statement. Please follow me on Twitter. You can email me at contact@timothyblee.com. (I don't really like Google+ but I need to put my profile here to show up in Google search results)

Why Programmers Are Excited About Bitcoin

I’ve noticed a contrast in the way programmers and non-programmers react when they first hear about Bitcoin. And I think an analogy to cryptography helps explain it.

Cryptography has been around for centuries, but until recently all the practical encryption systems people knew about were symmetrical. The encryption key could be derived from the decryption key as easily as vice versa.

That was inconvenient because it meant that before you could communicate with someone securely, you had to exchange keys over a secure channel like a face-to-face meeting. Since arranging for secure key distribution was a logistical hassle, cryptography was mostly limited to military applications where secrecy was of the utmost importance.

There’s another type of cryptography called asymmetric or public key cryptography. It involves a “public key” and a “private key.” It’s easy to derive the public key from the private key. But it’s practically impossible to derive the private key from the public key.

Until the 1970s, public key cryptography was just an intriguing theoretical idea. But then the first public key cryptosystems were created. Suddenly people could do something that had previously been impossible: you could broadcast your public key to the world, allowing anyone to send you messages that only you could read.

The development of practical public key systems also made possible other innovations. For example, encrypting data with the private key creates, a file that can be decrypted by anyone with the public key but that could only have been made by the private key holder. Such a file acts as a “digital signature,” electronic proof that the holder of the private key “signed” the file. This technique has many uses today. For example, Microsoft and Apple digitally sign software updates with their private keys. Our computers have Microsoft and Apple’s public keys baked into them, allowing them to cryptographically confirm that software updates really came from the OS vendor. The modern Internet would be dramatically different, and much less secure, without asymmetric encryption.

This kind of fundamental breakthrough is extremely rare in computer science. Computers have been getting faster, smaller, and cheaper for decades, making practical applications that would have been prohibitively expensive a few decades ago. But very little of what modern computers do would have been considered impossible, given enough computing power, a half-century ago.

Public key cryptography is a rare exception. Programmers in the 1960s wouldn’t have known how to write software to do what modern cryptosystems do no matter how much computing power they had at their disposal.

I think Bitcoin is in this same category. Cryptographically secure digital cash isn’t a new idea; it’s a straightforward application of public key cryptography. But until Bitcoin, all digital cash schemes were hobbled by a reliance on an intermediary to handle the double spending problem.

Before 2009, truly decentralized digital cash was in the same intellectual category as public key cryptography was in before 1976. Programmers knew that it was a theoretical possibility, and that it would have revolutionary implications if it could be made to work. But no one had figured out how to build a practical system.

I think this explains a difference I’ve noticed in the way programmers and non-programmers react when they first learn about Bitcoin. Many people in both categories initially greet it with skepticism—certainly I did. But the nature of their skepticism is different. Non-programmers simply don’t see what the fuss is about. They see little difference between Bitcoin and conventional payment systems like PayPal. Programmers, on the other hand, immediately see that Bitcoin would have have revolutionary implications. It just takes time to convince them that Bitcoin lives up to the hype.

Like public key cryptography, Bitcoin is a fundamental new building block for building digital systems. It allows wealth to be reduced to pure information and transmitted costlessly around the world—something nobody knew how to do before 2009. Its applications won’t be immediately obvious, especially to ordinary users. But like public key cryptography, it’s likely to prove an important building block for a variety of applications for years to come.

Post Your Comment

Post Your Reply

Forbes writers have the ability to call out member comments they find particularly interesting. Called-out comments are highlighted across the Forbes network. You'll be notified if your comment is called out.

Comments

Great article – I always like reading about actual information about Bitcoins (as opposed to Krugman’s tripe). Two issues I’m wondering about: An engineer wrote that hacking Bitcoins was certainly possible, but basically worthless because the stolen Bitcoins can’t be spent on the “primary” Bitcoin market (like stealing fine art – the owner loses a lot but the thief doesn’t gain so much). Does anyone know anything about that?

Second, and more importantly, Bitcoins’ lack of government backing would seem to open it up to easy manipulation by sovereign states – like China. If Bitcoins ever gain a foot-hold in China, the government won’t be pleased (outlawing it wouldn’t help). The solution for China would be for the Chinese government to purchase a significant number of Bitcoins and then disrupt the market at their pleasure. They can’t get away with that with government-backed currency because of the whole war thing. But Bitcoins don’t have any kind of war-making ability to back it up.

Clark, thieves have plenty to gain by stealing bitcoins. It’s not practical to “cancel” bitcoins, because there’s no central authority who can declare which ones are good and which ones are bad. (This is a feature, not a bug.) The thief would have to be careful not to identify themselves when spending them, though.

On China disrupting the market and causing instability, I suppose they could, but incompetent speculators buying at $250 then freaking out and selling at $60 seem to be doing a pretty good job of that already. To a certain extent people accepting Bitcoins will be set up to handle volatility, for example by pricing in dollars and converting the price when making the sale.

In theory a government or someone with a lot of resources could disrupt the network by setting up a lot of transaction processing (“mining”) infrastructure then horsing around with the order in which transactions were accepted. They’d need a hell of a lot to get anywhere with it, though.

Anyone who tries to buy enough bitcoin to dramatically influence the market, will have the same problem that anyone gets when they try to corner any market. They’ll shoot the prices to the moon.

By the time bitcoin becomes a global currency big enough for the Chinese to care about, assuming it ever does, the exchange value will be so high as to make significant manipulation impractically expensive and/or self-defeating to any manipulator. (The Chinese could dump US Treasuries for example, but they’d be shooting themselves in the head at least as much as anyone else.)

Right now, the total exchange value of bitcoin is modest enough (~$1.1 Billion) to be more easily manipulated. TBTF banks have that kind of money fallen between their sofa cushions. I cannot help but wonder whether some folks at GS or JPM weren’t given some spare change to play with in the bitcoin market. It would certainly incentivize them to create some volatility somehow, and try to buy in at lower prices. After bouncing off a low of ~$56 last Friday, the USD price has pretty much stabilized around ~$90 (still ~6x what it was Jan 1; some crash… anyway…)

My pet conspiracy theory is however contradicted by some very interesting raw bitcoin data however. The ratio of trade to transaction volume actually has trended down all this calendar year. You can see this (and a host of other charts updated daily) over at the blockchain.info site.

If the recent spike to $266 (or $90, either way still a big spike relative to Jan. 1 price) had been driven, as everybody and their barber and their mother and their Krugman bobblehead doll has been saying, by wild exuberant and insane speculation, we should have seen a steep rise in the trade volume relative to the transaction volume. But that is exactly what we DON’T see! On the contrary, the ratio has trended down (with lots of bumps) all calendar year. Post crash/correction last Thursday, the ratio is so low (less than 1 for a few days) that you really have to wonder whether the USD exchange price is over-sold (maybe by a factor of 2 or 3).

The take away seems to be that there is a real bitcoin economy out there and it is growing at rate that more than kept pace with an almost vertical rise with the USD exchange rate of its currency over 1Q2013. The “bubble” may not have been a bubble at all, but real consumer demand for a particular economy’s currency, which continues apace largely indifferent to the exchange price.

I’ve seen no mainstream coverage of this, and I think it deserves an analytical look. [Hint, hint, Timothy Lee!]

Thanks for the thoughtful reply. I’m still wondering about this hacking, thing. Again, my understanding is that stolen Bitcoins can’t be spent on the primary Bitcoin market. Its the nature of the system, which as a non-engineer, I’m not too clear on.

About China: remember we’re talking about a brutal government with the second largest economy in the world. The reason they can’t manipulate the dollar into worthlessness is that such an act would provoke war. But couldn’t China just buy the world’s supply of Bitcoins just to get rid of the currency? Sure, it might cost them an arm and a leg, but I don’t think they would really care about the cost.

I think you have that backward, they would want to sell the world’s supply of bitcoin in order to get rid of it, i.e., drive the price to zero. Like they could do with (>$1Trillion) US Treasuries. They wouldn’t, not because of possible war with the US, but because the last one sold would be worth far, far less than the first one; they’d bankrupt themselves first and foremost.

Buying all the bitcoins in the world would drive the price (almost literally) to infinity. I like to imagine that one anarcho-libertarian guy you know down in IT services, the balding one with the pot belly, who says, “I won’t sell my bitcoin until they deliver me $1Trillion in physical cash.” Of course, it would be long over before that ever happened… for the Chinese.

It is the precise position that Switzerland takes with respect to the Euro. The SCB prints Francs (every day or every week or whatever) to buy enough Euros to keep the Franc cheap relative to the Euro. This peg, it is thought, is good for Swiss exporters. Obviously, it is (at least somewhat) bad for Swiss savers. But if Switzerland wanted to buy up every single Euro in the world they’d print the Franc to oblivion and their bids would go quite quickly unmet. Euros would be unavailable at any (Swiss Franc) price.

Of course, if the Chinese wanted to kick the USD out of world reserve currency status, then they might very well want to drive BTC price up towards infinity. But wouldn’t they prefer the Yuan to bitcoin?

Bitcoin itself cannot be hacked. You can steal bitcoins, just like you can steal cash. Bitcoin really offers no protection from theft, other than the password on your wallet. If someone steals your password, and steals your wallet…. then they have your coins. Yes there’s a degree of trace-ability, and it’s been shown (ie: silk road), that you can track, arrest and seize the assents of criminals who use bitcoin.

This article is such a breath of fresh air. Mr. Lee, you are one of the few consistently sane and actually informed voices speaking on the topic of bitcoin within the mainstream media. Here you highlight the one thing–the one and ONLY thing–that bitcoin does that has never been done in the history of the world: securely transfer actual verifiable property over the internet without a trusted (and fee-collecting) third party. That is a HUGE game changer. It could be THE HUGE game changer. But it seems to be the one thing that the mainstream media seems consistently to miss, as it daily spoons out generous dollops of fear, uncertainty, and doubt. (Don’t even get me started on the despicable, execrable liar Krugman and his swarm of adoring sycophants. Ugh… anyway…)

I don’t know if bitcoin will succeed or fail (or, as some fear, succeed and subsequently be killed by state actors in some way), but this solution to the double spending problem will live on. In 500 years, our decendants (of those of us who reproduced at least) will securely transfer actual verifiable property over whatever communications media they happen to have, and do so without the government or any other 3rd party, fee-collecting go-between. And it will seem so normal to them, that they won’t even think about it. And the technology that will allow them to do that will look very much like the technology behind bitcoin.

The key innovation at the core of bitcoin is “a verifiable public records system”. The records in the bitcoin system happen to be about financial transactions, but they can be used for many other purposes.

A bitcoin record (transaction) includes a digital signature from the sender, which proves they created the record, a timestamp when the record is included in a block, and a checksum (hash) that verifies the record has not been altered.

You can substitute *any* kind of data in place of the financial transaction and have it securely and publicly recorded. For example, property deeds, contracts, video of a crime, a song you wrote, can all have their contents, or a suitable hash of their contents, signed, timestamped, and verified not to be changed. It provides digital proof that a particular data item existed at a particular time authorized by a particular person.

I hadn’t even thought of alternative applications. But you’re absolutely right. This is one of those moments in the (wonderful and timeless) Connections series where James Burke would we can go in a lot of different directions that were simply unimaginable before.

It is when reading the bitcoin.org documentation with a background of software development, that the intrinsic soundness of the system becomes more easily apparent.

Other doubts, raised by non-techies such as “why can’t there be 10,000 such currencies” also are answered (because there can only be *one* most powerful number-crunching networked system in the world.)