Infinite War in the World of Cryptographic Currency, ASIC and Anti-ASIC

Since the birth of Bitcoin, the community has been arguing whether it should deal with increasingly powerful mining hardware.

In the early stages of Bitcoin, mining was done through the CPU (a standard processing unit in most computers), which allowed ordinary people to have the opportunity to participate in bitcoin mining because it did not require the use of specialized computer hardware.

Over time, some miners began to use more powerful hardware to gain an edge over the competition.

In the second phase, the miners began using the GPU (a more powerful "graphics processing unit", usually used for games and 3D rendering) for mining. In general, GPUs are more expensive than CPUs, but ordinary people can still afford them.

Then, Bitcoin mining entered the ASIC era, where ASICs represent "application-specific integrated circuits," which are specialized mining hardware optimized for specific hashing algorithms. ASIC mining machines are used for cryptocurrency mining, and the vast majority can only be used for this application. In terms of efficiency, ASIC miners are significantly more powerful than GPUs.

With the formation of the ASIC mining economy, companies that manufacture new ASIC equipment have an advantage over other mining companies, and they also control the supply of ASIC miners. The large upfront investment required to build a new ASIC hardware line also reduces the number of participants who can participate in this business. For large mining companies, there is a huge scale economy that makes it harder for ordinary mining companies to compete.

Because of this, many cryptocurrency projects try to protect against ASICs. It is worth noting that after Bitcoin and other mining companies announced the development of Monero's ASIC-specific ASIC equipment in early 2018, Monroe developers continued to maintain Monroe's "ASIC resistance" through a hard-fork algorithm. Sex" (the aim is to spread the mine as much as possible). Since then, Monroe has had several hard fork attempts to resist the intrusion of ASIC equipment and to curb the development of such equipment.

Similarly, the second largest public chain, Ethereum, is "anti-ASIC" in most of its history (starting with version 1.0, Ethephon's hash algorithm Ethash is designed to be anti-ASIC), however, over time ASIC equipment manufacturers are still catching up.

As a result, many people in the Ethereum community are now arguing about the implementation of the ProgPow algorithm (ProgPow has made some revisions to Ethash in order to make Ethereum once again capable of resisting ASICs).

Although these projects are trying to maintain resistance to ASICs, it is difficult to stay ahead.

The use of ASIC mining-specific hardware on the ASIC-resistant blockchain yields greater advantages than other miners, and large miners are encouraged to develop ASIC devices. This means that there will be a cat-and-mouse game between ASIC miners and blockchain developers.

Research ASIC through Nonce Distribution

Interestingly, by studying the nonce distribution, we can observe the rise of ASIC mining on certain chains, and subsequent attempts by developers to stop them.

In the proof of work (PoW) mining process, the header of a block is hashed repeatedly until its hash value is less than the target value defined by the protocol. This is done by taking the block header as input and then by encrypting the hash algorithm. For Bitcoin, the algorithm is a secure hash SHA-256 algorithm (and applied twice in succession).

In order to obtain a different hash for each attempt without completely rebuilding the new block header, a special field provided to the miner is included in the block header: the nonce field . This is any number that the miner can change to modify the block header and generate a hash that is less than the target hash value. The nonce is a number from 0 to the upper limit set by each protocol.

Suppose that in theory, any nonce can lead to a winning hash, then it is not unreasonable to expect nonse to be randomly selected and thus evenly distributed. However, after analyzing many blockchains, we found that only a few blockchains follow this expectation. The explanation for this is varied, but the change in the nonce selection strategy is often related to the introduction of new mining hardware, which indicates that different mining hardware has different nonce selection strategies.

At the beginning of January 2019, Twitter user @100trillionusd first noticed this pattern of Bitcoin. Further analysis has shown some strange patterns in other chains, such as Monroe, Ethereum, and Litecoin.

Bitcoin

P1

The most famous nonce distribution is naturally bitcoin. In the early days of its history, Bitcoin showed a common pattern: many nonce were close to zero. This can be explained by a simple strategy that involves incrementing the nonce for each hash. Since Bitcoin's early calculations were very low, mining was done using only the CPU, and a winning hash would usually be found before checking for all possible nonce values. Sergio Lerner used this fact to make the most serious identification of Bitcoin belonging to Nakamoto .

After the GPU mining was introduced, the nonce space appeared to be random. However, when the block height reached about 400,000, there was a new model that could not be explained yet. Some miners chose some pinstripe nonce values.

The BitMEX Institute has done a lot of research on this model, but has never found a clear explanation.

Looking at the histogram of the bitcoin block nonce (over the course of history), you can clearly see this pattern, as well as the significance of low nonce.

P2

The red line is the expected value of the assumed uniform distribution

For more granular analysis, interested friends can view the distribution of bits. The nonce field in Bitcoin consists of 4 bytes or 32 bits. An analysis of the average of each of the 32 bits of the nonce shows some interesting patterns:

P3

The darker the color of a cell, the more frequently the nonce bit is set to 1, not 0, and the X-axis is the time of the block.

At the beginning of Bitcoin's history, the higher bits (bits) are usually set to 0 because the miners' nonce selection strategy simply adds bits. The low byte (the last 8 bits at the bottom of the chart) seems to always be used with a certain pattern, but until recently the mode change was observed in the low bit (bit).

Monroe

Using the nonce analysis method, the most interesting research object is Monero.

Monroe has been upgraded every six months through hard forks, and in the past few upgrades, its developers have made some adjustments to the workload proof algorithm to avoid dedicated ASIC mining hardware. The first of these hard forks is controversial because it leads to several fork projects and assets.

Therefore, we can study the effect of these changes on the nonce distribution.

P4

At first glance, we can notice a few interesting patterns, but when we overlay the network difficulty and the scheduled hard fork (adjust the PoW algorithm) onto the chart, things become more interesting.

P5

The red line indicates the time of the hard fork, while the black line indicates the difficulty of the network.

We can see that these three PoW upgrades have led to a decline in network difficulty, and two of them have stopped the previously existing nonce mode. Interestingly, the introduction of these same nonce patterns is also related to the dramatic increase in network difficulty.

By observing these nonce distribution patterns, we can see the effectiveness of the first fork in blocking the first generation of dedicated hardware. In addition, we can also see some miners quickly use the second generation hardware after the second fork, and then defeated by the third hard fork.

Ethereum

At first glance, the nonce space of Ethereum shows almost no nonce distribution patterns or irregularities.

P6

Looking closely, after the block height reached 7,000,000, we can see that there are some darker horizontal lines at the bottom of the space.

If zoomed in, you can see the bottom slash from the number between 2000000 and 4000000. These may be characteristic of a simple nonce picking strategy: starting at 0, incrementing nonce on each attempt.

The nonce histogram of the block shows that the nonce with a lower value will slightly dominate over time:

P7

However, if we look at the average of each bit of the nonce over time, we find a very interesting pattern (note that the nonce of the Ethereum consists of 64 bits instead of 32 bits in Bitcoin):

P8

The darker the color of a cell, the more frequently the nonce bit is set to 1, not 0, and the X-axis is the time of the block.

Starting from approximately the first 1,380,000 blocks, the middle bit of the nonce is initially set to 0, which is much more frequent than the other bits. Over time, other bits have also begun to be used non-randomly. Interestingly, a cursory look at the entire nonce distribution or histogram does not reveal this pattern because adjusting the middle position does not significantly affect the histogram of the nonce.

Interestingly, the nonce bit distribution of the Ethereum Classic (ETC) shows exactly the same pattern:

P9

The darker the color of a cell, the more frequently the nonce bit is set to 1, not 0, and the X-axis is the time of the block.

The white vertical stripes at the top indicate that some miners are adding nonce from 0.

Bittland announced its first publicly known Ethash ASIC mining machine in April 2018 and said it will be delivered for the first time in mid-July of the same year. Marking two dates together in the previous chart shows some very interesting things:

P10

Red dotted line: E3 announcement, red solid line: E3 delivery time

At first glance, at the time of the release of Antminer E3, the average value of bit 41 of the Ethereum and ETC blocks decreased. After joining the time, the pattern is more compelling:

P11

Red dotted line: E3 announcement, red solid line: E3 delivery time

Prior to mid-March 2018, the average value of bit 41 was around 0.5 (this is the expected value of the uniform distribution indicated by the grey horizontal dashed line). However, since then, on both chains, it has gradually been set to zero at the same speed. Only in the case of Ethereum, when the first delivery plan occurred (July 16, 2018), its average value dropped sharply.

P12

Red dotted line: E3 announcement, red solid line: E3 first known delivery time

Looking at the top 5 mining pools at the time, we can see that the average value of the position 41 began to decline in all the mining pools, but from July 16th, the first delivery date of the E3 mining machine, its value is in two The Greater China mining pool (Sparkpool and F2Pool) declined further.

The battle continues

With the approach of progpow and the continued efforts of Monroe developers to resist ASICs, the battle against dedicated hardware may not end soon. As the war progresses, we will pay close attention and continue to look for signals in the nonce.

Mainstream currency network weekly data summary

Er

The recent large fluctuations have also caused a big change in the position distribution of Bitcoin holders.

P13

The current snapshot shows that Bitcoin, which costs more than $13,000, is a minority. The cost of a large amount of money is between $2,000 and $13,000, and the cost base of nearly 4 million bitcoins (22% of total supply) is less than 500. Dollar.

Here we show the changes in bitcoin distribution on October 24 (before large fluctuations) and October 26 (after large fluctuations). Bitcoin, which costs more than $13,000 or less, has almost no activity, suggesting that price increases are not enough to motivate these holders to sell. Conversely, bitcoin, which costs between $7,000 and $8,500, is most likely to be sold (although these numbers may be slightly exaggerated due to the normal hot wallet activity of the exchange). In addition, in the range of $9000 to $12,000, there are a few bitcoins that do have some chain movements.

P14