"Hard forks cannot be the answer to controversy because it splits the community... governance is the answer." - Jutta Steiner
Governance has been a heavily researched topic throughout history. It has come a long way and varied depending on specific historical circumstances. Governance has dealt so far with humans and their interactions in such a way that they create a set of rules to abide by.
Blockchain has brought something new to the mix. There still are humans interested in governance, however, now there are also interactions between humans and autonomous systems like dapps and even between autonomous systems exclusively creating what some have called: “composability”.
Forking on the other hand, is an emergent property of software. It has been used to describe the creation of a new branch of software based on a former branch where new improvements can be made by the new community. Blockchain forking works just like that, it’s just a simple split from a group that wants to reorganize somewhere else by means of a literal fork in the code and the blocks the newly created community create. So a blockchain fork just sorts members that belong to a community according to their preferences.
Regardless, a commonly used argument is: a fork is a tool against cartel formation, collusion and bribes. As Vitalik Buterin puts it:
“In digital systems such as blockchains (...), a major and crucially important form of counter-coordination is forking.
If a system gets taken over by a harmful coalition, the dissidents can come together and create an alternative version of the system, which has (mostly) the same rules except that it removes the power of the attacking coalition to control the system.
Forking is very easy in an open-source software context; the main challenge in creating a successful fork is usually gathering the legitimacy (game-theoretically viewed as a form of “common knowledge”) needed to get all those who disagree with the main coalition's direction to follow along with you.”
Forking blockchains or blockchain applications is a novel yet very interesting process because forking not only captures a community but also monetary value. But this value, so far and in most of the cases, has only being able to capture a fraction of the community due to the lack of “legitimacy” and consequently lack of progress. This means that in most cases the forked value only remains appealing short term, rendering blockchain forks into tools of short term gains more than technological progress.
Nevertheless, forks are no governance system and they do nothing to manage the community. Let’s think about it this way: a country has a governance system, if you disagree from the current set of rules or current situation you “fork” the country by declaring an independent state. You can become the “legitimate” state even. But the governance of the country you’ve gotten independence from remains intact.
What is the Minimal Anti-collusion Infrastructure (MACI) the article ends up proposing as an alternative?
Put it simply it’s a way to vote secretly using zk-snarks and state trees. It’s the Ethereum implementation of private voting which is common for many countries. It helps combat bribery in blockchain votes which are in most cases public. Is it bullet proof? No. Selling private keys for the briber vote instead of you is a possibility. A newer design could improve on that front but on the macro scale it still does little to prevent cartel formation in a governance system because bribery is much simpler in many small governance cases. Consider the two following examples:
-Alice and Bob are the required parties needed to swing a vote.
-Party A bribes Alice and Bob to vote for them.
-Private voting happens
-Party A rewards Bob and Alice after the results have been tallied only if the desired outcome happened regardless of the actual vote.
-Only one between Alice and Bob is the required party needed to swing a vote.
-Party A bribes Alice and Bob to vote for them.
-Private voting happens
-Party A rewards Bob and Alice after the results have been tallied regardless of the actual vote.
With larger votes this can become more complex but still achievable considering that rewarding all bribed parties based on the outcome can be managed by a well funded party with almost no friction. This is only applicable for on-chain voting too, as bribes can take many shapes like profit kickbacks for past or future actions taken and simply gifts prior every voting ever takes place, common strategies taken for massive voting.
Is There a Good Reason to Prefer Forking over Governance?
No sane politician would ever incite open rebellion over governance and dialog. Why would we prefer disruptive events just to spite governance on the blockchain? History has agreed that governance and diplomacy are the preferable solutions when dealing with several sides trying to agree on issues. What if a governance design has flaws? You can improve it. In the real world it’s quite complicated, specially if a human system is large like a country but in the blockchain, governance flaws can be upgraded without a fork. Ironically, forks can also be considered hostile takeovers, just like collusion in blockchain systems. It doesn’t matter if the dissident group or the cartel group takes over and gains legitimacy of the fork, they are still hostile takeovers. Unsurprisingly, forks are also discouraged heavily outside the blockchain world1. Thus, forks are not the best answer when dealing with decentralized or centralized blockchain organizations when you can have an upgradable governance in place, specially one everyone is a part of.
Imagine if the concept of forking was the norm in companies. A company where stockholders can’t agree on a certain issue. A group of them splits the company, profits, infrastructure and customers to focus on a different product. Later a second fork happens in the newly created company, then a third one, forth one and fifth one. Perhaps a third fork in the original company could happen. That’s the reason why forking is discouraged in the open-source world. With this example it is clear to see why a fork is nothing but the nuclear option threat for blockchain organizations and it does little to discourage bribery, cartel formation and other problems.
Certainly forks have been used to upgrade applications in the Ethereum blockchain, like Uniswap upgrading from version 1 to version 2 to avoid flash loan attacks but even those upgrades could happen without the need of forks in newer blockchain systems like NEAR and Polkadot/Kusama which are more reminiscent of modern software systems. With fork-free upgrades and parachain lease terms on Polkadot the problem of having to host obsolete applications indefinitely on-chain is solved.
In summary, forking should not be thought as a tool to avoid cartels. Intelligent designs, upgradability and governance in decentralized or centralized blockchain organizations are far more powerful tools and less violent ways to engage with a community and in dealing with issues within that community. Applying deterministic-autonomous software-only and software-inspired approaches to human systems such as forking are not the best approach because one would end up incurring in the law of the instrument cognitive bias 2. Human-friendly approaches should be preferred, some of which have proven successful for many many years.Published by: Saxemberg on Aug. 13, 2021