A framework for skeptics
Posted December 3, 2018
This is part 2 of a 4 part series. See additional articles below
- Part 1 Skeptic’s Guide to Bitcoin: An Honest Account of Fiat Money
- Part 2 Skeptic’s Guide to Bitcoin: Unpacking Bitcoin’s Social Contract
- Part 3 Skeptic’s Guide to Bitcoin: Bitcoin and the Promise of Independent Property Rights
- Part 4 Investing in Bitcoin
Illustration: engraving by Abraham Bosse via Wikimedia
Bitcoin is a novel social and economic institution. It is so different from our existing institutions that we should be skeptical and ask as many hard, pressing questions as we can before trusting it with any economic value. Some answers will only reveal themselves with time (or Lindy, as the cool kids say), but that doesn’t mean we can’t come up with theories or frameworks. One such framework that has helped me a lot in understanding bitcoin is social contract theory.
First, fiat money is the result of a social contract: The people give the state control over the supply and other vital functions of money. The state, in turn, uses that power to manage the economy, redistribute wealth, and fight crime. But many don’t realize that bitcoin works through a social contract as well.
The social layer and its rules are the heart of bitcoin.
And that social contract framework can be used to answer some essential questions: Why did bitcoin come into existence? Who decided its properties? Who controls it today? Can a critical bug kill bitcoin?
Social Contract Theory
Social contract theory starts with a thought experiment: It assumes a hypothetical state of nature full of violence, that is unbearable for people to live in. Driven by a desire to improve their situation, they come together and collectively agree to empower Leviathan, the sovereign government, to protect them. Each gives up some of their freedom (to, you know, steal, and murder and stuff) while the Leviathan is granted the power to create laws, enforce them, and protect the people from violence.
But the theory is not constrained to the relationship between the people and the state. We can apply the same thought experiment to economics. If enough people are unhappy with the barter economy, they can collectively agree to use money, credit, or something else to improve the quality of their trading.
The process of money or credit happens implicitly. Every person asks the question of what outcomes they prefer and how they can achieve them. If many people in a society want the same outcome, we can call the result a “Schelling point” or social contract.
Money as a Social Contract
Throughout history, governments that controlled money have abused their power in all kinds of ways: They confiscated accounts, blocked certain people or groups from transacting, and printed more money and inflated the supply—sometimes to the point of hyperinflation.
Whenever governments crossed a line in abusing their power, the people lost trust in the social contract that granted the government this power. They returned to an agreement that preserved most of the benefits (having a common medium of exchange, store of value, and unit of account) without the worst of problems (government abuse): a commodity money.
Money presents an important lesson: The larger and more valuable a social institution gets, the more it attracts others to seek control over it.
The problem with the new commodity money contract, however, was that it turned out equally unstable. Let’s take, for example, the gold standard. Physical gold was too inconvenient to divide, move, and store. So people quickly invented another layer on top of it and traded with representative paper money, while the physical gold no longer moved. Because paper money is easy to produce, there had to be a trusted central party to watch over the supply. From there it was a small step for governments to decouple the value of the paper money from the underlying commodity to establish fiat money once again.
Herein lies a valuable lesson: You can agree you’re in a terrible situation and you can agree you want to change it, but the resulting social contract is only as strong as it is credible. Without a stable institution to enforce it, a contract loses the trust of the people and falls apart.
The Rules of Bitcoin
When Satoshi Nakamoto invented bitcoin, he did not invent a new social contract. Satoshi did something else—he leveraged technology to solve many problems of past implementations and implemented the old contract in a new and better way. He settled on the following rules:
- Only the owner of a coin can produce the signature to spend it (confiscation resistance)
- Anyone can transact and store value in bitcoin without permission (censorship resistance)
- There will only be 21 million bitcoins, issued on a predictable schedule (inflation resistance)
- All users should be able to verify the rules of bitcoin (counterfeit resistance)
Bitcoin as a New Form of Social Institution
Money presents an important lesson: The larger and more valuable a social institution gets, the more it attracts others to seek control over it. So the institution needs protection, which it can only get from that other powerful entity: the state. Over time, protection turns into control and then into abuse. When the social institution loses its benefit for the people, it is replaced by a new institution, and the cycle starts over again.
Satoshi attempted to break this vicious cycle in two ways: First, instead of getting its security from a powerful central party (like a government), bitcoin creates a hypercompetitive market for its own protection. It turns security into a commodity and the security providers (miners) into toothless commodity producers. And, second, Satoshi found a way for these competing security providers to come to consensus over who owns what at any given time.
The bitcoin protocol automates the contract agreed upon on the social layer, while the social layer determines the rules of bitcoin, based on the consensus of its users. They are symbiotic: Neither of them would be sufficient without the other. The social layer and its rules are the heart of bitcoin. But the protocol layer makes them enforceable for the first time, while simultaneously making the social contract more credible to outsiders. Seeing bitcoin as a social contract, enabled and automated by a technical layer, has many benefits. And it can help us answer the philosophical questions about bitcoin.
Who Can Change the Rules of Bitcoin?
The rules of the contract are decided and renegotiated continuously on the social layer. The bitcoin protocol implementation only automates them. Bitcoin, as a computer network, comes into existence when many people run bitcoin implementations on their computers that follow the same set of rules (think of them as speaking the same language).
You stay in the network as long as you follow the same set of rules as everyone else. If I were to change the rules of bitcoin unilaterally on my local computer, it would not affect the rest of the network—it only gets me evicted because we no longer understand each other (I now speak a different language).
The only way to change the rules of bitcoin is to propose a change to the social contract. Every such proposal has to be voluntarily accepted by other people in the network because it only becomes a rule if enough people actively include it in their local ruleset. Convincing millions of people is an incredible amount of (grassroots) work and practically rules out any contentious changes, which could never get broad social consensus. This is why the bitcoin network can be upgraded in ways that reflect the wish of its members but is at the same time incredibly resilient to changes from bad actors.
Can a Software Bug Kill Bitcoin?
In September 2018, a software bug arose in the most popular implementation (local ruleset) of bitcoin. The bug had two potential attack vectors: It allowed an attacker to shut down other people’s bitcoin clients (making it so they could no longer verify the rules, breaking the counterfeit resistance) and to potentially spend the same bitcoin twice (breaking the rule of inflation resistance).
Bitcoin developers quickly fixed the bug by providing the network an updated ruleset that closed these possible attack angles. While the bug was found in time and was never exploited by an attacker, it left some people asking: How much damage could it have done? Would the bitcoin network have to live with the inflation once it happened, effectively breaking the trust in that rule?
Social contract theory can answer that with a resounding “no.” Bitcoin’s rules are made on the social layer, and the software only automates it. Where the social contract and the protocol layer diverge, the protocol layer is wrong—always. A failure of the protocol layer to temporarily enforce the rules of the contract has no permanent bearing on the validity of the contract itself.
The bitcoin token itself has no value. The value exists purely on the social layer.
Instead, here is what would have happened: The potential bug exploit would have been mended by reorganizing the blockchain in a way that undoes the damage done by the attacker. That would have split the bitcoin network into two networks, each having their own token: one with the bug and one without it. Every bitcoin owner would have an equal number of tokens in each network, but the value of these tokens would be exclusively determined by the market, i.e., how much the next person was willing to pay for them.
At this point, it’s important to understand that the bitcoin token itself has no value; it’s nothing more than a number in a ledger. The value exists purely on the social layer. Hence, it is also social consensus that decides which of the two tokens, going forward, would receive economic support. It’s likely that all economic value would migrate to the new, mended network.
When the bitcoin software successfully automates the rules of the social contract, the two layers are synchronized. And when the software temporarily goes out of sync, it always has the social contract as a guiding beacon of light to return to. This most recent bug will not have been the last. Social contract theory gives us assurance that bugs can happen and don’t threaten the social institution of bitcoin.
Do Bitcoin Forks Endanger the No-Inflation Rule?
Another famous philosophical question centers around the concept of “forks.” Since bitcoin’s software is open-source (allowing users to verify that their ruleset does what it says), anyone can copy it and make changes. That is called “forking.” But, as established earlier, these changes are only made to the protocol layer, not the social layer. Without changing rules on the social layer first, the only result from forking bitcoin is that you evict yourself from the network.
If you wanted to fork bitcoin—and not have the new network die immediately—you would have to fork the social contract first. You would need to convince as many people as possible that your ruleset is better for them, so they update their rules together with yours. These kinds of forks are scarce and hard to pull off because they require the buy-in of thousands of people. Using this process to create value is akin to running a presidential campaign as a financial investment.
Again, the key is in understanding that all value for tokens is purely a social construct. The tokens do not have any value; they receive their value from social consensus. Forking the protocol doesn’t equal forking the social contract, so the new token is worthless by default. In the rare case that the social contract itself splits (like when bitcoin cash split off from bitcoin), you end up with two weaker social contracts—each agreed to by fewer people than the old one.
Money in general and Bitcoin in particular can be seen as social contracts between people in society. Bitcoin is not a new contract either; it’s just a new implementation of a contract that can be traced back hundreds of years. In comparison to previous attempts, the bitcoin implementation is a dramatic improvement because it creates a hypercompetitive market for its own security. Bitcoin’s social layer and the protocol layer are mutually reinforcing, and their relationship gives us insight into little-understood concepts like rule changes, forks, or protocol bugs.