Accelerating Evolution Through Forking
In a prior post I proposed funding protocol development through inflation as a powerful tool to evolve blockchains.
Forking is a second critical evolutionary mechanism for blockchains. Just like mutations to DNA in biological organisms allow for evolution through natural selection, forking lets us run multiple experiments in parallel where the strongest versions survive. Unlike Web 2.0 companies, forking a blockchain is possible because the current code and state of a blockchain can be freely copied. It is the equivalent of any developer being able to make a copy of Facebook’s code and spin up a competing version at any time — something a Web 2.0 company would never allow.
However, there is a key issue with the economic incentives with the forks we have seen so far: the groups pushing forward new forks have very little economic incentive to make their fork succeed. This is because forking behavior to date replicates the token ownership of the prior chain instead of modifying it to incentivize its new core community.
Let’s take an example. Say there is a group of developers who believe they can create a better version of TokenA. They probably own a modest stake in TokenA pre-fork — say 0.10%. In their new ForkedTokenA they’d also own 0.10%. So their incentives to make ForkedTokenA succeed are very small and about the same as in TokenA.
Applying a startup lens, you’d want these “founders” of ForkedTokenA to have a strong economic incentive to make it a success. Ironically, they probably have a stronger economic incentive to improve the original TokenA than their ForkedTokenA since TokenA is likely to be more valuable to start. Let’s say TokenA is worth $10 and ForkedTokenA is worth $1 after the fork. A change which improves TokenA by 20% would net the developers $2 per coin, while a change which improves ForkedToken A by 20% would net the developers $0.20 per coin, and they own the same amount of coins. Their incentives are inverted. The developers would need to own more ForkedTokenA to fix the incentives.
Things become even more comical when the token holdings of the original chain’s foundation come into play. If TokenA Foundation owns 20% of the coins in TokenA, they will now own 20% of the coins in ForkedTokenA, while the development team driving ForkedTokenA own none. This happened when Ethereum Classic forked from Ethereum and the Ethereum Foundation owned a bunch of Ethereum Classic all of a sudden, despite having no interest in contributing to it.
Finally, consider the governance implications. Forks often arise from differences of opinion in the direction of a project. And tokens are increasingly a mechanism for voting on changes to their protocols. Since the point of a fork is to try a new path, the new fork may not want to port all of the prior holders opposed to trying the new path the fork was created to take.
It becomes clear that redistributing tokens in forks is helpful and even necessary for many new forks to have a shot at surviving. So while token redistribution in forks is uncommon now, it feels like it will become the norm in the future.
Redistributing tokens is a balancing act. In most cases forks probably want to keep ownership for users constant so users have at least the same incentives to use the new fork as the historical one. The main goal is to incentivize the groups working on the new fork — mainly through switching control of foundation-like tokens and potential dilution of all tokenholders to make grants for the new developers. The latter is similar to creating new shares in a mature company for a new employee.
It’s also important to keep in mind that forking will not always be about direct competition. Just as DNA mutations produced many different viable organisms that started from the same genetic tree, we may see one protocol grow into 3 which solve different purposes. Protocols will likely go through unbundling and rebundling of their functionality until the right equilibrium is found. And since the ecosystem itself is constantly changing, that equilibrium point will move over time.
There are some drawbacks to forking. As with mutations in organisms, forks won’t always be successful. There can also be a loss of network effects — although if the protocols are on the same chain (ex: both built on Ethereum) or connected through future cross-chain systems (ex: Polkadot) there wouldn’t be a complete loss. Finally, there may be some splitting of development resources at the start, although both projects can also pull in new resources over time.
More generally it’s worth noting that decentralized development is more complicated than building something in a centralized organization at the moment. But I suspect that will continue to shift as decentralized development techniques and incentive structures are refined.
In conclusion, forking is an extremely powerful evolutionary mechanism. For forking to be effective it needs to provide the right incentives for groups to try new paths, which means redistributing tokens in forks to incentivize fork creators.
Without it, I suspect we will see more innovator’s dilemma problems as we have seen with Bitcoin, where projects become slow to change out of fear of destroying existing value.
With it, blockchain innovation can occur much faster than it currently does and it ever could in Web 2.0 companies.