The terms “fork” and “airdrop” are not straightforward, nor are they used consistently even within the cryptocurrency community. This backgrounder explains the topic with a lense toward what policymakers should know about forks and airdrops. We will describe three general types of “fork,” explain which types potentially grant users access to new tokens, describe airdrops, and explain why it is mistaken to believe that forks and airdrops are sequentially related events.
Forking Software
Fundamentally, Bitcoin or any other token network is merely software running across a network of peers that creates and maintains a shared ledger accounting for holdings of a scarce token. Bitcoin’s network software is open source, so it can be duplicated and modified without seeking a license from the copyright holder. Almost all other token networks also utilize open source software, meaning that they too can be copied and modified to create derivative innovations.
These modifications can result in software that, when run, remains compatible with the parent network or ceases to be compatible. Changes that do not break compatibility are sometimes referred to as changes to the software’s policy rules. Changes that do break compatibility will necessarily be changes to the software’s consensus rules—referring to the rules upon which the entire network must agree. An example of a policy rule could be: “refuse to relay transactions sending less than a certain amount of bitcoin.” One can choose software that follows such rules or not at his or her discretion without breaking compatibility with the network. In contrast, some examples of the consensus rules within the Bitcoin core software that must be followed in order to maintain compatibility with the network are:
- Miners of new blocks may only create a certain number of new bitcoins (currently 12.5).
- Transactions must have correct ECDSA signatures for the bitcoins being spent.
- Transactions/blocks must be in the correct data format.
- Within the Bitcoin blockchain, a transaction output cannot be double-spent.
Creating any custom modification of core protocol software is called “forking the software.” The term “forking” can be tricky to understand in the context of tokens because the term is also used to refer to a split in the network’s shared ledger—a “fork in the blockchain.”
Forking Blockchains
Running forked software that does not alter the consensus rules does not fork the blockchain; users of such software will agree with the rest of the network over the state of transactions on the ledger. To give an example, if someone wants to develop new Bitcoin mining software that is compatible with the existing Bitcoin network but better utilizes her own particular mining hardware, then she may fork the original Bitcoin core software and take care not to alter the consensus rules. She is running forked software, but her mining activity does not fork the Bitcoin blockchain.
By contrast, if some number of participants begin running forked software that does alter the network’s consensus rules, then they will break compatibility with the rest of the network. Depending on what happens next, this break in compatibility can result in several possible outcomes:
- Temporary blockchain fork: A temporary blockchain fork can occur when some fraction of the network participants fail to quickly update their software when an update involves a change to the consensus rules. In this case the blockchain will fork because the two sides of the network (i.e. those that have updated their software and those that have not) no longer recognize each other as valid participants per the consensus rules. Assuming this happened by mistake, one of the divergent chains will die off once those tardy network participants choose to adopt the new update. Until all participants update, there will be two alternative versions of the blockchain and transactions on the side that dies away will be reversed if they are not also incorporated into the other chain.
- Contentious blockchain fork: Blockchains can also fork more permanently when there is contention between factions on the network over which version of the software should be used. A contentious fork that persists will necessarily result in there being two cryptocurrencies where there once was only one. Both sides of the contentious fork recognize all pre-fork transactions as valid, but after the fork they only include transactions that are valid according to their own divergent rules. The most notable examples of contentious forks are the Bitcoin and Bitcoin Cash split and the Ethereum and Ethereum Classic split. These contentious forks are sometimes referred to as “hard forks,” but that term is broader (encompassing any change to the consensus rules that is not backwards compatible) and does not necessarily result in the creation of new divergent cryptocurrencies. A better term for a blockchain fork that leads to two divergent cryptocurrencies would be a “contentious fork.”
- New cryptocurrency with entirely new blockchain: Changes to an existing cryptocurrency’s software could result in a brand new cryptocurrency that does not share a common transaction history with the network that runs the original software. In essence, the developers who make these changes are borrowing code from the original network and advocating for others to run that new software in order to design and promote a brand new cryptocurrency. Some early examples of token networks whose underlying software was forked from Bitcoin’s original codebase but which went on to become lasting alternative cryptocurrencies (sometimes called “alt-coins”) include Litecoin and Dogecoin. These software forks did not split the blockchain; they merely forked the code and created new blockchains from scratch.
Forks that give users new coins, ICOs, and Airdrops
In a contentious blockchain fork, users of the original network can choose to use and spend tokens on either or both of the divergent chains. Post-fork, users who are aware of the fork will find that they have an equal number of tokens on both networks as they had on the original. A user’s “balance” on a cryptocurrency network is simply the number of tokens ascribed to public addresses on that cryptocurrency’s blockchain to which the user holds the corresponding cryptographic key (a.k.a. the private key). In a contentious fork, both networks recognize these pre-fork balances as valid; so, in that sense, a user of the pre-fork chain will, by no action of her own, “have” tokens on both networks post-split. Generally speaking, users can spend or use tokens on one fork without affecting the disposition tokens on the other fork; having divergent consensus rules means that the two networks don’t talk to each other and transactions broadcast to one may not be valid on the other.*
Users may not even be aware of one side of the fork and could continue transacting with whatever software they’ve continued to use as if nothing happened. Users who hold their own keys will only gain control over tokens on the other side of the fork once they choose to install the rival and incompatible software on their computers and import their private keys from one software wallet to the other. As discussed below, this scenario changes for users who use custodial wallets.
New networks need not recognize an existing transaction history. As described earlier, they could start from scratch. Like Bitcoin at its inception, the blockchain would begin at zero and each block could award new cryptocurrency to the network’s miners. This, for example, is how the Litecoin and Dogecoin networks were initiated. Alternatively, the developers of the new network could write their own desired set of initial transactions and balances into the first block of the new chain. This first block could list certain amounts of tokens as belonging to addresses already generated by the developers as a self-bestowed reward for their work to develop the new network software, or it could assign new tokens to addresses created for investors who financed these development efforts. Releasing cryptocurrency software with a first block and some initial distribution of tokens is referred to as a “pre-mine” and if those pre-mined tokens are sold to early investors the sale and distribution together is colloquially referred to as an “initial coin offering” or ICO (a regrettable term that unhelpfully conflates the world of traditional finance with cryptocurrency networks).
Developers can also set the first block of a new blockchain to initiate with a transaction history copied from some particular moment in some other blockchain. A developer could, for example, decide that the first block of NewCoin will have the exact same set of positive balances corresponding to addresses on the Bitcoin blockchain at midnight Jan 1, 2018. This mode of distribution is referred to as an “airdrop” because users of the parent blockchain suddenly have all the cryptographic credentials necessary to access a corresponding number of tokens on the new network almost as if they’d been airdropped onto them. Users don’t receive these new coins automatically in the wallet that holds their existing cryptocurrency; rather they must install a new wallet using the new software and import their existing cryptographic credentials into that wallet. As with a forked blockchain, users of the parent chain can, if they so choose, freely spend or utilize the airdropped tokens without affecting the disposition of their tokens on the parent chain.
Further complicating matters, several networks (most prominently Ethereum) are designed to allow their users to create further bespoke tokens “on top of” the parent network. The minting and transmission of these new tokens and their use is policed and described by the consensus mechanism and blockchain of the underlying network. For example, a random Ethereum user can create 20 units of their own RandomCoin on top of the Ethereum network and send them to Ethereum addresses controlled by her friends. There is no RandomCoin blockchain; the original creation of RandomCoin by our random user and any subsequent transactions to her friends and beyond are recorded in the Ethereum blockchain. Ethereum is not the only token network that has this functionality, but it is presently the largest. Ethereum also allows users who create these new tokens to send them to every ethereum address that has a positive balance. This too is a type of air-drop of new tokens.
Exchanges and Custodial Wallets
The above description of forks and airdrops assumes that users of these networks are holding their own cryptocurrency on their own devices, meaning that they have full control over the private keys that correspond to positive balances on a blockchain or several blockchains. Thus, when a blockchain forks, the keys that they possess as users of the original chain can, if they utilize them, grant them access to forked or airdropped tokens.
If, on the other hand, a user has entrusted her private keys to a cryptocurrency exchange or a custodial wallet provider, then the exchange or custodial wallet provider will be the one who gains potential access to newly forked or airdropped tokens. This service provider can then choose whether to give their customers the benefit of these new assets. An exchange’s election to give its users new tokens has also been referred to as an airdrop even though it is functionally completely different from the various airdrops we discussed earlier.
Disentangling forks from airdrops
In recent guidance, the IRS suggested that forks and airdrops are sequentially related events. This interpretation runs counter to how the technology operates. In a situation where a cryptocurrency user is holding her own keys, a network fork may occur that would enable her to claim new assets by installing the new network wallet software and importing her existing private keys into that new wallet. At no point in that example does an airdrop occur. In a situation where a cryptocurrency user is trusting her keys to a service provider, a network fork may occur but she would not be able to claim new assets unless her service provider chooses to give her access to those new assets (because only the service provider controls the relevant keys). This might be referred to as the exchange “airdropping” the new tokens following a fork, however that’s not the typical use of the term airdrop. A typical airdrop involves the launch of a new token and an automatic assignment of these new tokens to public-private keypairs on some existing network. This would not involve a fork of any kind unless the blockchain describing the new network happened to also recognize an existing network’s transaction history as valid.
*Forked blockchains do present a risk of so-called replay attacks wherein spending tokens on one chain might result in a transaction maliciously rebroadcast to the other chain, however effective countermeasures can be taken to prevent these attacks.