Forking in Blockchain Communities

From P2P Foundation
Jump to navigation Jump to search

Discussion

Jaya Klara Brekke, Kate Beecroft and Francesca Pick:

"Forking is a concept and process that originally comes from the version control tool git, popularized through the Github and Gitlab collaborative coding platforms, but became an explicit governance mechanism in blockchain. Initially, “forking” was a technique to allow software developers to take a copy of code from one software package and use it to begin independent development work that is maintained separately from its origin (Nyman and Mikkonen, 2011). The early blockchain projects Bitcoin and Ethereum were intended to be governed through and by their code alone. A key aspect of the decentralized decision structures proposed through these projects is their open and permissionless characteristics, where all network “decisions” are transparently viewable and where joining is open. By downloading and running a client using the code from a given reference client, people would signal their adoption of a vision for these projects (Islam et al., 2019). This meant that a fork in the reference client would require people to decide whether they would adopt the fork or not. And so, in the early blockchain projects, forking took on a more explicit governance function as an expression of contention and divergence in visions for the direction of a project.

There are two types of forks, soft and hard forks, that can happen either at the level of the chain or software version. These imply a split of the blockchain on either a temporary or permanent basis (Islam et al., 2019). Importantly, in terms of governance, a soft fork is still compatible with the rest of the network, usually entailing a software upgrade that splits the blockchain temporarily. Typical soft forks include, for instance, block and data authenticity, upgrades and additions to the protocol in question, and system architecture and integration developments (depending on whether it is a fork in the chain or software). Hard forks imply changes that are not compatible and often involve changing the consensus rules (i.e., block size, mining algorithm, and consensus protocol) in a way that makes previous versions of the software incompatible. After a hard fork, both chains run in parallel but with different sets of rules. Executing a blockchain fork successfully requires attracting miners to ensure sufficient computing power in order to make the forked blockchain viable (Ziolkowski et al., 2019). Soft forks require a majority of the miners to upgrade to enforce the new rules, as opposed to a hard fork that requires all nodes to upgrade and agree on the new version."

(https://www.frontiersin.org/articles/10.3389/fhumd.2021.641731/full)



The Hard Fork as a “Dissensus Protocol”

Jaya Klara Brekke, Kate Beecroft and Francesca Pick:

"Technically speaking, a hard fork is a change to the code in a given system that makes the new version incompatible with previous versions. In governance terms, what are typically called “contentious hard forks” are the result of large and intractable disagreements within blockchain communities that lead to a technical divergence of a blockchain into two or more potential paths and see the community and developers split and a new token formed. Contentious hard forks are of key interest as they indicate the strongest dissensus process in blockchain-based online communities at the governance level, and there are numerous cases of them. A well-known example was the appearance of Bitcoin Cash as an alternative to Bitcoin, after a dispute over a change to the block sizes specified in the original protocol. Bitcoin Cash was the result of a multiyear debate regarding the best way to increase the number of transactions within the Bitcoin network (Wirdum 2016). Although several solutions were proposed, none received overwhelming adoption, and the reference client with the original protocol rules remains the largest network. This schism led to the presence of two completely different cryptocurrency networks.

Forks are the most explicit proposal for addressing dissensus in blockchain communities. Through forking, incompatible differences are resolved in a manner that is unique to the digital and open-source software culture, namely, by copying and tweaking code. Forking is thereby understood to resolve dissensus, while still adhering to basic principles of openness, decentralization, and noncoercion. The idea is that anyone might join a project and run a node, and if they stop agreeing with the project, they are free to leave, or fork the project in a different direction, allowing groups to continue to work on their vision of the protocol or project regardless of intractable differences (Kim and Zetlin-Jones, 2019). However, a fork comes with high costs; forking does not require the permission of the original creators of the new version, but it competes with and heavily splits the attention of developers and nodes (as well as the community and token holders who purchase, stake, and participate in governance). Furthermore, research so far has shown that forks are rarely successful in the long run (Balakrishnan, 2020), not least because of network effects and the scale needed in order for distributed networks and associated tokens to be successful, but because existing core developers will generally have built substantial off-chain reputation.

Because blockchain projects tend to include a token, economic dynamics also enter into the question of forks. In the sphere known as decentralized finance (DeFi), this has added a strong element of speculation into the dissensus process in which actors are becoming incentivized to leverage the possibility of forking for short-term gain, as evidenced by the several noteworthy contentious hard forks that have occurred in 2020 (Kelly and Balakrishnan, 2020). A notable contentious hard fork took place in August 2020 in the Uniswap community—the most popular decentralized exchange automated liquidity provision on Ethereum. The forked project was able to attract 14 M equivalent of funds to the new protocol. A commentary in the Ethereum community described this fork as “terrible” as this could be a precedent for infinite forks (Warren in Khatri 2020). The contention was that with the hard fork, SushiSwap appropriated three years of hard work, added a token, and made millions within a week. On the other side, there is a growing expectation that protocols are expected to share governance and revenue with users, who do not adapt, and are likely to be forked."

(https://www.frontiersin.org/articles/10.3389/fhumd.2021.641731/full)