Forget currencies and commodities ... perhaps the most helpful analogy for Bitcoin is 'land', argues Richard Gendal Brown.
Oleg Andreev posted an insightful tweet the other day:
Bitcoin is not a protocol of transfer, but a protocol of ownership. Coins never travel, but simply switch owners.
-- Oleg Andreev (@oleganza) March 20, 2014
You could argue this is a trivial observation - "how else could it work?!" - but thinking in terms of ownership and protocols for transfer of ownership is a surprisingly helpful way to think about how the system works. That's because the 'protocol of ownership' insight means there is a whole other world of history, tradition and precedent to learn from: land.
Here are some observations to motivate the thought:
- In the end-state the quantity of bitcoin will be fixed, just like land
- Bitcoin is not perfectly fungible and neither is land
- Bitcoin is not 'consumed' through use - just transformed and transferred. This is similar to land and dissimilar to many commodities, which are consumed (or at least degraded) through use
OK - not a perfect parallel but let's go with it for now. What happens if we think about bitcoin through the lens of land?
Well, first, it allows us to think about coins that haven't been mined yet ... We can think of them as parcels of land on "Bitcoin Island" that haven't been released:
The "Land Interpretation" of bitcoin. Think "Bitcoin Island".
Second, it helps us put some intuition behind the concept of the 'unspent transaction output'. These are bitcoins that have been sent somewhere but not yet themselves been spent. So the set of all unspent transaction outputs (UTXOs) can be thought of as the latest state of every bitcoin that has ever been mined.
The UTXO is absolutely crucial to everything in bitcoin and yet very few people think in these terms, talking instead about misleading terms like "address balances" and so forth.
But the interesting thing is: if we take a 'land interpretation' of bitcoin, then UTXOs have a really simple explanation: they are plots of land! And bitcoin transactions are simply actions that merge or split these plots of land.
Imagine I own 20 bitcoins. My bitcoin wallet software will show a 'balance' of 20. But it's likely that this balance actually consists of multiple unspent-transaction outputs.
Even if I had bought all 20 bitcoins in one go, it's likely that the seller merged several smaller UTXOs that added up in total to twenty bitcoins. So perhaps I received three plots of 'land': 7 bitcoins in one, 7 in another and 6 in the third. My total 'holdings' are 20 - but it is formed from three 'UTXOs'.
Perhaps my holdings on Bitcoin Island look like this:
We can think of Unspent Transaction Outputs as plots of land on 'Bitcoin Island'. Plots A, B, C represent three unspent transaction outputs controlling 20 bitcoins.
And now it's possible to teach people about bitcoin transactions without completely confusing them!
Imagine I wanted to buy a second-hand car for 11 of my bitcoins. Let's also imagine that I pay a transaction fee of 1 BTC to keep things simple (a HUGE over-estimate, of course).
I need to do a few things:
- Step One: I need to prove ownership of the coins I'm trying to spend
- Step Two: I need to say how the coins are going to be allocated - how many am I sending and to where? 11 to the seller, 8 back to me and 1 for the miner in this case
- Step Three: I need to specify what the new "owners" will need to do to prove they do indeed own the coins. In other words, I need to specify what they will need to do in their Step one when they try to spend their coins in the future
I do this in bitcoin by issuing a transaction that accomplishes all three steps in one. Here's what it might say:
"I own three unspent transaction outputs: A, B and C. In total they represent twenty bitcoins. Here is my proof I am entitled to spend A. Here is my proof I am entitled to spend B. Here is my proof I am entitled to spend C. I hereby reshape my plot into two new plots: one plot 8 units in size, which I call X and a second plot 11 units in size, which I call Y. Whoever mines this transaction can claim the remaining 1 BTC. If you can satisfy the following conditions then you will be considered to own X: ... . If you can satisfy the following conditions then you will be considered to own Y: ..."
I will set the conditions so that only the seller of the car could satisfy the Y condition and so that only I could satisfy the X condition (that's my change and I don't want anybody else spending it!).
The end result is that I have simply rearranged the land holdings:
Transaction outputs A, B, C are now spent, replaced by two new unspent transaction outputs: X and Y. X is my change, Y now belongs to the car dealer and F goes to the miner.
But we can go further ... we can now have an informed discussion about what "ownership" means in bitcoin. When I "send" bitcoins to somebody, I'm not assigning ownership to an individual. What I'm actually doing is laying down a condition - and anybody who can satisfy that condition will be considered the owner.
Now, normally, the condition is very simple. It says something like:
"To spend this output you must prove you know the public key that hashes to the following address: ... And you must prove you own the corresponding private key by issuing a digital signature".
That's what the "OP_DUP OP_HASH160 ..." stuff you sometimes see is usually saying.
But the conditions can be far more complex than that ... It's all down to how you write your transaction.
Where is this going?
OK - so thinking of bitcoin in terms of land helps us build some intuition around UTXOs, which we can think of as 'parcels of land on Bitcoin Island' and we see that bitcoin transactions are really just a way to merge or split these parcels of land and impose conditions that allow people to assert ownership.
And now things get really interesting. Because there are all sorts of interesting phenomena that happen with land transactions that we can use to think about bitcoin problems.
The land analogy works because bitcoins are not perfectly fungible. Sure - there are projects trying to overcome this but this feels like an arms race between developers and law-enforcement agencies. To the extent that fungibility remains imperfect, what drivers could force different 'land parcels' to have different values?
For me, the biggest topic on the horizon for fungibility is 'coin tainting', 'whitelisting' and the other schemes intended to 'tag' bitcoin addresses or UTXOs.
I see these schemes as directly analogous to concepts like land 'blight' on the one hand and maybe 'planning gain' on the other. For example, if you own a 'plot of Bitcoin land' that has been 'whitelisted' by an exchange or finance firm such that you can access their services, presumably your 'plot' would be worth more than one that didn't have that property?
It is perhaps no surprise that the fungibility issue is so hot right now.
Mineral Rights and Colored Coins
Two pieces of seemingly identical land can be worth vastly different sums: if one is sitting on oil and the owner has mineral rights, a purchaser will be willing to pay them more for their land than if it didn't!
Perhaps this is a useful analogy for colored coins: two identical bitcoins can trade for different prices if one of them has been 'colored' by a trusted issuer. What are the taxation implications? What happens when projects trying to add coin coloration to bitcoin conflict with projects trying to create fungibility?
Perhaps Altcoins are just different islands! If there is a Bitcoin Island, then presumably Litecoin has Litecoin Island and Dogecoin has Dogecoin Island?
This interpretation now helps us think more clearly about the role and value of altcoins. Perhaps the innate characteristic of a currency (faster confirmation time? Use of scrypt?) makes the island a more attractive place to live. But if all the infrastructure and population is on Bitcoin Island then these features may not be enough - who knows.
Charges and Liens
It is possible to impose conditions on land parcels in many jurisdictions. A mortgage company can prevent sale of land unless the debt is settled and some landowners in the UK have been dismayed to discover that their land ownership came with an expensive obligation to pay for the upkeep of a local church.
In some cases, the obligation is short-lived (eg the mortgage charge) but in others, it persists across transactions (eg chancel repair liability). A question I don't know the answer to is: can you write a bitcoin transaction that imposes conditions on a UTXO that propagate? That is: can you write a transaction such that whoever spends the UTXO must impose the same condition on their transaction output?
Of course, the land analogy is imperfect but I do think there is something to it. If nothing else, the mental image of 'Bitcoin Island' with UTXOs being the plots of land feels like a really useful one. It has certainly helped my understanding.