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.
Some mining pools today already exceed 25 percent, Eyal said. "Obviously, we believe that these pools are honest and they don't have any incentive to break the protocol, but like I said before, technically they can and we believe this is not a healthy situation for bitcoin, which we believe is destined for great things," he said.
Gavin Andresen, chief scientist for The Bitcoin Foundation and lead developer for the Bitcoin-QT client, said developers are still digesting the research paper. But he said the consensus in the end will likely be that the attack is not practical.
Although Bitcoin is not controlled by an entity, a team of developers work on its core protocol. Updates to the protocol are periodically released and adopted by the community, although there is no way to force people to upgrade their software.
The update would give people greater confidence in the Bitcoin economy and ensure that people don't have to count on miners' "good intentions," Eyal said.