November 04, 2013, 10:51 PM — Bitcoin is vulnerable to an attack that could have devastating effects on the virtual currency, but it can be fixed with a software update, according to researchers from Cornell University.
The attack involves "miners," or people running computers that verify Bitcoin transactions, said Ittay Eyal, a post doctoral fellow at Cornell University's Department of Computer Science, who co-authored the study with Emin Gun Sire, a Cornell professor.
Every 10 minutes, miners -- who usually collaborate in mining pools -- are rewarded with 25 bitcoins for lending their computing power to Bitcoin if they solve a cryptographic puzzle first. Miners process Bitcoin's transactions, which are recorded in its "blockchain," or public ledger.
It has long been known that if a mining group controlled more than 50 percent of Bitcoin's processing power, the network could be subject to a variety of attacks if the group wanted to act maliciously. But the researchers show that small miners may unwittingly join a malicious group.
Miners are supposed to follow Bitcoin's software protocol. But Eyal and Sire found that Bitcoin could be significantly disrupted if a small group comprising less than 10 percent of Bitcoin's mining power decided to not follow it.
A malicious mining group, or "selfish miners" as termed in the research paper, could "fork" the blockchain, or split it into a competing chain by only selectively revealing some of the transactions they've processed. If the malicious group's blockchain fork grows larger than the legitimate one, it would begin to collect a greater share of the 25-bitcoin rewards.
Miners, seeing the malicious group gain higher revenue, would join the successful pool, even if it was unaware of its intentions. Eventually, the malicious group could control the transaction chain, Eyal said.
"The discovery here is a mining pool of any size can initiate this attack and are better off doing selfish mining," Eyal said in a phone interview.
A variety of attacks are then possible, including spending the same bitcoin twice, which the network is currently designed to prevent. If a merchant received a payment in bitcoins, the miners could "roll back" the transaction to allow the bitcoins to be spent again, Eyal said.
"They could also prevent you from ever using your bitcoins" by not allowing certain transactions into the blockchain, Eyal said.
Fortunately, Bitcoin's protocol can be updated. Eyal said he and Sire have suggested a fix for Bitcoin's algorithm that would limit mining pools to no more than 25 percent of the total number of nodes on the network.