Lately, I’ve taken a deep dive into the technical inner workings of the Bitcoin protocol. There’s enough fascinating concepts involved to fill a dozen blog posts, but today I want to highlight one aspect: what, precisely, does it mean to “own” a Bitcoin?
Let’s start with what it means to own a dollar. It means you either have physical access to the dollar, or some kind of legal contract that recognizes your right of ownership. Physical access is easy to understand, but inconvenient if you want to transfer that dollar to someone out of arm’s reach. A legal concept of ownership brings many benefits, such as you retain your money even if your bank is robbed. Of course, the legal system can also take your money.
As for Bitcoin, a useful metaphor is a piggy bank. Anyone can put money into a piggy bank, but taking it out is harder.
You can think of Bitcoin as millions of piggy banks, each of which has a lock that requires a special mathematical key to open.
When you open up your Bitcoin wallet and you see something like:
Balance: 5.03 Bitcoins
What that really means is there are a bunch of piggy banks in the block chain whose locks express “you may open if you have the private key associated with 404371705fa9bd789a2fcd52d2c580b65d35549d” and whose values sum up to 5.03 Bitcoins.
A couple things strike me as interesting:
- There’s actually no explicit concept of a “Bitcoin address” in the protocol. The above lock is expressed programmatically as “OP_DUP OP_HASH160 404371705fa9bd789a2fcd52d2c580b65d35549d OP_EQUALVERIFY OP_CHECKSIG”. By convention, Bitcoin wallets look for locks of this form, and extract the number in the middle (404371705fa9bd789a2fcd52d2c580b65d35549d) and call it an address.
- The piggy banks can have more complicated locks. For instance, a bank might require 2 keys to open, or 2 out of 3 keys.
Remember the movie “Eyes Wide Shut” where Tom Cruise rips a $100 bill in half, hands one half to a taxi driver, and promises the second half if the driver waits for him? That’s the same semantics as a lock requiring two keys to open. If a balance of Bitcoins is protected by a lock that requires two keys owned by two different people, then who “owns” those Bitcoins? Both people? Neither?
Or consider an escrow transaction, where person A buys something from person B, but held for some time by an escrow agency. You can create the same structure in the Bitcoin protocol by expressing a lock that requires 2 out of 3 keys to open, where keys belong to A, B and the escrow party.
But there’s one big difference between these two scenarios: with normal money, you have to trust that the escrow agency doesn’t run away with your funds. In the Bitcoin case, the escrow service can’t move your coins without cooperation from one of the other parties. The burden of trust is much lower.
Bitcoin allows you to do with math what, with normal money, requires lawyers.
As for what does owning a Bitcoin really mean, I would answer that “own” is the wrong word to apply. The Bitcoin protocol doesn’t understand ownership, it just follows rules. A more precise way to describe owning a Bitcoin is to say you have the ability to spend it.