In Defense of Alternative Cryptocurrencies
Alternative cryptocurrencies, like Litecoin, Primecoin and PPCoin, have gotten a significant amount of bad press recently. Lead Bitcoin developer Gavin Andresen wrote an article criticizing altcoins as being a way of getting around Bitcoin’s 21 million currency supply limit and “getting back to an ‘inflate on demand’ world” and, more recently, Daniel Krawisz from The Mises Circle wrote a lengthy post entitled “The Problem with Altcoins”, raising many other concerns. Krawisz’s arguments received a substantial amount of support from the Bitcoin community, showing that there are many Bitcoin users who disapprove of alternative cryptocurrencies in principle. Quite a lot of the time, the arguments made against specific alternative cryptocurrencies are justified; however, a strong case can be made that the position provided by Krawisz – that altcoins are bad in principle, and not just in implementation, goes too far.
The first argument that many people raise against alternative currencies – although, fortunately, one that is ignored by both Andresen and Krawisz, is that most of them offer essentially no value over Bitcoin itself. IXCoin is nothing more than Bitcoin with a steeper currency supply curve, flattening out around 2020. Feathercoin is a clone of Litecoin with the only major change being that the final currency supply is 336 million instead of 84 million, although Feathercoin developers do emphasize the currency’s well-maintained and active community as a counterpoint. Anoncoin is a version of Bitcoin that works over the anonymizing network I2P – certainly a valuable feature for I2P users, but a superfluous one now that I2P clients exist for Bitcoin itself. And it’s hard to tell what’s “American” about AmericanCoin, “Chinese” about ChinaCoin or particularly “global” about Worldcoin. These are all good arguments against those individual cryptocurrencies; however, when used as an argument against alternative cryptocurrencies in general, the fallacy becomes obvious. The fact that most altcoins offer little value and are forever doomed to the obscurity of sub-$1 million market caps is actually rather unsurprising; in fact, it is exactly what you would expect the alternative currency ecosystem to produce. It has been known for years that 90% of small businesses fail, and the principle has been generalized as Sturgeon’s Law: ninety percent of everything is junk. Did anyone ever expect that alternative cryptocurrencies would be any different?
However, the two do make a number of other arguments against alternative currencies. Krawisz makes a lengthy post detailing a number of arguments both against specific currencies and altcoins in general, whereas Gavin Andresen’s article on the subject is much shorter, and focuses specifically on one particular problem: inflation. Andresen writes:
One of the big appeals to me for Bitcoin is the fact that it is inflation-proof– the supply of Bitcoin is fixed and completely predictable. Everybody knows that 21 million Bitcoins will be produced, and everybody knows approximately how quickly they will be produced.
Creating gazillions of alt-coins seems to me to just be a way of getting back to an “inflate on demand” world. Not enough genuine Bitcoin money for you? No problem! Create a new alt-coin to produce more!
Meanwhile, the core of the Krawisz’s argument is this:
A medium of exchange that is more widely accepted on the market is more useful than one which is not. This is known as the network effect. Thus, an initial imbalance between two nearly equal media of exchange will benefit whichever is more widely accepted until a single one overwhelms the rest. There is no limit to this effect: ultimately one would always expect a single currency to overcome all its competitors.
The first thing that one needs to notice at this point is this: these two arguments are mutually exclusive. If Krawisz is correct, and there will inevitable be one cryptocoin dominating the market, then the only way an altcoin can succeed is by replacing Bitcoin entirely. Thus, there will not be any pseudo-inflation through multiple currencies. If, on the other hand, the total currency supply expands due to multiple coins being on the market simultaneously, then that will prove wrong Krawisz’s assertion that the cryptocurrency market necessarily tends toward monopoly. If one opposes altcoins, one must therefore choose to oppose them from Andresen’s line of reasoning or that of Krawisz; one cannot take both.
My personal position is that Andresen’s argument is technically correct, although the potential for it to cause price inflation is somewhat overstated. If alternative currencies have a future at all, it will be a future where cryptocurrency in general becomes more prominent, not less. In such a world, the larger problem is not price inflation (ie. Bitcoin’s value going down); rather, it is price deflation – Bitcoin’s value going up. Why is this a problem? First of all, nearly everyone agrees that having wealth be more equally distributed across many individuals is a good thing; opponents of wealth redistribution, by and large, only target the methods (eg. inflation and taxation) by which redistribution is attempted in practice. If altcoins cause Bitcoin’s value to go up by a factor of fifty rather than a hundred, and thus give rise to, say, fifty people split between five currencies with $1 billion each rather than ten people with $5 billion each, then by all standard measures of welfare economics that will be a positive outcome.
Second, it is the very potential for Bitcoin’s value to go so high up that makes the currency so unstable. When Bitcoin had its bubble to $266 in April, the reason why the market bounced back and forth so wildly before settling down around $100 is that the stakes were so high; everyone knew that, if successful, Bitcoin’s value can reach as high as $10,000 to $1 million, and the wild swings in prices represented people’s varying estimations of the probability that Bitcoin will indeed see such a success. However, if it is understood that if Bitcoin succeeds there will also be many other altcoins, then Bitcoin’s value might only end up between $2,000 and $200,000 in the case of extreme success – creating a lower “ceiling” on what the price can be and thus narrowing the range within which estimates of Bitcoin’s value can take place. The net result of this will, in fact, be reduced volatility – a positive outcome for people who are looking into Bitcoin as a store of value to protect themselves from having their bank deposits confiscated or their pension plan nationalized, and not as a “maybe get rich quick” investment. There is certainly nothing immoral about the latter, but the far larger value that Bitcoin can provide ultimately rests in the former. Once the cryptocurrency market is mature, we can expect cryptocurrencies to go down just as often as new ones come up, so the currency supply should remain roughly stable in any case.
One Cryptocoin To Rule Them All
But the above still does not address the main point that Krawisz makes – namely, that because cryptocurrencies benefit from network effects, there must necessarily eventually be one cryptocurrency dominating the market. In general, the principle that network effects create a tendency toward monopoly is a valid one. The core idea is that some goods (or standards, platforms or protocols) are inherently more useful if more people use them; for example, a radio would be essentially useless two thousand years ago simply because there were no other people with radios to talk to. When applied to protocols and standards, this means that a standard that gathers more users immediately becomes more useful by virtue of having more users alone, and so even more users adopt it, creating a positive feedback loop that ultimately culminates in one or a few standards establishing market dominance.
We can see this effect in the real world in many places. There are still hundreds of languages in widespread use today, but the reason why this status quo survives is that there is still not yet much of a global network for network effects to work off of; by and large, Chinese people talk to other Chinese people and Americans talk to other Americans, so different languages can come to dominate in different regions. In areas where this is false, like aviation and international business, English dominates worldwide. As another example, Krawisz writes, “Suppose automobiles had just been invented and two groups, because of vested financial interests, got into arguments about whether it was better to drive on the left or the right side of the road.” For obvious reasons, every such conflict in the real world has now been resolved; left-side driving only remains in highly contiguous pockets of the world – that is to say, self-contained regions where network effects (ie. people driving across borders) are small enough for the discrepancy to be tolerable. In the area of social networking, Facebook remains by far the most popular of its kind, although its importance diminishes somewhat if you include into the category of “social networking” things like Twitter, online forums and email.
In the context of alternative cryptocurrencies, however, the last example is particularly pertinent. It is virtually guaranteed that no company will be able to “beat Facebook” by simply being a different version of Facebook – as opposed to restaurants, where network effects are virtually nonexistent and anyone can set a new restaurant up and be moderately successful without offering any particular innovation. However, the services that have survived Facebook are those that can work alongside it, and have different properties that make them far superior for some particular use cases; Twitter and email are the obvious examples.
Perhaps, it will be the same with Bitcoin. Bitcoin itself is not nearly perfect for every use case; transactions take up to sixty minutes to confirm depending on the desired level of security, the system is not completely micropayment-friendly, and its scripting system is very limited compared to what it could be. Imagine, for example, a Bitcoin address that allows one private key to spend up to 0.1 BTC per day and the other to spend everything. Such a system would be a boon for security and applications like recurring billing; however, the current scripting system does not allow reading transaction values or past transactions. A future coin might. Ripple allows users to set up their own currencies and includes a decentralized exchange; Bitcoin does not. Bitcoin’s slow confirmations are already solved by Primecoin, whose blocks take one minute to confirm. Bitcoin’s lack of ability to (easily) include messages along with transactions is solved by Neocoin.
But then, the obvious question is, why use altcoins for all these things? Why not integrate advanced scripting, rapid block confirmations, lower transaction fees and messages into Bitcoin itself? In theory, it could be done. In practice, however, there are several reasons why it should be done and several reasons why it simply will not be done. First of all, complexity is bad. If nothing else, the blockchain fork in March 2013, where the Bitcoin network literally split in half for six hours because of a discrepancy between two pieces of database software, made this all too clear. If the Bitcoin network can be brought to its knees by an obscure database limit that Bitcoin developers did not even know existed, then imagine how well a version of Bitcoin with dozens of interlinking parts and dependencies would fare. If advanced features are implemented in an altcoin, however, the risk of failure is lower in each one, and if an altcoin falls down due to a technical glitch there will be far fewer people using that coin to store millions of dollars or make business-critical financial transactions who stand to suffer. Even if one does not take into account the risk of failure, complexity is harmful simply because it makes it more difficult to create alternative implementations of the software, stifling innovation in software development and leading to a kind of centralization by the backdoor.
Second, there is the matter of resources. Consider the case of Neocoin. Many Bitcoin developers are dead-set against integrating messages into the blockchain; when blockchain.info tried to implement such a system using zero-valued outputs, a number of Bitcoin developers, including Gavin Andresen himself, heavily criticized the initiative. Bitcoin developer Luke Dashjr wrote: “Data does not belong in the blockchain. People running nodes have all implicitly agreed to store the blocks for financial purposes, and storing data is a violation of that social contract.” The fear is that if the Bitcoin blockchain becomes recognized as a place to store messages, and people start using it as an email and instant messaging (or worse, file sharing) service, then network load would balloon massively and the blockchain would grow to many terabytes in size. With Neocoin, if that happens no one would have any cause to complain; the community would work on reducing the storage requirements, including potentially modifying the mining algorithm to remove the need for every miner to maintain a full blockchain. Similarly, Zerocoin, with its multi-kilobyte anonymous transactions, can grow to function as an effective mixing service on its own currency without saddling the Bitcoin network with additional data or the Bitcoin source code with advanced mathematics that even most professional cryptographers do not understand. Sure, the total amount of data would be the same, or even greater due to the need to exchange between the different currencies, but each individual would only need to worry about those blockchains that are relevant to them.
Switching Costs Go to Zero
All of the above arguments show the advantages of having different blockchains. But there is also a strong argument to make that the disadvantage of having multiple currencies is really not all that great. Krawisz cites several examples to show how competition between standards can be bad; aside from the example of driving on the left and right side of the road, he asks: “do we really need competition between the mile and the kilometer, for example?” The fallacy here is this. Miles, kilometers, traditional currencies and road regulations are all standards meant to be used by humans. Faced with a dual-measurement-unit system, we as individuals need to keep track in our heads the fact that one mile is 1.6 kilometers and one kilogram is 2.2 pounds, and use mental arithmetic to convert between the two as needed. In the case of the dual standard of “miles per gallon” and “liters per 100 kilometers”, the situation is even worse: one is an inverse of the other, so MPG going up is good whereas L/100KM going up is bad. If different cities had different road regulations, not only would drivers need to remember which side of the road to drive on in each city, but every boundary would need to have some kind of special streetlight or crossover bridge to allow drivers to switch from one to the other in real time.
Cryptocurrencies, on the other hand, are different. Because the actual handling of currency is done in software, bridge applications that allow people to send one currency to an address in another currency through an exchange can easily be created if necessary; Ripple recently introduced a tool that allows Ripple users to send directly to Bitcoin addresses by using the gateways in the Ripple network. Multi-currency wallets are also another possibility. Altogether, we have the tools to completely abstract away currency divisions from the user, and treat them purely as a technical problem; users need only choose the unit of account to store their money in, and peer-to-peer decentralized exchanges can take care of the rest.
Bitcoin itself suffers from a network effects deficiency against fiat currencies; currently, everyone uses fiat currencies, putting Bitcoin at a considerable disadvantage at least in these early stages of its growth. Bitcoin has only been able to overcome this problem simply because there are some circumstances in which it is simply so vastly superior that even the massive network effects of the euro and US dollar were not enough to overcome its advantages. Once Bitcoin wins, Krawisz argues, altcoins will be in a similar situation. “To defeat Bitcoin, an altcoin would require not just superior technology, but such vastly superior technology as to be an advance over Bitcoin comparable to the advance Bitcoin represents over fiat currency,” Krawisz writes. However, this argument is false. The reason is that network effects are not the only factor driving standards toward monopoly; the other major factor is switching costs. Making the switch from fiat currency to Bitcoin is quite difficult, and creating bridge services that work between the two is a multi-million dollar affair involving placating established banking partners and complying with a large body of regulation.
The path from one cryptocurrency to another is much simpler. Anyone can set up an anonymous exchange over Tor, and it may even be possible to make trust-free decentralized exchanges between currencies using Bitcoin’s underlying cryptography directly. For a merchant accepting Bitcoin, if alternative currencies gather any popularity at all then switching to Litecoin or Primecoin will be a simple matter of downloading a patch. It is even possible for a merchant to accept every cryptocurrency at the same time. Certainly, a new currency will need to be substantially better than Bitcoin to overtake it, and Bitcoin’s status as the first cryptocurrency out there gives it special unique value (much like “the original” of any painting is worth thousands of times more than even the most visually indistinguishable replica). However, as far as adoption is concerned, it is perhaps the chief benefit of cryptocurrency that it massively reduces the height of the “hump” that every new currency innovator will need to overcome in the future.
Krawisz then proceeds to argue against the merits of specific alternative cryptocurrencies. He first attacks so-called “Scrypt-coins”, of which Litecoin is currently the most popular. Scrypt is a hash algorithm, much like the SHA256, but with the main difference that Scrypt is designed to require a large amount of both processing power and memory to compute. Essentially, the way it does this is by pre-computing millions of intermediate values and then randomly selecting inputs from these values to generate the final result. A computer evaluating the Scrypt hash of a message (or, in this case, a block) must either keep all of these intermediate values in memory throughout the computation or re-compute the values every time they are needed, which is prohibitively slow. The benefit of using Scrypt instead of SHA256 for mining is that it becomes more difficult to create specialized miners that compute millions of hashes in parallel; with Scrypt, if you want to make an ASIC that computes hashes fifty thousand times faster than a CPU, then you will also need to include terabytes of RAM. This does not remove the potential for ASIC miners, but it does make them less efficient, allowing average users on CPUs and GPUs to continue mining without getting ruthlessly outcompeted by special-purpose hardware.
Krawisz, of course, disapproves of this idea. He compares the effort to create coins that average users can mine to the Candlemaker’s Petition, a satirical petition by the French economist Frédéric Bastiat featuring a candlemaker asking the government to, among other things, ban windows to protect his business from the competition of the sun. As a criticism of protectionist economic policies, the Candlemaker’s petition makes an excellent argument. The reason why the candlemaker’s request is harmful is that if his business relies on government intervention in the form of banning windows to continue operating, then the business is not providing any actual value to society in the first place; if his candles did provide value, people would be willing to spend money on them. Artificially maintaining a business that does not provide value makes no sense; if the candlemaker’s welfare is of concern, it is a far better solution to let the unproductive business die and supplement the merchant’s income through charity or a welfare program than to continue wasting resources.
As a criticism of Scrypt, however, the argument is not nearly so robust. In the case of the candlemaker, the product to society was light; the more light people get when they need it the better. In the case of cryptocurrency mining, however, the product to society is not hash calculations; by themselves, hash calculations are useless. Rather, it is producing more hash calculations than any potential attacker. Because the “memory-hardness” of Scrypt mining harms legitimate miners and attackers alike, its effect with regard to security is ultimately neutral; thus, this is not a case of artificially hamstringing one part of the economy to give another part a “fair chance”. Because mining is a competitive activity, both in terms of individual miners’ day-to-day operations and in terms of its ultimate purpose, many economic theories that work perfectly well for commodities fall flat on their face when applied to Bitcoin mining. The reality is that the economics of Bitcoin mining remains a heavily under-studied area, and much more research needs to be done before we understand what is truly going on.
Fast Block Confirmation Times
The topic of block confirmations is best explained by Krawisz himself:
The issue here is the risk of a double-spend attack. If you receive notice of a payment from someone, there is the possibility that he has made a second, conflicting payment using the same bitcoins. In this case, there is the chance that the other payment will be accepted into the block chain rather than yours, and yours will be considered invalid. This is a theoretical means of scamming Bitcoin merchants.
However, Krawisz then proceeds to make the following claim:
Furthermore, a double-spend attack is only possible if the two conflicting transactions occur within a few seconds of one another, so the best defense against double spending is simply to watch the network for a few seconds after receiving a payment. If no conflicting payments appear then there is nothing to fear from double spending.
Unfortunately, this is not necessarily true. A double-spend without mining power certainly does meet these restrictions. However, if an attacker with a substantial amount of mining power creates a double spending transaction, and then builds a blockchain with that transaction longer than the main blockchain, then Bitcoin nodes will still discard the old one and switch to the new one. So far, developers have rejected any attempt to change that fact because the risk is too high that it will break down network consensus and lead to a blockchain fork if different miners see incoming blocks in a different order and thus disagree on what the “correct” blockchain is.
Ultimately, against attackers with a substantial mining power, waiting for the network to “confirm” the transaction is the only solution. This takes ten minutes with Bitcoin, but 2.5 minutes with Litecoin and one minute with Primecoin. Even here, however, attackers with 1-49% of the network’s mining power can still sometimes get lucky and produce several blocks in a row; to prevent this, six confirmations is the accepted standard, ensuring that attacks have a 1 in 64 chance of success with 33% of the network’s hashpower, 1 in 729 with 25% hashpower and 1 in 15625 with 17% hashpower. Note that it is the number of confirmations, not the number of minutes, that counts; thus, while Bitcoin takes an hour to achieve this level of security, Primecoin does it in six minutes.
Next, Krawisz turns his attention to Primecoin, a cryptocurrency whose main innovation is the fact that its mining algorithm is intended to be actually useful. Rather than using SHA256 computations, Primecoin requires miners to look for long “Cunningham chains” of prime numbers – chains of values n-1, 2n-1, 4n-1, etc up to some length such that all of the values in the chain are prime (for the sake of accuracy, n+1, 2n+1, 4n+1 can also be a valid Cunningham chain, and Primecoin also accepts “bi-twin chains” of the form n-1, n+1, 2n-1, 2n+1… where all terms are prime). It is not immediately obvious how these chains are useful – Primecoin advocates have pointed to a few theoretical applications, but these all require only chains of length 3 which are trivial to produce. However, the stronger argument is that in modern Bitcoin mining the majority of the production cost of mining hardware is actually researching methods of mining more efficiently (ASICs, optimized circuits, etc) and not building or running the devices themselves, and in a Primecoin world this research would go towards finding more efficient ways of doing arithmetic and number theory computation instead – things which have applications far beyond just mining cryptocurrencies.
Krawisz’s attack on Primecoin is simple: “Primecoin is a wuzzle. It tries to do two unrelated things at once, which, generally speaking, is the opposite of a good design.” In most cases, this is a valid argument; it is a core part of the Unix philosophy that applications should “do one thing and do it well”. A device that attempts to be a baseball bat and a water bottle at the same time will likely fail at both, being too heavy to carry around as a bottle and too unpredictable due to internal water flows to serve as a reliable bat. However, here the situation is different, because Primecoin’s two purposes are fundamentally different in character: one is a private good, whereas the other is a public good. Primecoin’s value as a currency is enjoyed by those who choose to use it and only those who choose to use it; hence, this is the private component of the good that Primecoin offers. However, the scientific research that Primecoin generates is public in nature; the results will be usable by anyone, regardless of whether they used or mined Primecoin or not.
It is a well-understood fact in economics that public goods are underproduced in a pure market. For example, suppose that there is a community of ten thousand people, and it is publicly known that if people contribute $1 million, then some disease will be cured. Furthermore, everyone knows that, without a cure, they will all suffer from this disease at some point, and so everyone is, theoretically, willing to pay $5,000 for a working cure. If everyone contributed $100 toward curing the disease, then the $1 million goal would be reached and the disease would be cured, leading to a $4,900 benefit for everyone. However, from each individual’s point of view, contributing $100 only leads to 0.01% progress toward curing the disease – a personal benefit of only $0.50, not nearly enough to justify the expense.
The way such problems are generally solved is by bundling the public good with a private good. For example, suppose that one quarter of these people were all customers of the same health insurance agency (it can be a private company, a cooperative or an arm of the government; the distinction is not particularly relevant in this simplified example). The agency could spend $1 million curing the disease, but then save the $5,000 that it would have spent paying for the treatment of each of its 2,500 customers, leading to a net gain of $11.5 million. The public goods problem is solved because a private good, in this case insurance, was bundled with the public good of curing the disease – in Krawisz’s terms, a wuzzle. Primecoin accomplishes the exact same thing. It bundles a private good, namely its own block reward, with the public good of advancing research into scientific computation. Arguably, this is much closer to economic genius than “bad design”.
The argument that Krawisz ends off with is this: if these features are so good, why do they need to be in their own currencies? Why can’t the developers of these features ask the Bitcoin developers to put these features into Bitcoin instead? One argument that I already made is that modifying Bitcoin at this point is simply too risky to be worth it; however, an even better rebuttal can be made by simply flipping the argument on its head. Why did Satoshi have to create his own currency? Why couldn’t he have simply been a good little consumer and filled out a suggestion form asking his local bank to implement a semi-anonymous and global value transfer mechanism instead? If inflation is the problem, why couldn’t he have engaged in legitimate democratic process and petitioned his government to add a hard currency supply limit to his local fiat currency instead? Why couldn’t he have just nicely asked Paypal to offer a payment option that is irreversible?
The answer is obvious. Sometimes, people in control of powerful and established institutions are either irrational or simply factually wrong, and there needs to be an outlet for people to try out new ideas with or without their support. If the idea fails, then it goes into the dustbin of history where it belongs. If, on the other hand, the idea succeeds, then it is a very good thing that the idea’s inventor was able to simply ignore the initial skepticism and go ahead with the project. Governments and banks are stubborn about a lot of things, but Bitcoin developers do also have their points of stubbornness as well. Perhaps they are right, but perhaps they are wrong – but in either case, a real-world market is the best way we have to find out for sure.