Thoughts on Bitcoin

If you have been watching the cryptocurrency space, there was a discovery yesterday that caused shockwaves within the community.

ASICBOOST

On April 5th 2017, Gregory Maxwell, one of the more prominent Core developers - the group currently in charge of the Bitcoin software development and technology roadmap - wrote to the Bitcoin developers’ mailing list:

Reverse engineering of a particular mining chip has demonstrated conclusively that ASICBOOST has been implemented in hardware.

Due to a design oversight the Bitcoin proof of work function has a potential attack [exploitable via ASICBOOST] which can allow an attacking miner to save up-to 30% of their energy costs (though closer to 20% is more likely due to implementation overheads).

Exploitation of this vulnerability could result in payoff of as much as $100 million USD per year at the time this was written (Assuming at 50% hash-power miner was gaining a 30% power advantage and that mining was otherwise at profit equilibrium). This could have a phenomenal centralizing effect by pushing mining out of profitability for all other participants, and the income from secretly using this optimization could be abused to significantly distort the Bitcoin ecosystem in order to preserve the advantage.

Source

If this turns out to be true, it would have huge ramifications to the Bitcoin industry, and would explain why some of the miners have been blocking a good technical change (Segregated Witness a.k.a. Segwit) from happening for 2 years.

A quick background: Segwit fixes some important bugs in the Bitcoin software. For example, it prevents the Bitcoin nodes from making modifications to the transactions they process (a.k.a. transaction malleability). It also offers some immediate relief to the bandwidth issue the network is currently facing- as of today, waiting for Bitcoin transaction confirmations can sometimes take hours. It also paves the way for further development that could scale the number of Bitcoin transactions even higher, thousands of times beyond current capacity, via a concept called side chains (as opposed to the “main” Blockchain). Why need side chains when we already have Blockchain? The short answer is that there is a hard limit on how much scaling can be done on the main chain itself, without sacrificing some critical Bitcoin benefits like security and decentralization.

The important thing to remember is that ASICBOOST is not compatible with Segwit. Enabling Segwit on the network means that the ASICBOOST exploit would stop working. So you can see how someone who has ASICBOOST capability would have a huge incentive to stall Segwit.

I’m not going to debate the validity of Maxwell’s claim [UPDATE: Bitmain has officially come out and said they do have the ASICBOOST patent in China, and their chips have the capability, but denied they are using it in production]. We still need the information to be independently verified by third parties in the coming days. What I have some thoughts on is regarding the reactions of the community, particularly the two vocal, if not popular, opinions:

  1. The laissez-faire: “So what? Why is this news? ASICBOOST is just an example of competition in a free market. All is fair game!”
  2. The anti-developers: “Sure, so this is bad and it could lead to mining centralization. But what about development centralization with Core? Isn’t that as bad?”

Miners & Market Failure

For starters, I believe that the use of ASICBOOST is fair game. Sure, the Bitcoin protocol has a vulnerability. But it is not the miners’ job to fix vulnerabilities. The only thing miners essentially care about is profits. And to that end, it is within their rights to exploit a loophole in the network. This is just the invisible hands at work.

Some might argue that the ASICBOOST exploit should be labeled as an “attack” on the network. I can see why someone would call it an attack, while some would call it a genius optimization. It’s just a matter of perspectives. Maxwell looks at it from the developer perspective. To him, the Bitcoin protocol should be as bullet-proof as possible, free of foul play. The miners look at it from the business perspective. To them, a vulnerability, as long as it doesn’t harm them, is an opportunity to earn money.

So I can understand both sides of the argument, and to call it an “attack” or just “business as usual” is just a matter of perspectives. But that is not what people are angry about. To bring up competition in the free market is to totally miss the larger point. Which is this:

It is within the miners’ right to seek secret commercial advantages, but it is not within their rights to wage media campaign that obfuscates real issues and blocks technical progress.

And that is what people take issue with. A few miners have repeatedly blocked Segwit, and convinced others very loudly to do the same, without revealing the vested interest they have in the non-Segwit world (enabling Segwit would potentially cost the ASICBOOST miners’ millions of dollars in profits). This is a textbook example of market failures.

Think of it this way: would you ever ask a Wall Street derivative trader for advice on how to reform the derivative trading industry? Of course not! Because of the obvious conflict of interest. The same goes for Bitcoin miners who have a vested interest in the non-Segwit world. These miners should be disqualified from making technical evaluation of Segwit. So it was dishonest of them to wage a PR campaign to do so.

Even for non-supporters of Segwit, the tactic these miners employed in this episode should give you pause. Segwit is just one example. There could be other good technical changes that would be similarly blocked by the miners in the future.

Some might argue that miners are not stupid. That they understand that if their actions harm Bitcoin, Bitcoin value will go down and they, too, will suffer. So there is no way they would act against Bitcoin’s interest. But this argument misses an important factor. It underestimates the amount of sunk cost the miners have with existing ASIC hardware. This makes it difficult for them to be flexible on protocol changes. (The problem could be worse if miners borrowed money in order to aggresively grow.) So in the long term, the miners’ interests might align with Bitcoin’s. But in the short term, that might not always be the case.

What’s important to point out is the information asymmetry advantage the miners enjoy. You can have valid criticisms of Core (no one is beyond criticism) and their roadmap, but at least anyone can audit Core’s code changes due to the nature of open source software. You can’t audit what the miners say or their intention. A good, working free market requires the majority of participants to be able to make informed decisions. And a lot of people have been misled into making uninformed decisions due to this information asymmetry. So the lesson learned is it pays to keep the miners honest.

At the end of the day, even if the ASICBOOST allegations turn out to be false, these questions still linger:

  • Are miners ever qualified to make technical recommendations, without disclosing their conflicts of interest?

  • If conflicts of interest are unavoidable, what can we do to mitigate the potential damage? What would be the necessary checks & balances?

Mining Centralization vs. Development Centralization

A recent podcast from the Forbes: Unchained series featured Jeff Garzik, ex-Core developer and CEO of Bloq, and Charlie Lee, Director of Engineering at Coinbase. Garzik brought up a few interesting points:

  • Bitcoin consensus rules are similar to the US Constitution, in terms of being resistant to change by design

  • Bitcoin could learn from NASA use of a 9-step ladder process, called TLR, to gauge technology readiness

  • the issue of development centralization

Regarding the issue of development centralization, it is a valid concern IMO. There are a number of people who hold this view and are strongly anti-Core (you can find many of them on r/btc).

Generally speaking, I believe developers could be biased, in choosing what features to implement and the order in which they implement them. They might have interests that do not align with Bitcoin’s, e.g., due to philosophical differences between what they and others perceive Bitcoin to be. They might be “bought out” by unknown third parties that have ulterior motives.

However, I believe this concern is mitigated by the transparent nature of open source software. All technical proposals are out in the open, and anybody can audit the intended code changes. The developers can’t force the network to adopt new changes. What’s important to note is that whatever ulterior motives developers might have, the only way they can express their intent is through code and only code. They can say the most controversial things in the world, but code is the only means they have to actually make a meaningful impact.

The worst things that can happen with development centralization are:

  1. Stagnation: the developers start writing code that other market participants don’t accept, and then no changes would be adopted. The Bitcoin protocol and network would stay stagnant.
  2. Death: once Bitcoin gets stagnant, other alternative cryptocurrencies might leapfrog Bitcoin in terms of innovations, and Bitcoin might die if consumers start adopting these altcoins.

I think both of these issues are over-blown.

Regarding issue 1, some people view stagnation as a disaster, especially for those who want Bitcoin to be a payment network (as opposed to Bitcoin as a store of value). I believe that Bitcoin can serve both use cases. But it will take a long time. Going back to Garzik’s point about the similarity between Bitcoin consensus rules and the US Constitution. We should think of the resistance to change as a feature, not a bug. Yes it might be slower to change things, but it also promotes stability for the ecosystem. Bitcoin needs patience and stability to succeed, it will not be overnight. Equally noteworthy is Garzik’s second point: Bitcoin should learn from NASA’s TRL process and try to have the same maturity, in terms of gauging technology readiness and deploying them.

Regarding issue 2, I think people vastly underestimate social acceptance, trust and network effects. It is not easy to create a brand as strong as Bitcoin. If you spend a lot of time in the cryptocurrency space, you might be inclined to think that any of the altcoins out there could replace Bitcoin tomorrow. But I don’t think that will be the case. The Bitcoin brand is super strong and it has taken many years to get to this point. To quote the Isareli historian Yuval Noah Harari, money is essentially society’s “collective hallucination”. It won’t be that easy to get everyone on the planet to “hallucinate” about an altcoin the same way we already do about Bitcoin.

On the other hand, I think that mining centralization is a much, much bigger issue. Unlike developers, miners have financial resources to throw around and can be more effective in bending the system to their benefits (not to mention the potential 51% attack which is a centralization risk unique to Bitcoin). History is littered with examples of systems being corrupted by people with money. A few recent ones: the NRA lobbying against gun laws, or the oil industry lobbying against climate change policies. So in order for Bitcoin to succeed, it is imperative that mining stays as decentralized as possible.

More Reading
Older// Culture Shock