As the past week’s events have shown, all of your “money in the bank” is really just “an IOU from the bank”. Of course, this has always been true, but now everyone on the planet knows it. So this seems an opportune time to write the Bitcoin introduction I have been contemplating.
All introductions to Bitcoin that I have seen are either very detailed and technical, which is useful for experts; or they are very generic and full of analogies, which is useful for non-experts. As is my custom, this will be somewhere in the middle, making it useful to nobody.
(In all seriousness, the non-technical high-level full-of-analogies descriptions of Bitcoin are useless to the point of being dangerous, in my opinion. In several important ways, there are no analogies to Bitcoin because Bitcoin is something new. You cannot even reason about it properly without knowing some of the technical details.)
Let’s start with “bits”. Actually, this is largely irrelevant to understanding Bitcoin, so feel free to skip the rest of this post. But I feel like writing about it.
So, what is a bit? A bit is a unit of information. What is information? Hm, tricky. I will go with “information is a change in uncertainty“. For example, suppose you met me at a party and did not know my name. From your point of view, my name could be anything (well, not quite anything, but bear with me). That is, you would have uncertainty about my name. If I then told you my name, I would be reducing your uncertainty and therefore, by definition, giving you information.
As it turns out, quantifying this idea is very useful.
Definition: A bit is enough information to resolve the uncertainty of a single fair coin toss. So if I flip a fair coin outside of your view, and then I reveal that it landed “heads”, that revelation gives you one bit of information. Similarly, if you know my name is either “Nemo” or “Jehoshaphat” but simply cannot remember which, when I tell you it’s “Nemo” I give you one bit of information.
If I flip the coin twice and tell you it came up heads and then tails, I give you one bit of information and then another bit of information, or two bits of information. Put another way, two bits is enough information to resolve the uncertainty of two fair coin tosses, or the uncertainty of a single event with four (2*2) equally-likely outcomes.
Is it possible to have less than one bit of information? Sure. If I tell you something you already know, I do not reduce your uncertainty and therefore I give you no information, which is zero bits. I know, it happens a lot.
Somewhat more interestingly, suppose we have a weighted coin that lands “heads” 70.7071% of the time. (I just made that number up.) That is, it usually lands heads. If I flip it and then show you it landed “heads”, I have clearly given you some information, but not a whole lot since you kind of expected it already.
Suppose I flip that same coin twice and tell you it came up “heads” both times. The probability of that is 70.7071% times 70.7071%, or 50%. But that is the same probability of a fair coin coming up heads once. And we know that when I resolve that uncertainty, I give you one bit of information.
So by telling you this unfair coin came up heads twice, I deliver one bit of information. But obviously when I tell you that it came up “heads”, and then I tell you it came up “heads” again, I deliver the same amount of information each time. Therefore, I must be giving you half a bit of information each time. In general, when you learn that an event with probability 70.7071% happened, you receive 0.5 bits of information.
You can proceed like this, generalize it, and formalize it to arrive at the formula b=log2(1/p), where p is the probability of an event and b is the number of bits you receive by learning it happened.
Thus ends this brief introduction to Information Theory. It is a remarkably useful framework, leading to easy proofs of (e.g.) the optimality of binary search. And it was pretty much all figured out by one guy.
Now, information has to be represented somehow. And all of our modern digital technologies are based on representations of individual whole bits. You can represent a bit as “0″ vs. “1″, or “yes” vs. “no”, or “heads” vs. “tails”… Or “0 volts” vs. “1.5 volts”. You have hundreds of billions of individual bits represented in the device in your pocket. (A “byte” is eight bits; a “gigabyte” is a billion bytes; do the math.)
Representations of information are extremely easy to duplicate, which is what happens every time you make a phone call or send an Email or browse a Web page or… Actually, every time you communicate in any way at all, which explains who that one guy was working for.
The question, of course, is how information itself could possibly function as money. When I give you information, don’t I still have it myself? Does Bitcoin work like a dollar bill, or like a checking account? (The answer is “both” and “neither”, depending on what you mean. As I mentioned, simple analogies do not work here.)
I will get to all of that. Eventually.