Alleged Bitcoin Cash 51% attack: what actually happened?

According to Guy Swann of The Cryptonomy Podcast, Bitcoin Cash has recently come under a 51% attack from a major mining pool which was able to reverse transactions on the blockchain. However, the transactions which were reversed may themselves have been an attempt to steal coins which the mining pools involved have now thwarted. Swann’s series of Tweets detailing the apparent blockchain reorganization says there is a “Reddit consensus” that the mining pools were working to return the coins to their rightful owner.

So what exactly has happened? And how was any of this possible?

51% Attacks & Blockchain Reorganization

51% attacks are the Achilles’ heel of the mechanism used to achieve consensus across a decentralized blockchain network. On a Proof of Work (PoW) blockchain such as Bitcoin or Bitcoin Cash, transactions are broadcast to the blockchain once they have been accepted by a majority of miners on the network. In the type of pure decentralization envisioned in the Satoshi Nakamoto Bitcoin whitepaper, there will be enough independent entities mining blocks that the wisdom of the crowd guarantees the security of the network and the legitimacy of all transactions occurring on it. However, according to Swann, two large mining pools were together able to control more than 51% of the Bitcoin Cash networks’ mining power – or “hash rate” – and then reverse transactions to claim coins.

This type of transaction reversal, or blockchain reorganization, isn’t always necessarily a bad thing. The most famous example of blockchain reorganization followed the DAO hack on Ethereum in 2016. The DAO (Decentralized Autonomous Organization) was designed as a decentralized venture capital fund for investing in projects on the Ethereum network. The DAO launched in May 2016 and quickly amassed a large quantity of ETH. The DAO’s 12.7 million ETH fund was worth around $150 million at time of launch, rising to $250 million as Ethereum’s price rose in the months that followed. But hackers found an exploit in the DAO’s smart contract that allowed them to siphon off 3.6 million ETH, worth around $70 million, within a month of launch. A majority of miners and ETH holders agreed that reversing this hack would be for the ultimate benefit of Ethereum’s long-term growth, so the Ethereum blockchain was hard forked so that the stolen funds could be recovered. Not everyone was on board with this betrayal of the concept of “blockchain immutability,” and Ethereum Classic continues to this day on the original blockchain on which the DAO hack occurred.

Most recently, blockchain reorganization was proposed following the theft of 7,000 BTC from Binance. As we reported in our analysis of the hack’s fallout, Binance CEO Changpeng “CZ” Zhao mentioned during an Ask Me Anything (AMA) video session following the hack that it had been suggested Binance could ask large mining pools to reorganize the Bitcoin blockchain to reverse the hack. This prompted a furious reaction from many within the cryptocurrency community, who see such a blockchain reversal as a betrayal of everything Bitcoin was originally supposed to stand for.

This same argument is now being raised in response to the alleged reversal of transactions on the Bitcoin Cash blockchain network.

Attack or Reorganization?

Bitcoin Cash was formed as a hard fork of Bitcoin in July 2017 after months of intense debate over the best way to improve Bitcoin’s scalability. Those who eventually backed Bitcoin Cash’s creation favored increasing Bitcoin’s block size, so that more transactions would be contained within every block mined. This would reduce the cost and increase the speed of transactions on the Bitcoin network.

“Segregated witness,” or SegWit, was an alternative proposal to solve Bitcoin’s scaling problem. SegWit splits Bitcoin transactions in two, removing signature (“witness”) information from transactions stored on the blockchain, thus reducing their data demands and allowing more transactions to be processed per block. SegWit was activated on the Bitcoin network in August 2017, one month after Bitcoin Cash launched.

This created a problem for Bitcoin Cash users. As Bitcoin Cash was created as a fork of Bitcoin, many associated wallets used the same protocol for generating addresses as was used for Bitcoin. This meant that segwit addresses could accidentally be created on the Bitcoin Cash network. If funds were sent to these addresses, they would essentially be unregistered floating funds. As /u/CatatonicAdenosine explains in the /r/Bitcoin discussion of the current Bitcoin Cash situation, miners were able to help users recover these lost funds:

“Some large miners have historically allowed users to recover these coins by approaching them directly. Segwit addresses are “anyone can spend” on Bitcoin Cash, because of the lack of segwit, so for a small fee some miners would construct a non-standard transaction to recover these funds for users and mine it in their next block.”

But a November 2018 upgrade to Bitcoin Cash had the unintended consequence of making these segwit transactions inaccessible. So earlier this month, an additional Bitcoin Cash upgrade made it so that these lost segwit funds could once again be recoverable by miners.

What appears to have happened next is a miner swooped in immediately following May’s CLEANSTACK upgrade to snap up many of the unclaimed funds associated with segwit transactions. According to Swann, large mining pools were waiting to collect these funds and stepped in to reverse the apparent theft of these segwit funds.

As Swann says, the “Reddit consensus” seems to be that the mining pool was working legitimately to thwart an attempt theft of funds and return them to their rightful owners. This “Reddit consensus” is outlined pretty clearly in /u/CatatonicAdenosine’s response to Swann’s Twitter thread:

“Now, perhaps this was the wrong course of action, and perhaps it did undermine the integrity of the network more than allowing these addresses to be exploited. Miners were protecting these coins for their rightful owners, but this norm is obviously not included in the consensus protocol. And if miners can be expected to voluntarily enforce this non-consensus norm, then what other non-consensus norms (legal or political) may they be expected to enforce in the future? So, maybe this event did set a bad precedent, but I don’t think it’s obviously true that it did. I think there’s a good case to be made that the majority of the Bitcoin Cash hashrate did precisely what they are economically incentivised to do, and protected the integrity of the network. Regardless, of whether they were right or wrong, I certainly don’t think this was an example of a 51% attack.”

Even Swann and others critical of what has happened seem to believe that was legitimately acting to return these funds to their rightful owners. However, Swann quotes one unnamed Bitcoin Cash developer in suggesting that this is incident has set a very dangerous precedent that completely undermines the long-term integrity of Bitcoin Cash.

What does this mean for Bitcoin Cash’s future as a decentralized digital currency?

Many within the cryptocurrency space share Swann’s sentiment that what has happened completely invalidates any belief in Bitcoin Cash as a decentralized and uncensorable form of digital currency.

The reactions are similar to those which followed the proposed Bitcoin reorganization in the wake of the Binance hack and the Ethereum/Ethereum Classic hard fork. These type of incidents present an existential question for the future of cryptocurrency. Satoshi Nakamoto’s original vision for Bitcoin painted it as a form of currency beyond any centralized control. Recently, U.S. Congressman Brad Sherman invoked exactly the same arguments as supporters of decentralization-at-all-costs to argue that cryptocurrencies should be banned in the United States. Sherman argued that much of America’s power stems from its ability to introduce sanctions that severely impact the economies of nations to which it is opposed, such as Iran.

The unnamed Bitcoin Cash developer quoted in Swann’s Twitter thread argues similarly from the opposite point of view, riffing on Martin Niemöller’s iconic poem written in response to the Holocaust, “First they came…”:

“First they came for the unknown miner’s transaction, and I did not speak out—

Because I was not unknown miner

Then they came for prohashing’s block, and I did not speak out—

Because I was not prohashing

Then they came for me…”

The argument is that may have acted in good faith to protect Bitcoin Cash users’ funds in this case, but the exact same tactics could be used to reverse transactions at will in the future. And, in a mirror of political debates around giving governments greater powers to conduct surveillance on their citizens, even if we trust those in charge today, do we really want a situation where these tools can be used for nefarious purposes in future?

There are clearly strong arguments for and against the actions taken by to recover the apparently stolen segwit funds. Whichever side you agree with, achieving consensus on the best way to achieve consensus remains arguably cryptocurrency’s most impossible task.

[ajax_load_more single_post="true" pause_override="true" single_post_target=".inside-article" post_type="post" scroll_distance="-200" single_post_taxonomy="post_tag" single_post_order="previous"]