How do Hard Forks Affect their Network and Users?
Prysm Group recently released its research paper, Blockchain Upgrade as a Coordination Game. In this post, we expand upon one of the foundational points in the paper — that network effects are a critical consideration in determining whether hard forks are individually and socially beneficial.
In Prysm Group’s published report, Blockchain Upgrade as a Coordination Game, we discuss of the importance and challenges of establishing a governance system for a blockchain when hard forking is an option for part of the community.
Hard forks are common and popular because of the autonomy that they provide to blockchain users. In most real-life situations in which a group of people must make a decision — such as government elections — the losing side can’t feasibly leave the group and set out on its own. Hard forks allow almost costless secession, and more autonomy as a result.
However, a hard fork can sometimes be a suboptimal choice for an individual user or a blockchain community, even if some users prefer the policies on the fork.
To understand why, it is imperative to understand the role of network effects in blockchain.
Network effects are a phenomenon where the value to the user or consumer of a product or service increases as its user base grows.
Most social networks — such as Facebook, Twitter, and Instagram — and online marketplaces — such as eBay and Uber — exhibit network effects. More users on the platform means more content for User to consume, more people for User to share their content with, and more buyers or sellers to transact with.
Blockchain platforms also exhibit network effects.
All other things equal, a user’s experience on a blockchain platform improves when there are more users who are willing to maintain the blockchain, interact on the platform, and buy and sell the token on the secondary market.
For this reason, the question of whether or not a user would like to participate in a hard fork depends on more than just how much he/she prefer the policy adjustments on the new chain compared to the original one.
It also depends on how many of the other users will join User on the new fork, versus how many will choose to stay on the original chain.
A user may prefer the policy that the fork will implement, but if there are no people with User on the fork to transact with, User may prefer to stay on the original chain anyway.
To understand this further, consider the following model:
A blockchain community debates a policy upgrade.
The original chain chooses to stay with the status quo policy. In response, a subset of the community chooses to hard fork and implement the upgraded policy.
How does User decide whether to stay on the original chain, or participate in the hard fork?
Mathematically representing User’s utility, the options are as follows:
If User stays on the original chain, User receives utility U_original(p), where p is the number of other users that stay on the original chain.
Similarly, User’s utility from choosing the hard fork is U_fork(q), where q is the number of other users who hard fork.
U_original(p) and U_fork(q) exhibit network effects: they are increasing in p and q. Each chain is more useful to User, all other things equal, if there are more other users with User on that chain.
Both U_original(0)=0 and U_fork(0)=0, User receives no utility from being on a chain by themselves.
Let’s say that User is a user who prefers the upgraded policy. All other things equal, User would prefer the upgrade. So U_fork(p)>U_original(p) for all number of other users p>0.
What can be deduced from this setup?
User’s best possible outcome is for all the other users to join him/her on the chain with User’s preferred policy (the upgrade).
Suppose there are N total users making the choice between the original chain and the fork. This result follows from two facts:
Because both U_fork(q) and U_original(p) exhibit network effects, User’s utility from either chain increases as more people joins User on that chain.
Because User prefers the upgraded policy to the status quo policy, User prefers having everyone on the upgraded (fork) chain to having everyone on the status quo (original) chain. In other words, U_fork(N)>U_original(N).
For User to receive their top choice when it comes to a blockchain, it requires all other community members wanting to go along with the policy that User prefers.
If there is a fork, User will not receive their best possible outcome.
This follows from the network effects and from User’s preferences.
User’s best possible outcome is for everyone to join the fork, giving User U_fork(N).
Since the N users will be splitting between the original chain and the fork, User will have a choice between U_fork(q) and U_original(p) for some p and q that are both less than N.
It is known from network effects that U_fork(N)>U_fork(q) and from the user’s preferences and network effects that U_fork(N)>U_original(N)>U_original(p).
In this example, User’s top choice is not available to them. Since User will not get their top choice, User must compare the outcomes that they get from two less preferred options.
User will sometimes prefer to stay on the original chain, even though User prefers the policy on the fork.
Given the choice between the original chain (the status quo policy) with p users on it and the fork (the upgraded policy) with q users on it, there is always a small enough value of q and a large enough value of p such that User would prefer the original chain with p other users to the fork with q other users. There exist p and q such that U_original(p)>U_fork(q).
Neither available option is User’s best possible option; therefore, either option could be better for User than the other, even when User knows they prefer the upgrade policy.
A hard fork can occur even if every single user would prefer that the fork did not happen.
The choice of whether to upgrade is a coordination game, which is subject to inefficiencies due to coordination failures. It is straightforward to come up with an example where the entire community has “hard fork” regret and wishes they had stayed unified on a single chain, because the cost of splitting the community outweighs the benefit from having a blockchain policy that you prefer.
For a complete mathematical analysis of the governance example presented here, please see our paper Blockchain Upgrade as a Coordination Game, which we will be presented at the P2P Financial Systems 2018 Workshop at the Federal Reserve Bank of Cleveland in July, 2018 and the Crypto Economics Security Conference at University of California, Berkeley in October, 2018.