In recent weeks I’ve spent a lot of time reading and writing about quantum computing and the impact it may have on our world. There is no doubt that the development of a powerful quantum computer would send shockwaves through society. The threat they present to modern computer security cannot be understated, but how much we should already be worrying about this is not clear.
Part of the challenge in understanding quantum computers is that they rely on extremely non-intuitive physics. The quantum world is nothing like the classical everyday world we know from birth. Even physicists struggle to understand why quantum things happen. We can describe that world very well with mathematics and equations, but what all it all really means, and implies, is hazy.
For computer scientists used to dealing with definites — black or white, yes or no, one or zero — quantum computers are something quite alien. Quantum bits, or qubits, are not one or zero, they are both, simultaneously. What is worse, they do not behave independently, but instead influence each other through the phenomenon of entanglement.
This is one reason why quantum computers promise so much power. Whereas classical computers scale in proportion to the number of available bits, the power of a quantum computer is exponentially linked to the number of qubits in use. But also, because of the different fundamental laws they rely on, they are more than just the next step in building ever more powerful classical computers. They are something quite different.
A computer with two bits can consider four different states (00,01,10,11), whether it is quantum or classical. But while a classical computer can only work on one state at a time, a quantum computer does them all simultaneously. In principle this cuts the computation time by a quarter for a two qubit machine.
The more qubits the computer has, the bigger this advantage. A two qubit computer can effectively do the work of four classical computers in parallel; a twenty qubit one can do the work of over a million classical computers. Though this is not quite true — quantum computers suffer from issues that prevent such ideal use of qubits — it does illustrate the potential power of a quantum machine.
Two big challenges must be dealt with before a quantum future truly looms. The first is getting the hardware to work. To be useful, a quantum computer needs to have enough qubits — at least a thousand and probably more — and must maintain them in a quantum state long enough to do calculations on them.
This is tricky to do, and the more qubits involved, the harder it gets. A second problem arises from random noise — say heat or vibrations — disturbing the qubits. This introduces errors into the calculations and can upset the quantum state itself. Researchers know how to solve this problem, but only by adding additional redundant qubits.
The second big challenge is developing software to work on quantum computers. Forget our current algorithms — they are designed for classical computers and can’t take advantage of quantum possibilities. We need new techniques and we need to apply them to real world problems to make them useful.
Some big companies — IBM, Microsoft and Google — are already working on developing programming languages for quantum computing. Amazon and IBM provide access to simple quantum computers to anyone interested in testing out software. Dozens of startups have emerged, all developing software ready for a quantum future.
How long until that future arrives? Most current quantum computers have around a hundred qubits at most. That might increase to a thousand or so over the next few years, but quantum computers that are actually useful are probably at least a decade away. For now our classical world is safe.