The full name of ASIC is Application-Specific Integrated Circuit which refers to an integrated circuit specifically designed to perform a specific computing task. It is very common to use ASICs for mining in the blockchain space. In this article, we will analyze the principle of ASIC mining and why we need to be anti-ASIC.
The basic principle of ASIC
Let’s talk about the basic principles of ASICs first and see why mining with ASICs can have significant efficiency gains.
The nature of the mining process is a race between many machines to see who can figure out the answer to a complex math problem first. For Bitcoin, solving this math problem is all about who can do more SHA256 operations per unit of time. So by optimizing the computation time of SHA256, we can improve mining efficiency.
CPUs are designed for general-purpose computing tasks, so they can only perform basic operations like addition or multiplication at the hardware level. So to complete a complex operation, such as A*B + C, multiple operations are required, which take many clock cycles to complete. But if an integrated circuit is developed so that the operation A*B + C can be done directly at the hardware level, then only one computation operation is required to perform the operation, consuming one clock cycle. The SHA256 operation is more complex than the multiply-and-add operation above, but the reasoning is the same.
GPUs are inherently suited to parallel simple operations, so they perform SHA256 much better than CPUs. FPGAs are programmable hardware, and because they are still somewhat general purpose, they are more expensive per unit. The ASIC has a large initial design investment, but after mass production, the unit price will be cheaper. Therefore, if you can determine the market size is large, using ASIC technology will be the most economical.
This is the basic principle of ASIC.
The anti-ASIC algorithm
ASIC is too big for early investment, so it is easy to cause the centralization problem of mining, so the blockchain field has not stopped the research of anti-ASIC mining algorithm.
Bitcoin’s mining hash algorithm SHA256 itself is actually very ASIC-friendly. Because SHA256 is a traditional cryptographic language, it is mainly used for traditional operations such as signature digest, and is not designed specifically for the task of mining, nor does it have any anti-ASIC considerations, so it is very easy to make ASIC miners, and you can get a thousand-fold increase in efficiency.
The mining algorithm used by Zcash is Equihash, which is more difficult to implement in ASIC, but when it is implemented, it can still improve mining efficiency by a factor of 100. The underlying principle is that 150M of state data needs to be stored when mining, so even after the ASIC chip is implemented, it has to bear the 150M storage cost, so the efficiency improvement is not so obvious, but 100 times is still no problem.
The mining algorithm used for Monroe is CryptoNight, and the ASIC implementation is even more difficult. Because of the high complexity of the algorithm itself, the implementation to the hardware level will also remain very complex, and the cost will be relatively high. It also requires 2M of state storage, which is friendly for a normal CPU because it can just be stored, but the cost of implementing it on ASIC is still partly there. So the total effect is that there is only a 50x efficiency improvement.
The ETHash used in Ether is extremely unfriendly to ASICs, so no one has been motivated to develop an Ether mining machine so far. The underlying principle is mainly that there are huge amounts of data to be stored. But the computation side can still be hardwareized to improve efficiency. Overall, if implemented as an ASIC to mine, the efficiency can still be doubled.
So to sum up, there are two main ideas for the implementation of anti-ASIC mining algorithms: first, increase the amount of data storage, because ASIC is mainly compressed computational steps, the storage is still to have the corresponding scale of hardware to store, optimization space is not large. Second, increase the complexity of the calculation step, you can design the calculation step is very difficult to optimize with hardware, and even have ProgPOW algorithm, specifically for the mainstream GPU hardware to design a very complex calculation step, and the algorithm is dynamically adjustable, so if the algorithm is cured to the hardware, once the algorithm changes, so the hardware will fail. This leads to the implementation of the ASIC must also be made very generic hardware functions, that is, with a generic GPU is very similar, so the cost is very high, it is better to buy the GPU directly from a large manufacturer to mining cost-effective.
Does it really make sense to be anti-ASIC?
The last part, let’s think about a question: anti-ASIC is really meaningful?
First of all, ASIC manufacturers are actually a community of interest with the blockchain. Take ProgPOW as an example, there are also opinions that ProgPOW will bind the mining to a few large graphics card manufacturers, is the security of doing so really higher than relying on ASIC manufacturers? It is important to know that the interests of ASIC vendors are deeply and long-term tied to the price of the coin, while large GPU vendors are not, so if it is profitable to attack a certain coin, generic GPU vendors will not care about the long-term reputation impact on a certain coin, so the attack is more fully motivated.
Second, mining itself is still a relatively complex task, so specialization is an inevitable trend. There is always room for optimization from the mining machine perspective, plus large mining pools can move their machines to remote areas where electricity is cheaper, something that is difficult for retail miners to do.
Third, mining from one side, is burning money, no matter what hardware is used to dig, as long as there is money, you can purchase a lot at once.
So it is worth thinking about the significance of anti-ASIC. However, many people think that at least in the start-up stage of a blockchain, if someone invests a huge amount of money to design an ASIC to mine the chain, it will make the chain’s holdings become very centralized, which is obviously bad, so it makes sense to consider anti-ASIC early on.That’s all there is to know about ASIC mining. To summarize. First, ASIC is mainly used in hardware to compress the computational steps required for mining operations to obtain efficiency gains, but if the operation itself is required for large amounts of data storage, there is not much room for optimization. Secondly, the significance of anti-ASIC may be mainly reflected in the start-up phase of the blockchain.