Fork

From CryptoWiki

Basics

In PoW

  • In Proof of Work blockchains, a fork occurs when two miners find a valid hash within a short space of time.
  • They both spread the solution for verification to their neighbours.
  • As the process continues the network will split into two, where one half of the network believes one block is the next to be included in the blockchain ledger, whilst the other half of the network believes in a different block. Sometimes there are trivial reasons, sometimes there is a politcal or technical upgrade which not all miners agree upon. These often happen by hard forks.
  • "This problem is almost always resolved quickly, or within one block – the probability of two blocks being found within two seconds of each other for two block rewards consecutively is very low. A one block fork occurs roughly once a week, whilst a two block fork occurs extremely rarely. The problem is solved by the part of the network that finds the next block, as this blockchain is then said to have more difficulty – or higher complexity. The other part of the network will then make its blocks redundant and adopt the 2 blocks of the longer half of the blockchain. The block that it thought was the solution will then be stored in a pool as an orphan block. This is called blockchain reconvergence."
  • Simple explanation found here

Well known forks

Forking Code

  • Cloning Github code from a project and releasing it yourself is also called forking.
  • From Bankless (17-9-2020):

"First, you have to realize that not all forks are the same. Each has a different intended outcome, approach, and strategy. Since Sushiswap’s ‘vampire attack’ on Uniswap two weeks ago, we have now seen multiple archetypes of forks—some of which were anticipated, and others which are still new and emerging.

From “Fast Follower Forks in DeFi”:

  • Pump & Dump Forks: Forks whose primary purpose is to make a few people a lot of money, get a lot of people REKT, then move on to the next one. There have been many of these lately—particularly forks of YFI, forks of Sushiswap (itself a fork of Uniswap), and forks of YAM.
  • Fast Follower Forks: Forks trying to unseat an original protocol or do something a little better—whether token distribution, incentive design, or a key functionality. This is where I would classify ‘vampire attacks’ that try to steal liquidity from an original protocol.Examples include YAM (AMPL), YFII (YFI), Sushiswap (Uniswap), Hotdog (Uniswap), Kimchi (Sushiswap), C.R.E.A.M. (Compound), Swerve (Curve), and many more.
  • Homologated Forks: Forks that homologate the protocol, interface, brand, and messaging to a particular geography, region, customer, or segment. These forks try to take advantage of deeper customer understanding and intimacy. For example, YFII (YFI) has translations in Chinese, Japanese, Korean, and Thai to connect with users in those markets.
  • Big Protocol Forks: Forks from existing, well established protocols to increase their capabilities and/or offerings to existing users. We haven’t seen these yet—but they’re coming.

New and Emerging Fork Archetypes:

  • Governance Forks: Protocols that try to amass governance power in one or multiple networks by introducing a meta governance token. Examples include Unipool (Uniswap), PowerPool Concentrated Voting Power (Compound, Synthetix, Curve, YFI, etc.), and others.
  • Interface Forks: Forks of a commonly used interface but with new features, integrations, and experiences that encourage users to switch away from the original. This will include aggregators, dashboards, and wallets. Once getting enough traction, they can then swap out some of the underlying protocols.
  • Cross-Chain Forks: Forks that take an existing Ethereum-based DeFi protocol and bring it to a new chain or cross-chain. My bet is that we’ll see many of these on Layer 1s like NEAR, Polkadot, Cosmos, Tezos, and Tron. Some of them may be created by the Layer 1 teams themselves to bootstrap their DeFi ecosystems.
  • New Application Forks: Forks that take an existing protocol or primitive to create a new application for a new set of users. Arguably, this type of fork has a very different intent—rather than compete for the same users or markets, it’s creating a new market, use case, and set of users.

By identifying the different archetypes of fork, teams can better defend against the ones that present the greatest risk to their protocol. For example, some forks target the same users and introduce a similar product/protocol—while others target new users with new products/protocols."