Republished from Jimmy Song's Medium Blog
If you’ve gotten into crypto in the last 6 months, you are probably confused about the different hard forks that are occurring. There are a lot of different ones in different coins, some resulting in new coins, others seemingly coasting along without any splits. This can be very confusing to a newcomer and it’s probably enough to turn off a great number of people that just don’t want to deal with the complexity.
In this article, I’m going to make distinctions that will hopefully shed light on exactly what hard forks are and why they should be considered altcoins. In order to examine this claim, it helps to first look at the history of altcoins and look at how they came into existence as well as why they were designed the way they were.
In The Beginning…
Bitcoin was the first cryptocurrency to be created and is different than other coins for a variety of reasons. The Bitcoin blockchain, or the ledger that keeps track of what amounts belong to which address, started in January 2009. Bitcoin is the oldest coin by far and is backwards compatible. That is, the software that was used back at the beginning can at least in principle be utilized today.
In a sense, Bitcoin has no real peers as nearly everything else is some kind of copy.
Starting in 2011, there were many different coins that started to come into existence for one reason for another. As chronicled in my earlier post, they were perceived to be “fair” based on some attributes the creators made. For example, IxCoin had what’s called a premine, or a bunch of coins set aside for the creators. The coins were meant to compensate the developers, but oftentimes, they’ve been seen as being unfair as the reward was disproportionately large compared to the supply.
Other coins such as Litecoin and Namecoin were perceived to be more fair, and unsurprisingly had more success. In particular, neither had a premine and were announced ahead of time so anyone could mine either coin.
Another way in which altcoins compensate developers is by having a developer tax. That is, some amount of the block reward goes toward the developers automatically. Zcash is perhaps the most famous of altcoins that employs this.
ICOs (Initial Coin Offerings) or token sales, as they were known at the beginning, were started in 2013 with the advent of Mastercoin. Maidsafe, Ethereum and Factom are just some of the early token sales that occurred soon after.
ICOs are essentially altcoin offerings with some crowd funding that gives the token buyers early access to the token. They’ve become a lot more popular with the launch of Ethereum in 2015 as the Ethereum Network was largely designed around the ability to launch ICOs.
In a sense, ICOs are altcoins with sales of a premine. The usual reason for raising funds in this way is to fund the development and marketing of the software for the project, setting up a foundation and rewarding the creators of the software and white paper.
Technically speaking, hard forks are backwards-incompatible software changes that split a network into two — the network running the original software and the network running the new software. The coin that trades on the network with the new software is considered a hard fork of the coin from the original network.
The most famous one is Bitcoin Cash (BCH) which forked in August of 2017. Essentially, they kept the same ledger going from BTC, but added a backwards incompatible change (larger blocks and replay protection via a different signature hash) that split the ledger into two.
Problems Altcoins Face
In a sense, altcoins, ICOs and hard forks face the same dilemma. How do they get value at all? They’ve been conjured up out of thin air for the most part, so why would anyone give up something of value for them?
There are multiple paths to add value, but the main way is to add utility of one form or another. However, adding utility is pretty useless without some distribution. And distribution is hard if you’re starting from scratch.
ICOs solve this more or less by social means. They distribute to a wide group of people that are already interested by charging money. The money gathered can be further utilized to market and to list them on exchanges where further distribution can occur.
Some altcoins purely rely on word of mouth, while others try things like airdrops. An airdrop is simply giving coins away to some amount of people based on some arbitrary criteria. Clams gave away coins based on individual UTXOs on BTC/LTC/DOGE. This is akin to giving you a small amount per coin in your piggy bank, no matter the denomination. Decred gave away coins to anyone who registered. Stellar gave away coins based on how much you had in Bitcoin as long as you authenticated with Facebook. Ripple gave away coins to anyone who asked and had an account before a certain date on bitcointalk.org.
In a sense, a hard fork is similar to a brand new altcoin, except with an airdrop to the owners of the coin that it forked from. In that way, you can treat every hard fork of a coin as a brand new coin, with the property that the ledger is more or less kept while the software is changed in an incompatible way.
Altcoin: Software + Ledger
The distinction here is useful. Each coin can be thought of as a combination of ledger and software. The ledger is the history of every transaction and the software is the validator of the entire history of the ledger.
Altcoins need some initial state for their ledgers. The ledger can be initialized in several ways. You can start the ledger from a blank state like Litecoin. You can start the ledger from a state favorable to the creators like ByteCoin. You can start the ledger from a state whose initial state is sold to the public like ICOs. You can start the ledger from the exact same state as that of another coin like Bitcoin Cash. There can even be some combination like Bitcoin Gold, which employed a combination of the Bitcoin ledger plus some extra funds to the creators. Bitcoin Private and Bitcore employed even more complicated methods of initializing their ledgers.
Altcoins also need software. The software is what validates each ledger and strictly speaking, each combination of backwards-incompatible software and ledger is itself a new altcoin. What was interesting was that for most of the history of cryptocurrency, the combination of old software and ledger was more or less abandoned. This changed with the hard fork of Ethereum resulting from the DAO hack.
Essentially, one group of people thought that the previous version of the software was more fair and therefore kept that going and gave it value. This coin is now called Ethereum Classic and was the precursor to many other hard forks resulting in two viable coins.
In a way, every hard fork in any coin creates a new altcoin, with the ledger initialized to the ledger of the old coin. With many hard forks, the “old” coin is more or less abandoned as there is social consensus on the “new” coin and there is not a development team willing to maintain it.
Given that hard forks introduce backwards incompatibility, it’s rather strange that the entire history of ledgers are kept around. After all, the utility of transferring tokens is only dependent on the current balances, so why not just start a new ledger with just the new balances? This could, for instance, reduce a rather bloated blockchain by a significant amount. Some hard fork altcoins such as BTX and BTCP have taken exactly this approach, by not opting to import the 150GB+ of history of Bitcoin and instead importing just the unspent parts (i.e. UTXO set) which, as of this writing, is roughly 3GB.
Politically, however, this approach would more or less be admitting that a new coin is being created with each hard fork and thus isn’t utilized. Ethereum or Bitcoin Cash could both do this as part of their next scheduled hard fork, but they want to be perceived as continuing the old chain and not starting a new one, so they don’t start a fresh ledger with the same balances, even if the ledger is technically the same.
This is a shame, since the benefits are pretty large. Each node has much lower storage, bandwidth and validation costs, especially during initial synchronization. Instead, altcoins talk about sharding and miner-only full nodes as solutions, despite the obvious technical and centralization problems.
Software that’s backwards incompatible essentially creates a new coin. In that sense hard forks are no different than altcoins.
This brings up even trickier questions as there’s no objective standard for what constitutes the “real” coin when something splits. The tax treatment of this is going to cause some real headaches for CPA’s soon enough.
What’s more, most coins are not nearly as old as they claim. They are really only as old as the newest backwards-incompatible “upgrade”. The ledger may be the same as the previous, incompatible version of the software, but that’s just a roundabout way to initialize the ledger for a new coin.
A hard fork by definition requires backwards-incompatible software. New software essentially means that anything goes, including premines, dev taxes, founder rewards, etc. The implications of this are not fully understood yet as most hard forks don’t yet alter the ledger or the rules for adding transactions very much.
Going forward, I expect more and more drastic changes to take place in hard forks as intervention to the ledger will get more and more tempting. Hard forks are altcoins because they change the rules. At first the rule changes are judicious, but adding subjectivity by allowing for incompatible rule changes inevitably allows politics to enter.
As a result, hard forks become the centralized choke point through which regulation can enter. Expect this to be utilized as altcoins are more and more exposed to the risks of centralization.
Never miss a thing and suscribe to our newsletter.
Jimmy Song is a Bitcoin Core Contributor and former VP of Engineering for Armory. He caught the Bitcoin bug back in 2011 and started contributing to Bitcoin open source projects since 2013. He’s a contributor to CoinDesk.