Over the weekend, a crypto project called Sia posted about their work in designing their own chip for crypto mining. It’s a long post, with some incredible insight. We wanted to follow up on this with some of our thoughts on silicon in general and mining in particular.
First some background. Most cryptoassets are based on some form of ‘mining’, or devoting compute resources to supporting a blockchain project. Miners are rewarded for their efforts by payment in the token to which they are applying their computers. Mining operations require just a computer, some mining software and a basic Internet connection. The software tends to be standard for everyone, and you do not really need a big Internet pipe. So the economics of mining really boil down to how fast a mining computer is, balanced against the electricity needed to power it.
Most mining algorithms are relatively simple calculations performed millions of times a second. This meant miners favored GPUs over CPUs. GPUs tend to have more computing cores per chip, with each core less powerful than those found in CPUs. But GPUs were designed to process specific graphics calculations, they come with many features not needed for crypto mining. The economics of semiconductors depend heavily on real estate. The more features on a chip the more expensive it is, and the more power it consumes. A final wrinkle in all of this is that there is a big reward for the miner who solves the calculation first. If you have a faster chip, or a chip that uses less power and thus lets you throw more chips at the problem, you can garner outsized rewards.
So a few years ago a few companies began developing chips specifically designed for crypto mining. The crypto industry labeled these chips ‘ASIC’s which is an industry term for chips designed for a specific purpose, as opposed to a general purpose chip like a CPU. These ASICSs stripped out the extra features, which positioned them as the best performing chips in the mining competitions out there. Anyone who got a hold of these chips had a big advantage and could make a lot of money.
To date most of the mining ASICs out there have been designed by companies who are…how do we say this… less concerned by reputational matters. These companies allegedly use their products to mine cryptocurrencies before sending them off to their customers. The blog post from SIA also claims that there are several large mining operations which designed ASICs in secret for their own use. We have been working on a piece about how much easier it has become to design your own chips. Without getting into the details here, over the past decade designing a chip has gotten much cheaper allowing for specialty, niche products like this to emerge. (Someday we will post more on this.) So it is entirely believable that private operations can actually accomplish this.
A key theme in the crypto community is the idea of “ASIC resistance”. As we have noted elsewhere, there is a strong ideological bent to the cryptoasset community. Bitcoin itself is explicitly designed so that anyone with a computer can participate in mining. So the idea of someone designing silicon for mining runs counter to industry notions of fairness. Hence the effort by many later blockchain projects to design mining algorithms that have ‘ASIC resistance’, that is do not lend themselves to some interloper’s purpose-built chip.
Unfortunately for the believers, this is not how silicon works. One of our takeaways from the SIA post was the insight it provided into the developer community around cryptoassets. They claim that many of the crypto projects who built ASIC-resistance into their algorithms greatly underestimated the flexibility of silicon designers. The reality is that there is no such thing as ASIC resistance. If someone designs a software algorithm, someone else can build an ASIC optimized for it.
This is the beauty of semiconductors. Many think of them as hardware for processing electric signals, but they are really just software made corporeal. In computing, the closer you can run an application to ‘bare metal’ the faster it will go. So in programming circles, developers know that using high-level languages comes at the cost of slower performance relative to lower-level languages that can make optimizations to how it interacts with the underlying semiconductors. But that process goes further. The semiconductor itself is just a series of logic gates, which means they can be designed just as you would design a software algorithm. If you build an application into silicon it will run faster (and use less power) than the same application running in software on top of a general purpose chip.
This need not spell the end of a general purpose processors, these still have some important advantages. First, general purposes processors often have healthy programming environments. This is why GPUs have done so well in cryptomining and Machine Learning. For example, Nvidia has their CUDA framework which makes it possible for software programmers to make use of very low-level chip functions without having to resort to very arcane, clunky programming interfaces (which is probably what you get with crypto ASICs). Secondly, general processors have huge economies of scale. This generally makes them cheaper to produce. Most importantly, the general purpose processor vendors can take advantage of the latest processing technology, aka the leading edge of Moore’s Law. GPUs today are on 10nm processes with 7nm products due out later this year. By contrast, most of the crypto ASICs on the market are 14nm or 28nm. Smaller process nodes mean you can pack more performance into the same area, greatly reducing cost. Of course, designing on the leading edge carries massive upfront costs. If you are building a few million GPUs, those costs can be amortized down to very little, but if you are building a few hundred thousand crypto ASICs those costs may matter. There are no hard answers here, just a spectrum of trade-offs.
To close out, there is a move among many cryptoasset projects to shift away from traditional ‘proof of work’ algorithms and all the compute intensity they require. The new algorithms, such as ‘proof of stake’, come with a very different set of mining incentives that make speed and power less decisive.
As with all things in the space, the pace of change continues to be frenetic. We expect mining ASICs to become a more competitive space, with many developments still to come.