The full name of an ASIC is Application-Specific Integrated Circuit, which refers to an integrated circuit that is specifically designed to perform specific computing tasks. It is very common to use ASICs for mining in the blockchain field. This article analyzes the principles of ASIC mining and why it is anti-ASIC.
The basic principle of ASIC
Let's talk about the basic principles of ASIC first, and see why mining with ASIC can greatly improve efficiency.
- Viewpoint | Checking the block Nonce distribution to track changes in mining equipment
- Exclusive: SMIC or the first entry miner to cooperate with Jianan to ship Q2
- Coinbase: Safer to ASIC-friendly PoW coins, anti-ASIC will only lead to mining centering
- Coindesk: Monroe password punks made a final blow to ASIC
- Ethereum developers: ProgPoW is more ASIC friendly than current algorithms
- Two times to prevent the ASIC from failing, Monroe will completely change the algorithm at the end of October.
The essence of the mining process is that many machines go to the competition who can first calculate the answer to a complex mathematical problem. For Bitcoin, solving this math problem is to see who can do more SHA256 operations per unit of time. Therefore, optimizing the calculation time of SHA256 can improve the mining efficiency.
The CPU to solve a mathematical problem is solved by programming ideas. The CPU is oriented to general computing tasks, so the basic operations such as addition or multiplication can only be done on the hardware level. So to complete a complex operation, such as A*B + C, you need multiple operations, which takes multiple clock cycles to complete. However, if an integrated circuit is developed that allows A*B + C operations to be performed directly at the hardware level, then only one computational operation is required to perform this operation, which consumes one clock cycle. The characteristics of such an integrated circuit are no longer universal, but the efficiency is surprisingly high for a specific task. This is called an ASIC. The SHA256 operation is more complicated than the above multiply and add operations, but the reason is the same.
For Bitcoin, mining has gone through four phases: CPU, GPU, FPGA and ASIC. The GPU's natural feature is that it is suitable for parallel simple operations, so executing SHA256 is much higher than CPU. FPGA is a programmable hardware, because it has a certain versatility, so the unit price will be more expensive. The initial design of the ASIC is large, but the unit price will be cheaper after mass production. Therefore, if you can determine that the market is relatively large, using ASIC technology will be the most economical.
This is the basic principle of ASIC.
Due to the early investment of ASIC, it is easy to cause the centralization of mining, so the blockchain field has not stopped research on the anti-ASIC mining algorithm.
Bitcoin's mining hash algorithm SHA256 itself is actually very friendly to ASIC. Because SHA256 is a traditional cryptographic primitive, it is mainly used for traditional operations such as signature summarization. It is not designed for the task of mining, and there is no consideration against ASIC. Therefore, it is very convenient to make ASIC mining machine. Thousands of times the efficiency increase.
The mining algorithm used by Zcash is Equihash. It is difficult to implement ASIC, but after real implementation, it can still improve the mining efficiency by 100 times. The underlying principle is that when mining, you need to store 150M of state data, so even after implementing the ASIC chip, you must bear the storage cost of 150M, so the efficiency improvement is not so obvious, but there is no problem.
The mining algorithm used by Monroe is CryptoNight, and ASIC implementation is even more difficult. Because the complexity of the algorithm itself is very high, the implementation to the hardware level will still be complicated and the cost will be relatively high. At the same time, 2M state storage is needed. This is friendly to the ordinary CPU, because it can be saved, but it is still implemented in the ASIC. So the total effect is only 50 times more efficient.
The ETHash used by Ethereum is extremely unfriendly to ASICs, so so far no one has the motivation to develop the Ethereum mining machine. The underlying principle is mainly that there is a huge amount of data that needs to be stored. But computing can still be improved by hardware. In general, if you implement ASIC to mine, the efficiency can be doubled.
So summed up, there are two main ideas for the implementation of the anti-ASIC mining algorithm: First, increase the amount of data storage, because ASIC is mainly the compression calculation step, for storage, it is still necessary to have the corresponding scale of hardware to go Saved, the optimization space is not big. Second, to increase the complexity of the calculation steps, it is difficult to use hardware optimization for the design of the calculation steps. Even algorithms such as ProgPOW are designed to design very complex calculation steps for the hardware of the mainstream GPU, and the algorithm is dynamic. Adjusted, so if the algorithm is hardened to the hardware, once the algorithm changes, the hardware will be invalid. This leads to the implementation of the ASIC must also be very common in hardware functions, that is, it is very similar to a general-purpose GPU, so the cost is very high, it is better to buy a large manufacturer's GPU to mine.
Does anti-ASIC really make sense?
In the last part, let's think about a question: Does anti-ASIC really make sense?
First, ASIC vendors are actually a community of interests with blockchains. Taking ProgPOW as an example, there are also opinions that ProgPOW will bind mining to a large number of large graphics card manufacturers. Is the security more secure than relying on ASIC vendors? It is important to know that the benefits of ASIC vendors are deep and long-term binding, and large GPU vendors are not, so if it is profitable to attack a certain currency, general-purpose GPU vendors will not care about the long-term reputation of a certain currency. Therefore, the motivation for attack is more adequate.
Second, mining itself is still a relatively complicated task, so specialization is an inevitable trend. There is always room for optimization in the mining machine angle. In addition, the large mining pool can uniformly move the machines to remote areas where electricity is cheaper. These things are difficult for retail miners.
Third, mining is from one side, that is, burning money, no matter what hardware is used to dig, as long as there is money, you can buy a lot at once.
Therefore, the meaning of anti-ASIC is worth thinking about. However, many people believe that at least in the start-up phase of a blockchain, if someone invests heavily in the design of an ASIC to dig this chain, it will make the chain's currency very central, which is obviously not good. So it makes sense to think about anti-ASIC early.
to sum up
We've covered this about ASIC mining. in conclusion. First of all, ASIC mainly uses hardware to compress the calculation steps required for mining operations to achieve efficiency improvement. However, if the operation itself requires a large amount of data storage, the optimization space is not large. Second, the meaning of anti-ASIC may be mainly reflected in the startup phase of the blockchain.