What are Forks, Alt-coins, Meta-coins, and Sidechains?
Peter Van Valkenburgh, Coin Center’s Director of Research, clarifies some terminology and explains some technical concepts from the ever-changing universe of Bitcoin-derived innovations.
This post has been updated. Read the new version here.
Perhaps the most exciting aspect of cryptocurrency technology is that it is entirely open for experimentation—there’s no patent or copyright to license, no university or corporation from which to seek a job, no exclusive membership fee to pay. Anyone with a computer and an Internet connection can develop and share her own currency, her own vision of the future. The openness of this system makes it vibrant but it also can make it confusing. Forks, alt-coins, meta-tokens, sidechains. . . what does it all mean? This backgrounder is designed to clarify some terminology and explain some technical concepts from the ever-changing universe of Bitcoin-derived innovations.
Fundamentally, Bitcoin 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. These modifications can result in software that remains compatible with the Bitcoin network or that 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 with fees below a certain amount. Some examples of the Bitcoin consensus rules are:
- Miners of new blocks may only create a certain number of new bitcoins; currently 25.
- Transactions must have correct ECDSA signatures for the bitcoins being spent.
- Transactions/blocks must be in the correct data format.
- Within a single blockchain, a transaction output cannot be double-spent.
Creating any custom modification of the core software is called “forking” the code. The term “forking” is tricky in the context of cryptocurrencies because it is also used to refer to a split in the network’s shared ledger—a “fork in the blockchain.” These are two distinct concepts that can be easily confused.
Running forked software that does not alter the consensus rules does not “fork” the blockchain; users of such forked software will still agree with the existing Bitcoin network over the state of transactions on the ledger. By contrast, running forked software that does alter the consensus rules will result in either a brand new blockchain or a fork of the Bitcoin blockchain (depending on whether the software recognizes previously mined blocks in the Bitcoin blockchain as authoritative). Peers running such new software will recognize an alternative set of confirmed transactions (as compared with the list of Bitcoin transactions on the Bitcoin blockchain) on their own network as authoritative.
Whenever a group of networked peers persist in running a forked version of Bitcoin with alternative consensus rules, and—therefore—a new alternative blockchain, these peers will effectively be running a new cryptocurrency. This new blockchain will account for holdings of a new scarce token often called an “alt-coin.” Some notable examples of alt-coins forked from Bitcoin’s original code include Litecoin, Dogecoin, and Peercoin.
Rather than fork a version of Bitcoin software, a developer may also start from scratch in order to create a new cryptocurrency, selectively borrowing elements of prior cryptocurrency software or writing the code anew. These cryptocurrencies will also often be referred to as alt-coins. A notable example of a recent from-scratch alt-coin is Ethereum.
Finally, in order to provide some specific consumer or enterprise service that would benefit from an open, shared, and irreversible ledger—a blockchain—a developer could create a protocol that is built on top of an existing cryptocurrency.
By way of example, the Counterparty system is built on top of Bitcoin’s blockchain. These second-layer systems may also utilize their own provably scarce token—in the case of Counterparty, XCP—and they may also allow individual users to create new varieties of that scarce token for his or her own particular purposes.
Using Counterparty, for example, a person could create tickets to her own concert, sell those tickets online as unique tokens on the Counterparty protocol, allow buyers to further sell and resell the ticket-tokens, and then admit to the performance only those who can verifiably show that they are the final holder of a ticket-token according to records kept in the Bitcoin blockchain and interpreted by the Counterparty protocol. This simple use-case (digital ticketing) seems unextraordinary until one realizes that it is accomplished without a centralized entity or company, like Telecharge or Ticketmaster, keeping the books and charging a fee.
In theory, Bitcoins themselves (or tiny fractions thereof) could be used to represent these hypothetical tickets. Such representative bitcoins are sometimes referred to as “colored-coins,” because they can be likened to real coins that are painted red and passed about the room to represent something beyond their nominal value (say, permission to speak at the meeting). The Bitcoin protocol, however, does not make it easy to add verifiable notes or rights to a particular bitcoin as it travels across the blockchain. Instead, it is designed to do one thing well: transmit simple value, transmit unmarked bitcoins. So, if a ticket seller wanted the ticket to only be transferable once, or only by authorized resellers (i.e. to prevent scalping), or if the seller wanted the ticket to be provably scarce, or recallable in the event of some malfeasance on the part of the holder, then a colored coin use of Bitcoin would be a poor solution. Counterparty and other such meta-tokens or meta-platforms can make it easier to create these blockchain-based assets alongside verifiable rights and limitations, by allowing the user to “color” the meta-token rather than a bitcoin itself.
You don’t need a meta-platform to build these tools. Plenty of stand-alone alt-coins—most notably, Ethereum—have these beyond-Bitcoin features built-in, but some argue that network effects make building on top of Bitcoin—the original and still most-used blockchain—a safer bet.
In order to create the initial meta-tokens (XCP) that would travel on the Counterparty protocol atop the bitcoin blockchain, the protocol’s developers did something interesting: they enabled any existing bitcoin user to obtain XCP by provably “burning” or destroying some amount of bitcoin, this is referred to as a proof-of-burn. The purpose of this setup was to create a fair initial distribution of XCP tokens, and avoid a situation where Counterparty developers (by selling XCP) would be enriched—perhaps unfairly—before the platform bore any real fruit.
Many technologists have praised Counterparty’s use of proof-of-burn as superior to the typical alt-coin model. In previous alt-coin offerings, a new protocol for scarce digital assets is unveiled, and the initial tokens are auctioned off to the highest bidders, much to the profit of developers, and, potentially much to the detriment of the buyers should the platform not succeed and the value of the tokens ultimately go to zero. Basing the initial distribution on a proof-of-burn system, by contrast, does not carry the same promise of quick profits for developers.
Some, however, have felt that the destruction of bitcoins created a dangerous precedent that could lead to deflation or further abusive mis-uses of Bitcoin. Additionally, even in a proof-of-burn arrangement the early investors and users can still lose their entire holdings should the platform fail to materialize. Ultimately, the desire to allow for new blockchain-based services, a fair initial distribution of new tokens, and reticence to substantially increasing the functionality of the bitcoin blockchain culminated in the development of sidechains.
A sidechain is effectively an alt-coin (i.e. a different blockchain keeping track of the movements of a different batch of scarce tokens), but it has a pegged exchange rate with Bitcoin. To use the sidechain, a user sends her bitcoins to a special address on the Bitcoin blockchain, at which point that bitcoin will be immobilized and a token on the sidechain will be released to a sidechain address that is controlled by the same person. The same happens in reverse. A user of the sidechain can send the sidechain token to a special address that will immobilize the token and release the corresponding bitcoin on the bitcoin blockchain back into her control. This “conversion” occurs without trusted intermediaries because it relies solely on mathematically provable statements (x bitcoins have been sent to y bitcoin address; x sidechain tokens have been released from y sidechain address). These are referred to as Simple Payment Verification (SPV) proofs on the two (bitcoin and sidechain) decentralized networks. Given the fixed conversion rate, and the automated/deterministic process for conversion, it may be more appropriate to think of sidechains as new blockchains that the user can simply move her bitcoins into and out of at will.
The primary downsides to the sidechain approach are technical challenges. Ensuring that pegged bitcoins can be recovered by honest sidechain users, and never dishonestly recovered by interlopers, requires a sophisticated technical arrangement and, for the most secure implementation, minor adjustments to the Bitcoin protocol itself—something that will ultimately require the political will of the community to enact.
At least for the present, this describes the full landscape of cryptocurrencies. Where we go next is uncertain, but that’s the price we pay for permissionless innovation.
Peter Van Valkenburgh is Director of Research at Coin Center.