Breaking Down Bitcoin's "AsicBoost Scandal"
Through a Bitcoin Improvement Proposal (BIP) draft sent to the Bitcoin development mailing list last week, long-time Bitcoin Core developer and Blockstream co-founder and CTO Gregory Maxwell revealed that a Bitcoin mining hardware producer implemented the patented “AsicBoost” technology in its chips. While the specific manufacturer was not named in the email, it was easy to surmise that Maxwell was alluding to the Chinese mining giant Bitmain — a suspicion confirmed through a press release issued by the company the next day.
Rumors, clues and accusations have dominated social media, news sites, and chatrooms ever since, as a new dimension in Bitcoin’s long-lasting scaling debate kicked tensions into high gear. Instead of the reasons given so far, some now believe that Bitmain and its mining pools have rejected the Segregated Witness soft fork (SegWit) because it is incompatible with the covert use of AsicBoost technology embedded in their chips.
For anyone not “in the loop”: here’s an overview of what’s going on…
In short, AsicBoost is a technology invented by former CoinTerra CTO Timo Hanke and RSK Chief Scientist Sergio Damián Lerner. When implemented in ASIC chips (chips specialized for Bitcoin mining), AsicBoost can take advantage of a quirk in the implementation of Bitcoin’s proof-of-work mining algorithm. This lets miners take a sort of a “shortcut” to finding a valid block.
This shortcut can give miners up to a 30 percent efficiency advantage — though some 15 to 20 percent seems more likely. Since miners compete on small margins, even small efficiency gains can result in big profits. Maxwell estimated that a large miner can bank up to $100 million extra per year; a claim backed by calculations by the pseudonymous “praxeology_guy.” Though others, including the founder of now-defunct ASIC manufacturer KnCMiner Sam Cole, downplayed this figure. In the scheme of things — cost of electricity, ASIC design, and more — the added profit from AsicBoost alone could be much smaller.
Update: Former Spoondoolies-Tech CEO Guy Corem also estimates the added profits from AsicBoost would be significantly smaller; some $2 million extra per year.
AsicBoost has been subject to some controversy before. Since the technology is patented, and patents are state-enforced, some worry that AsicBoost could skew Bitcoin’s mining competition by non-market factors. This could in a worst-case scenario lead to a centralized and perhaps even regulated mining landscape, providing reason enough for some developers to consider changing the Bitcoin protocol to counter AsicBoost. Others, however, see AsicBoost as an optimization like so many mining optimizations realized over the years, and argue that innovative miners should not be punished by a protocol change.
In light of last week’s events, it is important to note that AsicBoost not only can be utilized overtly, in which case it is obvious that a miner is using it, but it can also be employed covertly, which is much harder to detect. And, as it now turns out, covert use of AsicBoost is largely incompatible with the current soft fork implementation of Segregated Witness, the protocol upgrade as proposed by the Bitcoin Core development team.
While it was up in the air for a day or so, it is no longer a question whether Bitmain indeed implemented AsicBoost technology in its chips.
In their press release, the company readily admitted that it did, stating:
“Our ASIC chips, like those of some other manufacturers, have a circuit design that supports AsicBoost.”
Additionally, Bitmain said that it “has tested AsicBoost on [Bitcoin’s] Testnet,” while also explaining that the company can legally use the technology:
“Bitmain holds the AsicBoost patent in China. We can legally use it in our own mining farms in China to profit from it and sell the cloud mining contracts to the public.”
Furthermore, Bitmain said that AsicBoost wouldn't be bad for the company’s business model, writing:
“Bitcoin mining equipment depreciates rapidly. Bitmain has constantly been introducing newer more efficient miner models for all. As such the statement that the deployment of AsicBoost, which can lead to a 20% difference in power efficiency, is some kind of negative development for Bitmain’s business model is false.”
And on top of that, the ASIC producer rejects that AsicBoost is something detrimental in itself. Instead, it argues that widespread use of the technology would benefit the Bitcoin network:
“If all mining equipment could use AsicBoost, it will lower the J/GH cost and the total network hash rate will increase, making the Bitcoin network even stronger. So, the AsicBoost method is not a ‘covert attack’ on the Bitcoin [proof of work] function. It is an engineering optimization.”
So, in summary, Bitmain admits it implemented AsicBoost technology in its chips, acknowledges testing it, explains that using it in China is legal, says that it is not a negative for the company, and also says it's not a negative (an attack) in itself — but rather something positive: an optimization.
Even though Bitmain argues that AsicBoost is a positive on all fronts, the company maintains that “the AsicBoost method has not been used by us on the mainnet.”
As well as:
“[Using AsicBoost], however profitable, is not something we would do for the greater good of Bitcoin.”
These claims may be true.
While the denial seems oddly inconsistent with with the statements that there is nothing wrong with AsicBoost, it has so far not been conclusively proven that Bitmain did, in fact, use AsicBoost on Bitcoin’s main net. And this may be hard to prove conclusively, as covert use of AsicBoost can, indeed, be done covertly.
That said, covert use of AsicBoost could in some cases be noticeable after all. Specifically, using AsicBoost could result in odd transaction ordering in blocks, or even in the mining of (near) empty blocks. Efforts to further analyze blocks are ongoing.
So far, it does appear that Bitmain’s main mining pool, AntPool, has both mined blocks with odd transaction ordering, as well as nearly empty blocks. And while both of these may be explained by spy mining, buggy mining pool software, or perhaps other reasons we don’t yet know of, the timing and structure of some of some of the (near) empty blocks is at least suspicious.
Moreover, AntPool’s mining of (near) empty blocks has always been notable, since Bitmain’s co-CEO, Jihan Wu, is one of the most prominent proponents of a block size limit increase: If Bitcoin needs to process more transactions, mining empty blocks doesn’t help.
And when asked about the empty blocks last year, no reason was given by Wu at all. In fact, there is little indication Wu had “the greater good of Bitcoin” in mind at that time:
@sysmannet sorry, we will continue mining empty blocks. This is the freedom given by the Bitcoin protocol.— Jihan Wu (@JihanWu) March 1, 2016
And then, AntPool seems to also have stratum commands for overt use of AsicBoost on their servers. This basically means that all of the infrastructure to utilize AsicBoost is there — though it’s not clear if this can be used covertly as well. (And Bitmain definitely hasn’t used AsicBoost overtly.)
All in all, there is substantial circumstantial evidence that Bitmain (and AntPool) has been using AsicBoost on Bitcoin’s main net. But as per the nature of covert use of the technology, conclusive evidence is hard to find, and may even be impossible to come by.
On the other side of the debate, there is one main argument for why Bitmain may not have used AsicBoost on Bitcoin’s main net. If, instead of the $100 million figure, the more conservative estimates are correct, and AsicBoost for example “only” adds a couple of million extra profit per year, perhaps it’s not worth the hassle. Setting up an operation of the size of Bitmain to utilize AsicBoost does require a lot of complex work, and from a cost/benefit-analysis, some suggest it may be better to skip it.
As mentioned, using AsicBoost is controversial; doing so covertly, even more so. And if Bitmain sold machines to customers without the technology enabled, while itself taking in the extra AsicBoost profit, it would be worse.
But this, in itself, is not really at the heart of the “AsicBoost scandal.”
Rather, the (perceived) scandal is that Bitmain may have been blocking and stalling a widely popular upgrade to the Bitcoin protocol under a false pretence. The incompatibility between (covert use of) AsicBoost and Segregated Witness could explain why Bitmain remains one of the very few companies in the Bitcoin industry to so staunchly oppose the soft fork.
Moreover, it would explain why the Chinese mining giant has been so persistent in its demand for a hard fork. Covert use of AsicBoost would be compatible with Bitcoin Unlimited, an alternative protocol implementation supported by Wu. Similarly, a recent Segregated Witness hard fork as proposed by Lerner (the same Lerner that patented AsicBoost) could be made compatible with covert use of AsicBoost, too.
And, the incompatibility between (covert use of) AsicBoost and Segregated Witness could explain why Wu was supportive of extension blocks, a recent proposal that appears to have little (if any) benefit over SegWit… except that extension blocks don’t break covert use of AsicBoost.
Additionally, it could explain why this recent proposal was designed to be incompatible with Segregated Witness. While the two solutions do not need to exclude each other in any way, an unnecessary design choice in extension blocks made sure they are.
And if the reason for Bitmain’s rejection of the Segregated Witness soft fork is not AsicBoost, there seems to be only one alternative explanation left. Miner activation of the protocol upgrade could be used as a sort of bargaining chip, where the mining giant is only willing to activate the soft fork if it’s guaranteed to be followed up by a hard fork.
Indeed, this is what Wu told Bitcoin Magazine last year, and it is what the company maintains in its press release published last week:
“SegWit is not running in production because the conditions made clear in the Hong Kong agreement have not been met, in which we foresee a non-witness block size increase coming together with SegWit.”
For more (details) on AsicBoost, see this explanation by Jeremy Rubin, or this ELI5 (Explain Like I’m Five) by Jimmy Song, or this blog post on the relation between SegWit and AsicBoost by Lerner, or the original white paper by Hanke. For more on the Bitcoin Roundtable Consensus (“Hong Kong agreement”) see “The Status of the ‘Hong Kong Hard Fork’: An Update.”