Here is a post on another topic (The Wall Observer if those who are not familiar with it) who had compared F1 racing to a PC/ASIC:
The Bitcoin network cannot calculate the digits of π.[/url] Not at all. Not even one digit. That is the meaning of “
ASIC”. Furthermore, as I mentioned briefly, the algorithms used to set these pi calculation records are I/O-limited, not CPU-limited.
You know, while I'm sure you're completely correct, it wouldn't surprise me if some clever bod found a way to exploit some characteristic of hashing to be able to calculate PI using some tricky methodology.
That would pretty much mean a total break of SHA-256. The purpose of a cryptographically secure hash is to make the outputs computationally pseudorandom with respect to the inputs. You imply some clever way to use a correlation between the inputs and outputs for other types of calculations. Even MD5 (or even MD2) isn’t that broken.
Furthermore, a Bitcoin mining ASIC can’t even do SHA-256. It does
a particular part of a
double-SHA256 calculation, on a very specifically structured piece of data which cannot have any other structure. Any repurposing of an ASIC must be based on that exact format.
Per the bitcoin.SE quote in my prior post:
The inputs to the ASIC chips are a 32 byte midstate, the last 4 bytes of the merkle root, a 4 byte timestamp, and 4 byte "bits" (target/difficulty).
The word “midstate” means that the CPU in the machine running the ASIC does the first part of the SHA256 calculation. Where are the first 28 bytes of the Merkle root? Already hashed into the midstate, together with the block’s version number and the hash of the previous block.
Substantially all that the ASIC does is to complete the hash that was already started, hash the hash (for double SHA256 as specified by Satoshi and required by consensus), compare the result to the target, and, if it failed, increment the 4-byte nonce so that it can try again.
That is the innermost loop of an optimal implementation of the Bitcoin mining algorithm—the part that must be run most often. It needs a CPU to feed it newly calculated parameters from grinding extraNonce in the coinbase tx, thus changing the Merkle root (also, potentially increasing the timestamp). Fortunately, a CPU can keep up with this. The CPU only needs to feed the ASIC new data after every 4,294,967,296 failed hashes; thus, the ASIC is doing almost all of the computational work, by many orders of magnitude.
Even a slow ASIC chip nowadays can run through the whole nonce space a number of times per second (and a pro-grade ASIC miner unit contains a bunch of these chips). For comparison, each core of my
very slow, Satoshi-era CPU would take almost an hour and a half to run through the whole nonce space. My CPU
could keep up with feeding an ASIC chip—easily so.
It is all done this way for reason of
efficiency. The ASIC can do that innermost loop orders of magnitude faster than any CPU or GPU,
at much lower electrical power cost.
Everything except for the innermost loop is stripped out. The innermost loop is directly programmed into the silicon; it cannot be changed.
An ASIC that did generalized SHA256 hashing would be more complex. That means more circuitry, more transistors—more power use. Mining is a hot competition with thin margins, at best. Ask any miner if he wants an ASIC that is even a few percent less efficient, and see what answer you get! It’s like asking a Formula One race-car driver if he wants an air conditioner, an in-dash CD changer, and some handy cup holders in his car.
In this rough analogy, your ordinary automobile with
the A.C., cup holders, passenger seats, etc. is like a CPU.
N.b., this means that miners are deeply invested in Bitcoin. Their hardware is absolutely useless for anything except for the exact inner loop of the Bitcoin mining algorithm.
A hostile miner can try to attack Bitcoin with a contentious hardfork. That has been tried by Jihan Wu, and others. It does not seem to work out very well for them!
A hostile miner
with an unlimited external budget could attack Bitcoin outright. (
E.g., a hypothetical government agency attack.) But that means destroying the value of the hardware that is needed for the attack.
Miners and mining pool operators can censor transactions. That is being done; and I consider it to be a significant threat. Countermeasures include Stratum v2, Payjoin, and CoinSwap. Miners should have a strong incentive to adopt Stratum v2, because it has technical improvements that miners need (
e.g., protection against hashrate theft attacks).
But overall, a typical business-minded miner who acts only in his own selfish financial interest must protect Bitcoin. If Bitcoin loses value, he loses financially—and if Bitcoin fails, then all of his fancy ASIC hardware is absolutely worthless garbage because it can’t be repurposed. Miners are financially locked into Bitcoin.
Much though I myself wish that mining could still be done on commodity hardware, let’s not lose sight of the fact that ASICs also have a benefit to Bitcoin. Glass half full/glass half empty, etc.
Just a nice thing to contemplate before the first race starts in 24 hours for the 2021 season.
Both well oiled machines so do their duty correctly is what I gathered from just glancing at it. I am too drunk to take it too seriously atm.
Stop clock has begun.