First, the misconceptions. In my previous post I wrote:
There is a search space of very very large strings, serving as unique identifiers for individual bitcoinsThis is actually false. There is no such thing as a uniquely identified Bitcoin; Bitcoins are represented as numeric values in "wallets" which are tied to people's accounts. Bitcoins are divisible in parts as small as 10^-8, so it would be a daunting task to identify and store them individually.
This means that it is also not correct to say that the process of "mining" for Bitcoins is a matter of finding a unique identifier for coins that haven't been discovered yet. Instead, "mining" the coins involves searching for the (non-unique) solution to some clearly defined but semi-arbitrary puzzle. When you solve the puzzle, you announce the solution in an IRC channel. The puzzle is hard to solve, but easy to verify. Whoever solves the puzzle first is awarded 50 bitcoins in their "wallet", along with a record indicating that the puzzle was solved. Then a new, usually harder puzzle is generated.
My main questions in the previous post were focused on the presumed decentralization of Bitcoin. Specifically, "Is there no centralized database that has records of who owns each bitcoin, or fraction of a bitcoin? If not, how is it handled if two sets of records disagree?" As I just indicated, "each bitcoin" is a nonsensical phrase, since bitcoins are expressed in quantities, not specific units. The question is still valid, however: who gets the final word on where the bitcoins "live"?
The answer is a bit weird, and I may still have it wrong, but this is how I understand it. There is a database, but it doesn't "live" anywhere in particular. Instead, the database is represented as a tradeable file, known as a "blockchain", and everybody who uses bitcoins may own a copy of this file. Within this file may potentially be encoded every single transaction that has ever occurred using bitcoins. (As I'll discuss in a minute, this isn't exactly true in practice. I'll get back to this in a few paragraphs.)
In principle, this file should be growing at an insane exponential rate. The set of all historic bitcoin transactions is a strictly increasing number. Assuming that Bitcoin is successful, the number of people using it will increase over time, and so will the frequency of the transactions they make. Indeed, as Jerome pointed out on Google+, the current size of the blockchain file is 6 GB and growing. Additionally, the number of people wanting to download and inspect this file will increase as the popularity does, which means that the network traffic caused by this file would also be multiplied by an increasing number of transferred.
There is a live updated graph showing the size of the Blockchain. A quick inspection shows that the file was about 6 GB in early April 2013, and 3 GB in late October 2012. If we accept that it's an exponential function, this would imply a growth rate that doubles in a little less than six months. Next October it would be 12 GB, and in April 2014 it would be 24 GB. Multiply this by the number of people downloading this file, and we're talking about bandwidth of internet-crippling proportions in a few years.
As I said a minute ago, the blockchain doesn't actually represent every Bitcoin transaction in history. As discussed in this comment thread at bitcointalk.org, transactions only need to be kept around long enough to verify them, but not forever, so I presume that lossy compression on the oldest transactions is viable; they crunch all the old data into one big hash number for continuity purposes, and then continue. Nevertheless, the most optimistic predictions still said that this file would continue to grow in a linear fashion year by year, on the order of multiple GB. I don't think this is sustainable.
What is the purpose of keeping a blockchain around? It addresses the problem that I was focused on in the first post: How can Bitcoin be decentralized -- not owned by any one person, government, or database administrator who could turn out to be a master con artist -- and still maintain reliable and consistent records of ownership?
The answer to this question is that all Bitcoin transactions must be posted to a public archive, viewable by everyone, and then everyone who maintains a copy of that file will update their records based on the timestamp of the transaction. The blockchain maintains sequence and each transaction is dependent on numbers generated by the previous transaction, so it's not possible (or at least not easy) to "cheat" somehow by manipulating some numbers in old transactions; the sum wouldn't match when other users check their files, or some such thing. This is now reaching the limits of my technical understanding of the algorithm.
In conclusion, I'd like to say that I think my questions about security have been addressed. I may not have all the details, but I'm pretty sure that Bitcoin wasn't set up in a way that can be easily exploited by some owner of a master database somewhere. Yes, it's decentralized. Whether it will be effective as a currency is something we'll have to wait and see about. I'm betting not, and wouldn't touch the stuff. But that doesn't mean I'm rooting for it to fail or anything.
Could it be a pyramid scheme? It's probably not an intentional one, but there have been a lot of stock market bubbles, penny stock manipulators, tulip crazes, and so forth, which have run up the value of something that ultimately turned out to be worthless. Rarely are these schemes set up by one person to deliberately defraud people, but the end result can still be an unintentional bubble and a giant crash. don't see the need to switch to an alternate currency, myself, but I don't think that cyber-crime or large scale embezzlement is the particular reason not to do it.
I want to thank all the people who contributed to the Google+ and Facebook threads. Finally, I'm including a complete Bibliography of all the links I found useful in reading up on Bitcoin.
- As usual, Wikipedia is a good place to start: http://en.wikipedia.org/wiki/Bitcoin
- This is the original technical paper that launched Bitcoin: http://bitcoin.org/bitcoin.pdf
Note that the author goes by the name "Satoshi Nakamoto", but this appears to be a pseudonym, and no such person seems to exist. There is no guarantee that the author is even Japanese. Conspiracy theorists, start your engines.
- The Bitcoin wiki addresses a pretty dizzying array of concepts. https://en.bitcoin.it/wiki/Main_Page
- This page in particular claims to be debunking "myths"; it primarily seems to serve as cheerleading for Bitcoin: https://en.bitcoin.it/wiki/Myths
There is one portion that dismisses the idea that it could be a pyramid scheme. I found it unconvincing.
- As mentioned above, this is a real-time graph of the blockchain file size: http://blockchain.info/charts/blocks-size
- Discussion of blockchain compression: https://bitcointalk.org/index.php?topic=88208.0
- Reddit has a subreddit called "Explain Like I'm 5", and many questions about Bitcoin are discussed in this thread: http://www.reddit.com/r/explainlikeimfive/comments/1c3adk/official_eli5_bitcoin_thread/c9cx3mu
The top poster wryly mentions that he has to resort to "explaining like I'm 10". Fair enough.
- Curious about what you can actually buy with Bitcoins, other than illegal drugs and such? Check out https://www.bitcoinstore.com/
- More places that accept Bitcoins: https://www.spendbitcoins.com/places/
- The "Security Now" Podcast did a feature in the second half of this show: http://www.grc.com/sn/sn-287.htm
The contributors to the podcast seem to be fairly well informed about internet security technology, totally satisfied with Bitcoin's security, and additionally, incredibly geeked out about libertarian economics. Take it for what it's worth.
- Planet Money also did a recent episode, which is part of what got my interest up in the first place: http://www.npr.org/blogs/money/2013/04/09/176688096/episode-450-bitcoin-goes-to-the-moon
- Slate reporter Farhad Manjoo went through the process of actually obtaining Bitcoins and buying things with them. He recounts his experiences at http://www.slate.com/articles/technology/technology/2013/04/how_to_buy_bitcoins_a_dispatch_from_inside_the_digital_currency_bubble.html
- Economist Paul Krugman has weighed in on the economics twice. He doesn't think much of the idea. Krugman 1: http://krugman.blogs.nytimes.com/2011/09/07/golden-cyberfetters/
- Krugman 2: http://www.nytimes.com/2013/04/15/opinion/krugman-the-antisocial-network.html
- Another article in The New Yorker: http://www.newyorker.com/online/blogs/elements/2013/04/the-future-of-bitcoin.html