Bitcoin has been all the buzz in recent weeks, not only among geek types but in mainstream sources like the Washington Post, The Atlantic, NPR, and even The Economist. Even so, it's apparent by searching for #Bitcoin on Twitter that many still don't understand what it is and why both its liberating and subversive potentials are so enormous.
I think this confusion is due to the fact that most people who have explained Bitcoin so far get bogged down in the technicalities of what makes it new and revloutionary rather than analogizing it to what we all already understand--our tried and true banking system. In this post I'll attempt to explain Bitcoin in terms everyone can understand.
The Current System
In our current financial system we can transfer money to others in two general ways: (1) directly by giving them cash, or (2) indirectly by working through a financial intermediary (such as a bank or credit card company). For very practical reasons, most financial transactions today are conducted indirectly through an intermediary. Among the reasons for this are the facts that transporting large quantities of cash from one person/place to another is both dangerous and comparatively expensive.
Thus, we presently store our cash at banks which, if they do their job properly, are supposed to keep it safe for us, and we transfer that cash to third parties not by actually delivering cash to them but by ordering the intermediary to pay the money to their account or to their order. We do this by, for instance, writing checks, through the ACH system, or by wiring the funds. Banks charge fees for these custody and transfer services.
While this system has worked for centuries, it has several major drawbacks. I'll mention just a couple here. First, it's inefficient: All those transaction fees and monthly charges add up over time. Banks make BIG money for providing custodial and transfer services. These banking fees essentially represent an additional tax on commerce--one paid to bankers rather than governments. To the extent these fees can be avoided, our system of commerce would be far, far more efficient.
Second, contrary to the expectations of the naive, banks don't actually keep the money we deposit with them in a safe. Instead, they loan it out to other people--not people that we select or approve, but people of the bank's choosing. And, all too often they loan it to people who ultimately can't or won't repay. If they do that too many times and for too long, the bank eventually goes bankrupt and, unless the government bails it out, our "deposited" money disappears along with the bank.
Also, even if these borrowers do repay, it's the banker that keeps the interest they pay, passing only a very small portion of it (if any) on to us. Thus, in addition to the fees banks charge us for custodying our money, they also use it for their own purposes and profit.
Well, what if you didn't need a bank to keep your money safe and transfer it? What if sending actual cash from one person to another was as easy as sending an email or a text message? For instance, imagine a world where you (and everyone else) could "scan" your cash into your computer and then email it to others whenever you want to "spend" it. We do this with things of great value every single day (e.g., legal documents, priceless pictures, etc.), so...why not currency?
Such a system has obvious advantages. First, your money never leaves your custody. There are no intermediaries and thus no transaction fees. And, maybe best of all, no checkbook to reconcile! In such a system your money would reside safely on your computer or smartphone (where it can easily be protected via encryption and automatic backups) until you "spend" it by sending it to others. Pretty neat, huh?
But, there are obvious practical problems with the scanning of money, right? I mean, once you scan your money, you now have two copies of it--the paper or metallic original and the electronic copy on your hard drive. If both are equally "spendable", then money will eventually become worthless since anyone and everyone can essentially counterfeit money by scanning it. And, once it's scanned, they could make multiple additional electronic copies at will, inflating the money supply even more. That sounds kinda fun for a while, but eventually everyone becomes money makers, the supply of money increases drastically, and runaway inflation sets in as prices are bid up by people with money to burn.
Clearly, that won't work.
So, how can we resolve these problems? Well, what if the scanner were designed in such a way that it destroyed the paper or metal currency the very second that it stored the electronic copy on your hard drive? That's clearly a better system since now you can't spend both the paper currency and the electronic currency. It's a first step, but it's not enough.
So, what if it were also possible to scan the money in such a way that the electronic copy on your computer couldn't be replicated. Or, more precisely, so that everyone could immediately tell (or rather their computers or smart phones could immediately tell them) if a given electronic copy of the currency was a duplicate or the original. So long as the replicated (i.e., counterfeited) copy could easily and immediately be distinguished from "original", then no one would accept the counterfeited one and only real ones would circulate, right?.
Electronic money of this type would make everyone happy (well, accept the banker, that is) and make our financial system much more efficient.
Until Bitcoin, such a system of electronic cash was just a pipe dream since no one had figured out how to prevent people from easily making multiple copies (i.e., counterfeiting) electronic money. Bitcoin resolved this problem in some ingenious ways.
First, the inventor of Bitcoin eliminated the need for us to scan our existing bills and coins into electronic money, thereby inflating the money supply. Instead of scanning paper money and coins into electronic currency and destroying the originals as contemplated in the hypothetical above (which would be illegal in any event), the founder of Bitcoin created a computer algorithm that "produces" a whole new type of electronic money, called "Bitcoins", at a predetermined rate and right on your hard drive. Thus, Bitcoins aren't simply copy of your existing money, they are newly "made" money.
Because they are newly made and clearly different from exiting fiat currencies, they are not counterfeit and therefore do not inflate the money supply. For instance, making more Bitcoins does not impact the value of the US dollar anymore than the European Central Bank printing more Euros impacts the value of the dollar. More Euros reduces the value of each Euro, but it does not reduce the value of dollars. In a like manner, more Bitcoins reduces the value of each Bitcoin, but it doesn't impact the value or purchasing power of any other currency, at least not initially.
So, what gives each Bitcoin its value then? The same thing that gives any currency value--the willingness of others to accept it for goods or services or in payment of debt. And why would people be willing to accept Bitcoins? Because they are so freaking convenient, because they eliminate the middle man (banker), because they are easily divisible and transferable, and for at least a dozen other reasons.
To prevent people from counterfeiting Bitcoins, or altering the rate at which Bitcoins are created (and for other reasons), the Bitcoin software, which is available to anyone for free on the web, is hard-coded to award newly "minted" Bitcoins only when a given computer (any computer, even your computer) solves a very complex math problem. When that computer solves the problem, and can prove conclusively that it did so to other computers in the Bitcoin network, all computers in the network will recognize the "creation" of new Bitcoins by that computer, and those Bitcoins are deemed by the network to be owned by the computer that generated them, or rather the possessor of that computer. Because solving this very difficult math problem takes time (more than a year of processing for today's average desktop computer), and because only Bitcoins generated by a computer that can "prove" to others in the network in a verifiable and theoretically incorruptible way that it has solved the problem are recognized as authentic, counterfeiting Bitcoins is theoretically impossible. In fact, each electronic Bitcoin itself contains this "proof-of-work", proof of having solved the problem, within it.
Currently, over six million Bitcoins have been created in the manner described above and, at the time of this writing, each one is valued on the largest public Bitcoin exchange (mtgox.com) as being worth about $16 US dollars. After twenty-one million Bitcoins are so created, which will take many more years (till after 2030 by current projections), the process will end and mathematically no more Bitcoins will or even can be created. Or, if they are, they will not be recognized by the network as authentic. Thus, unlike fiat currencies which can be inflated or deflated in amount at the whim of some central bank or issuing government, the world's supply of Bitcoins will eventually become fixed.
While this requirement that each "created" Bitcoin contain proof of being the product of a computer having solved a very complex and time-consuming math problem largely solves the problem of counterfeiting, there remains the possibility of "double spending". In other words, once I've generated some Bitcoins via my computer, or obtained some in normal commerce, what keeps me from spending them more than once? After all, I could email some to you, but then forward that same email, with Bitcoins attached, to my friend, John.
In our present system, the "trusted" intermediary, the bank, prevents double spending. When I write you a check, the bank takes money from my account when it credits it your account. It's a zero sum game. Sure, I can overdraw my account by writing a subsequent bad check to you or someone else, but only those payees who present their checks to the bank first, while I still have money in my account to cover them, will actually get paid by the bank. The others get stiffed. By stiffing the others, the trusted intermediary insures that no new money is created as a result of my bogus checks. The integrity of the system is thus preserved, albeit at the expense of the stiffed party.
The Bitcoin Way
Since the whole purpose of Bitcoins is to do away with the trusted but expensive intermediary and make dealing in cash just as easy as dealing with checks and credit cards, the Bitcoin network resolves the double spending problem differently. When I send Bitcoins to someone (I don't actually do it by email but via a different software program--a "Bitcoin client"), the system automatically sends notification to every other computer in the network telling them exactly how much I sent, and to whom, and when. Thus, contrary to what has been implied in some media reports, every single Bitcoin transaction is public knowledge. With one important exception/protection that I will note below, anyone in the system can know at any given moment exactly how many Bitcoins I have, or anyone else has. And, they can also tell where I got them from. And where that person got them from, etc. Thus, because every transaction is instantaneously broadcast to the network in real time, double spending Bitcoins is all but impossible. In essence, everyone can see inside my/your/their wallet at any given moment!
Although broadcast of transaction information is instantaneous, not every computer in the Bitcoin network is always turned on. Thus, it may take some time, minutes or even hours or days, for knowledge of a given transaction to completely satiate the network. In the meantime, couldn't one of the computers without the complete transaction history be duped into excepting double-spent Bitcoins? If computer A didn't know that computer B had spent all its coins already, couldn't it be duped into accepting Bitcoins from B (analogous to B writing a bad check)?
Not really. Complete satiation of the network isn't really necessary to protect network participants. When a computer joins or rejoins the network, it simply queries all other computers in the network (called "nodes") to figure out which one has the longest, and therefore the most complete, Bitcoin transaction history. It, along with all others in the network, will then adopt the contents of the longest transaction history as its own. Only Bitcoins that are properly accounted for and recorded in the complete transaction history are recognized as valid by other computers in the network. Double spending, while theoretically possible, is extremely difficult in practice.
Furthermore, even if a computer were temporarily duped into accepting double spent Bitcoins, other computers in the network, the ones with the complete transaction history, wouldn't recognize the transaction as legitimate. Thus, the duped computer would be "stiffed" by the others in the network. The transfer of Bitcoins to the duped computer would be ignored. Such is the price for maintaining the integrity of the system. While this system is not perfect, it's far better than our current system where duping someone is as easy as writing a bad check (double-spending Bitcoins is far more difficult).
Privacy and Safety
But this ability to effectively see into everyone's wallet raises at least two other issues: Privacy and safety. After all, advertising one's wealth is a great way to make oneself a target! Would you feel comfortable publicly broadcasting to the world that you currently have $10,000, $100,000, $200,000 or even $1,000,0000 in CASH sitting at your home or office? Would you walk down the street broadcasting to the world that you had $10,000 in cash on your person at that very moment? Of course not. And, this is true even if you obtained every bit of that cash entirely legally. Thus, contrary to media report, the confidentiality built into Bitcoin (discussed below) is not JUST a privacy thing, and it's primary purpose is not to facilitate illegal actively. Rather, confidentiality is a SAFETY and SECURITY thing. Unlike banks, homes, offices and cell phones are not, by and large, protected fortresses.
Bitcoin resolves this confidentiality problem, and therefore the safety, security, and privacy problems, in very simple way: All Bitcoin transactions are reported to the network as taking place between two anonymous ID numbers, not two individual humans or businesses. Thus, when Bitcoin publicly broadcasts a transaction, it does NOT actually tell the world who the parties to that transaction were by name. Rather, it publicly broadcasts the ID number of the party that the money transferred from, the ID number of the party it transferred to, when it transferred, and how much was transferred. Thus, if I send ten Bitcoins from my ID number XYZ123 to your account ID number ABC456, Bitcoin would simply broadcast to the world that ID number XYZ123 just sent ten Bitcoins to ID number ABC456. That's it. Unless you or I tell others, nobody knows the persons or businesses behind each ID number.
But, if we engage in enough transactions with enough people, many will eventually come to know that ID number XYZ123 belongs to me, right? After all, people can't send me Bitcoins if they don't know my ID number, and vice versa. Since anyone who knows my ID number can then look it up in the network at anytime and see how many Bitcoins it contains, my privacy (and potentially my safety and security) is once again compromised.
To resolve this, the Bitcoin client lets you create as many ID numbers on your computer as you want (ID numbers, however, are actually called "Bitcoin addresses" rather than "ID numbers", but don't let the lingo throw you off). Importantly, neither the Bitcoin client nor the Bitcoin network keeps track of who "owns" each ID number.
So, I could, if I wanted, create a new ID number (Bitcoin address) for every single transaction in which I, or rather my computer, engages. Creating new ID numbers for each transaction could be automated so that I don't even have to think about it. So, for instance, I could have Peter send Bitcoins to one of my account numbers for legal work that I provided him today and another for legal work that I provide him tomorrow. Paul could send Bitcoins to yet another ID number to buy my golf clubs, and Mary to yet a third to reimburse me for the lunch I bought her. Same for James, Donald, Cindy, Carla, Marla, your employer, etc. Anytime I want someone to send me Bitcoins, my Bitcoion client can create a new, unique ID number for that transaction. No one in the Bitcoin network, save possibly the person sending me the Bitcoins, knows who is behind that ID. All my ID's are totaled by the Bitcoin client software on my computer so that I can tell at any moment how many Bitcoins I have in total.
Thus, each person with whom I conduct business only knows a few of my ID numbers, one for each transaction I have with them (if I'm smart). If Mary ever looks up the ID number that I gave her so she could reimburse me for lunch, she will be able to see only how many Bitcoins I have logged under that ID at that moment, if any. Neither she, nor anyone else, has any way to determine which other ID's on the Bitcoin network belong to me.
And, if I'm smart, I won't leave much money under the ID number that I gave to Mary or Peter or Paul or Paul. Rather, I will transfer the money out of that ID number to another that no one else knows I own. Again, this process could be automated. Thus, if Mary bothers to look, she could see the money she gave me leaving the ID that she knows about, and she can even tell where it went, but she won't know who is behind the receiving ID. Did I transfer the money to another of my ID's? To my wife's? Or to the electric company to pay my electric bill? Or to Walmart to buy shoes? Mary can't know.
In short, that's what Bitcoin is: Electronic cash that can be "emailed" from person to person with no intermediary, the supply of which is predetermined and can't be manipulated, and the value of which is determined solely by market forces. If successful, Bitcoin will undermine the foundations of our financial system in the same way that another peer-to-peer network, BitTorrent, undermined the foundations of the music and movie industries. Vested interests, big and powerful vested interests, will now doubt resist, but it remains to be seen whether they will be any more successful in restricting Bitcoin than they have been at limiting BitTorrent.