Bitcoin is secure, but not perfectly secure. The bitcoin protocol was designed to be difficult to cheat, but there are theoretical security threats. Bitcoin was built with encryption in mind and one of it’s main goals was to create a secure currency. But bitcoin isn’t perfectly secure there are a number of relatively transparent, straightforward security threats to the bitcoin system. That being said, attacks on the bitcoin network are impractical, difficult, and unlikely to succeed.

The Bitcoin network is incredibly secure. There are possible attacks on bitcoin that could theoretically pose security threats, but even with state-of-the-art technology, these threats are all infeasible (maybe even impossible) to execute.

Why Attack Bitcoin?

There are number of reasons why an individual or group may want to attack the bitcoin network; individuals may want to cheat the system for financial gain, a national government may deem bitcoin contrary to their interests (or even illegal) and want to destroy it, a militant group may want to disrupt trade on the internet, or investors may want to use advanced knowledge of an impending bitcoin crash to manipulate the market and speculate on values of on more traditional securities (like gold or national currencies).

While we don’t definitively know all of the potential reasons for an attack, we do know that motivation to destroy the system increases as the market grows. As you’ll see shortly, the security threats also become less impractical as quantum computation becomes more developed and widely available.

Security Threats to Bitcoin

Here, we’ll look at the basics of four different types of potential attacks on Bitcoin that could act as security threats: The 51% Attack, The Transaction Malleability Attack, The Shor’s Algorithm Attack, and a Public/Private Key Encryption Attack.

The 51% Attack

Because the bitcoin protocol dictates that the entire network accepts whichever block chain is the longest (technically, the one which has the most Proof of Work), the network is built to reject any attempts to try to cheat the system by sending out a falsified chain. Sure, any user can construct a false chain, but the legitimate chain will be longer; it’s highly improbable for one computer to be able to solve the proof of work for a false block chain before the entire rest of the network can solve the proof of work for the legitimate chain.

That being said, if any individual or group were to have 51% or more of the total computing power in the bitcoin network, they could decide which chain was winning all the time. Theoretically, this could be done either to “double spend” bitcoins (i.e. theft) or to shutdown the network altogether.

In the first scenario, a 51% attacker would first spend their bitcoins, and then create a false transaction block chain which said that they never spent those coins at all (in effect stealing back the bitcoins they just spent).

This scenario is unlikely. Even if some group somehow amassed the computational power to do this (which, at this point in bitcoin’s history, would mean millions and millions of dollars worth of hardware and electricity), it’s highly unlikely that the group would want to use a 51% attack to undermine the system that they’ve invested millions of dollars of physical, fiscal, and computational capital into. Considering that they would be collecting more than half of all of the bitcoins being mined into existence, any 51% group would be making considerable profit from mining.

If an attacker stole more than trivial amounts of bitcoin by falsification of the block chain, it would become apparent quite quickly and people would flock away from bitcoin. This would render all of the attacker’s mining capabilities as well as their nontrivial profits in bitcoin worthless. Why would they want to use highly visible fraud and thievery to undermine and devalue all of the bitcoins they’re earning?

Theft by a 51% attack is a lot like buying 51% of all of the lottery tickets in the hope that you’ll win the lottery: you’ll probably spend a lot more than you’ll win.

In the second scenario, a 51% attacker would replace the winning chain with random data – a bit string of random ones and zeros. Any attacker who did this by winning the proof of work puzzle six or more times in a row would do irreversible damage to bitcoin – the ownership chain would be broken and all bitcoins would become worthless.

This type of scenario would be incredibly difficult to defend against. The attacker would only need to hold this 51% of the total computational power in the network for approximately 10 hours (and potentially less). This means that bitcoin would need to deploy a volunteer team of developers to create and implement a fix for the system with only hours to work out the solution.

It’s important to realize that this type of attack is possible, but not very likely. The amount of computing power necessary is a substantial, if not insurmountable, barrier for malicious parties.

On the other hand, the possibility of such a straightforward attack is disconcerting and should be held as a valid concern. In June 2013, a 51% attack was successfully carried out against Feathercoin, an alternative type of cryptocurrency. In 2014, the GHash.io mining group approached the infamous 51% mark, but was then brought down when it was discovered that they were using a botnet, hijacking people’s computers with malware to mine bitcoins from remote PCs.

The Transaction Malleability Attack

The transaction malleability attack is a Denial of Service attack against the bitcoin network – it takes advantage of the properties of transactions to create “mutant” transactions that can either be used to keep the network busy so that real transactions are delayed for a period of time.

The Shor’s Algorithm Attack

The Shor’s Algorithm attack is an attack that uses quantum computing to hack public/private key encryption.

Due to the way public/private key encryption works, if you were to discern someone’s private key, you would have complete access to their bitcoin supply. Theoretically, you could find someone’s private key by testing out every possible key against their public key until one works. However, this trial-and-error method would take even the fastest supercomputer thousands of years to complete.

Shor’s algorithm uses quantum computing to find the prime factors of an integer. A malicious user could use this technology to take advantage of the way in which public and private keys are related and find someone’s private key in a matter of minutes.

Bear in mind that quantum computing is still a distant technology, but intelligence agencies (such as the United State’s NSA and the United Kingdom’s CGHQ) are already developing implementations of Shor’s algorithm. As the technology develops further, it will become an increasingly large threat to the bitcoin network.

Public/Private Key Encryption Attack

There has been some speculation that the algorithm implemented to generate random numbers in public/private key encryption is not truly random. If this claim is valid, there would be many opportunities for malicious users to exploit public/private key encryption, and thus undermine the security of the bitcoin network.