Max Hodak Writings

Bitcoin

April 2013

I’ve been excited about Bitcoin for a while, and I’ve been starting to see many of my friends get interested in it, too. Bitcoin is a very intriguing concept – a store of value that’s native to the internet! – but it’s also a very young and complex one. There are already a lot of good explanations of how Bitcoin works at a high level. There aren’t, however, as many good posts explaining the complexities of using Bitcoin today. It’s important to understand that Bitcoin is not yet at a point where an average person should consider either holding it as an investment or using it as a medium of exchange.

I’m not going to talk about Bitcoin’s redeeming factors in this post, or the reasons why many of the issues below may be manageable. I believe that it’s important to fully understand the risks of what you’re getting into, so my goal is not to have “explained away” each of these by the end. They’re real risks and should be appreciated.

The Bitcoin network is “secured” by computer power. If an attacker possessed infrastructure that gave them more compute power than the rest of the Bitcoin network, they could wreck havoc on the transaction log. They couldn’t invent new coins, but they could re-spend any they had as many times as they wanted. This was once thought unlikely, because of the huge amount of power that’s now behind the network. However, custom processors (called ASICs) have recently been developed specifically for mining Bitcoin. These custom chips are vastly more powerful than anything else available for securing Bitcoin. The nature of the market might lead to the distribution of these chips becoming centralized in the hands of a small number of actors. If this happens, a “51% attack” might become feasible. In fact, we have no good reason today to believe that this centralization won’t occur given how the mining market is developing.

For another alarming example, there was recently an update to one Bitcoin desktop client that nearly broke the entire network. It turned out that there was a minor difference in the way the version 0.7 software and the version 0.8 software validated transaction blocks. Version 0.8 accepted a particularly large block as valid, while it was rejected by the 0.7 software. This led to a split of the network. It was an emergency situation where the entire community came together in a matter of hours to fix the problem. As Bitcoin scales, this kind of immediate, tight-knit community fix becomes less feasible. The problem wasn’t in the Bitcoin protocol specification or any of the related theory; it was a “minor” programming detail. Other such bugs could potentially be exploited by an attacker for gain, too.

If you buy Bitcoin, presumably you’ll eventually want to convert at least some of it back to a traditional “fiat” currency like USD. Today we have no clear guidance on how the Treasury Department and FinCEN will handle this. They’ve given a relative blessing to Bitcoin’s existence, but have made ominous signals about the exchanges needing to be licensed as “money-servicing businesses”. Given that they are, in fact, money-servicing businesses, it will be entirely unsurprising if the government wants to hold Bitcoin currency exchanges to the same standards as ordinary currency exchanges. The biggest exchange today, Mtgox, is amateur hour. While their security is now probably okay (after being hacked hard in 2011), Mtgox boasts the world’s least efficient trading engine and routinely gets choked up by normal trading to the tune of twenty minute lags. I can’t imagine the SEC is going to be a fan.

The bigger issue here, though, is how it will be taxed upon liquidation. The IRS never considers currencies as investments. If, for example, you buy GBP with your USD and later convert back at a more favorable exchange rate, the gain is ordinary income. However, gains in commodities are taxable as capital gains, and Bitcoin is arguably closer to a commodity than a currency. The mining process was designed to mimic gold, after all. The truth is that no one knows how the IRS will look at Bitcoin gains or losses. It’s probably safe to assume that you’ll have to pay ordinary income tax on it, but it might well be worse when regulation hits Bitcoin with full force down the road.

There is a fixed number of Bitcoins (approximately 21 million) that will ever be generated. The first half were mined in the first four years (now behind us), and the second half will take nearly another hundred years. If Bitcoins are sent to bad addresses (see “Bitcoins can be irretrievably lost” below), the total number of Bitcoins that will ever exist is lower for it. The deflationary aspect should make rational actors hoard Bitcoin, and this appears to be what’s happening with most of the market being speculation. The Bitcoin community doesn’t see this as a problem, and in fact touts the idea that a central bank can’t “devalue your currency” as a feature. I’m not an economist, and I have no idea what this will really mean for the future of the network. A lot of highly regarded experts think that this alone is enough to write off Bitcoin’s long-term prospects, but highly regarded economists are also routinely wrong. For what it’s worth, it certainly makes me wearier to spend BTC than I would be if mining were to continue forever.

Very few market participants are actually using Bitcoin as a medium of exchange today, something probably driven by Bitcoin’s deflationary property. (And, of course, many of the people actually using Bitcoin as a medium of exchange are using it to buy drugs. Great community to be built on.) Bitcoin was designed to be adopted, and it’s doing that well. It’s not clear how it will fare over the longer term, where “longer term” can mean anything from “one month” to “five years”. What everyone agrees on is that it will be interesting: Bitcoin is unlikely to die and take cryptocurrencies with it. It might be accepted by merchants and see a sustained increase in transaction volume, or it might be superseded by a new, better technology. I don’t think that Bitcoin is the same animal as tulips, but I’m afraid that’s not a view I share with many people buying Bitcoin today.

As it stands, a relatively modest influx (a few hundred thousand or million USD) can drive a gigantic (> $100M USD) swing in Bitcoin’s USD market cap. This fact, paired with the absence of traditional regulation, means that Bitcoin markets are highly susceptible to manipulation, and it’s probably not illegal.

If you leave your coins with a hosted service like Coinbase or in an exchange like Mtgox, you’re doing it wrong and I won’t feel bad for you when they’re all stolen. If you leave your coins on a laptop that you bring around with you everywhere and use for day-to-day work, you’re doing it wrong and while I’ll sympathize with you, I’ll still say I told you so when you’re hacked. The default Bitcoin client has features to strongly encrypt your wallet file – I’m not even going to consider the case where you don’t use it, since if you don’t know to encrypt the wallet you’re hopelessly lost – but if you’ve been infected with malware you picked up online you’re still toast. Antivirus software is less than 50% effective at identifying malware. Once an internet connection gets involved, there is no such thing as computer security.

The only right way to store Bitcoins safely is offline in “cold” storage. You can do that by printing out the private keys on physical paper and putting them somewhere safe, like an actual safe, or by using a “sterile” netbook. You better have generated your keys offline, too (Bitcoin allows this), so that they’ve never been near the internet. One important point is that in order to spend your Bitcoins, you’ll need to sign your transaction with your private key, which is now either on paper or on an internet-less netbook in a safe somewhere. This obviously impedes using Bitcoin as a currency for trade or responding quickly to wild price swings. There’s a client called Armory that supports “offline transactions” that can be signed by the sterile computer, but it introduces a lot of friction to the process of using Bitcoin.

There’s a saying in the Bitcoin community that coins belong to whoever can spend them. That’s a deeper statement than it might sound at first. Traditional fiat currencies have a concept of “legitimate” ownership. A rightful owner might have insurance on their deposits, and if there’s a theft an investigation might return the money back to the original account. The philosophy of Bitcoin is very different. As part and parcel of its decentralized nature, there is no expectation that a government will ever step up and protect Bitcoin “deposits”.

Eventually people will come out with hardware wallets that you can keep in your pocket. Until then, secure storage of Bitcoin is a huge hassle.

The default Bitcoin client has one file, wallet.dat, that stores all of your private key (Bitcoin account) information. That’s convenient, since you can back up your Bitcoins by simply copying the file. However, because of the way Bitcoin works, you need to keep backing up the wallet.dat file as you receive and spend Bitcoins, even if you don’t create any new addresses. This is because under the hood, Bitcoin creates new addresses all the time. For example, consider the case where you receive 1 BTC at address A and later send 0.2 BTC to address B. Instead of having 0.8 BTC left at address A, what really happened is that you sent 0.2 BTC to address B and 0.8 BTC to address C, which got automatically added to your wallet. If you then lose your wallet and only have address A backed up, your 0.8 BTC is lost forever. This all happens silently, so you’ll never get a hint that you need to back up your wallet again. You just need to do it frequently. Other clients, like Armory, make this explicit and derive their addresses in a deterministic way so as to avoid this problem.

Sending Bitcoins to the wrong address is easier to do than it should be, since addresses look like 1sozYLXcDodsLKbYAgyCXC7iCcU3i5Xun. Now, in fairness, an address isn’t completely random. Addresses have enough redundancy built into prevent you from accidentally changing one letter and ending up with a different, valid address, so the software should warn you that you’ve entered a bad address. It might not, though. Some client implementations or websites will happily broadcast a junk address to the network. And regardless, the fact remains that Bitcoin addresses aren’t very readable and so it’s easy to confuse them. This can, and does, lead to all kinds of mistakes.

The Bitcoin blockchain is a public ledger of every transaction. The balances of each address are calculated by simply starting at block 0 and scanning up to today, adding up all of the debits and credits to each address. (“Bitcoins” aren’t a “thing”, by the way – there’s nothing that represents a Bitcoin. The private key of an address represents your ability to spend a coin.) Even though there’s no personal information associated with each transaction, if someone can use external information to tie some peoples’ identities to some addresses, they may be able to unravel the identities of the other addresses traded with. In fact, there may be ways to make Bitcoin inherently traceable. For one way this might be possible, see this Hacker News thread.

Bitcoin mining is very power intensive. If you mine using a GPU, you’re going to consistently draw hundreds of watts. Because the difficulty of mining a block adjusts dynamically with total network power, if the rest of the network is on specialized ASICs, you’ll end up spending way more on electricity than you’ll earn in coins. Because the market is highly competitive, expect to pay high prices for access to the latest mining technology. Unless you really know what you’re getting into, mining is probably a losing proposition.

This fact is one reason to be concerned about the future security of the network. It isn’t rational for most Bitcoin users to mine. However, if they don’t, we face a potentially unsafe accumulation of hash power in the hands of a few groups. It’s a dilemma.

###

I like Bitcoin, but it’s very early in its life. It could very easily still die of infant diseases. If you get in now and Bitcoin survives, you’ll have an awkward adolescence to look forward to as Bitcoin figures out how to build real exchanges and gain merchant acceptance. Don’t invest anything in it you’d be upset if you lost. Don’t speculate; whatever you’re doing for a day job almost certainly pays you orders of magnitude better than day trading on Mtgox will. Participate in the community at Bitcointalk and /r/bitcoin. Make sure you understand what you’re getting into. “Because everyone else is doing it” is a really, really bad reason to buy in.

If Bitcoin succeeds, it will deeply change the way the world transacts. I don’t know what that will look like, but I’m sure it will be significant. You should buy BTC today to participate in the Bitcoin Experiment, not because you think it might make you rich. There’s a difference between being rich and being wealthy, and I believe that programmable money will create huge amounts of wealth for society. But if you’re buying it because you think it will make you rich, you’re probably going to exit too early, disappointed.