Why Web 3.0 is doomed to collapse*
*If you don’t prevent quantum computers from hacking it
Block-chain! Bitcoin! Cryptocurrency! Web 3.0!!!
No.
“The end is nigh!”
Everything will come crashing down soon* if the block-chain technology isn’t changed fundamentally. And by that, I mean physically!
Look, in a way, I hope I will be proven wrong. So many articles are written on all the new opportunities for technology and society by web3. I’m just scratching the surface in understanding what this could all mean. Exciting times are upon us.
But I’m also a physicist doing research on quantum computers. And I see what’s coming in that field as well. Quantum computers work fundamentally different from classical computers (like the one you’re reading this text on right now). Quantum computers will solve mathematical problems of a difficulty and in a speed that is — loosely spoken — of another world/dimensions than what we are used to.[1]
And herein lies the problem. Quantum computers will be able to break the fundamental assumption on which block-chains are built: The difficulty for a computer to find a hash.
Here, I will give you a quick overview of why this happens and what might be solutions to this problem.
First, let me explain the basic idea of a block-chain.
(If you already know how a block-chain works, then feel free to skip this section.)
How a block-chain works
A block-chain is basically a record of past and present activity in the form of chunks of data that interlock.
Imagine, you want to write a journal of your expenses with your flatmates. Every day, all the flatmates write in that journal what they spend money on, so that later, they can settle the costs with each other.
But you don’t trust your flatmates. Maybe someone wants to go back in the journal, and add some expenses they had, or some payments you received from them. So how can you prevent that?
At the end of every day, you take the entries written for that day, and plug them into a mathematical program, called a hash function. The hash function will spit out a random-looking hash number that you write down in the journal as well.
Trick no. 1 is this: if you change even a single letter or number or punctuation in the journal, the resulting hash number will look completely different! So all you have to do, to check if someone was changing the journal, is to re-calculate the hash numbers and see if they match the ones you wrote down. If not, the page was altered!
Trick no. 2: But what if the culprit also re-calculated the hash (number)? Wouldn’t the check always pass? Well, now you go a step further and not only include today’s page of the journal, but also yesterdays hash!
What does that change?
If the culprit want to forge a past journal entry, they would not only have to re-calculate the hash for that day, but also for all the following days, until today, because each day includes the hash of the previous day — like a chain! Every page in that journal is a block. This is why it’s called a “block-chain”.
But is this really a problem? Can’t the culprit just follow the chain and re-calculate every hash?
Theoretically, yes (it’s related to a 51% attack). But, this is where trick no. 3 comes in:
Trick no. 3: Calculating (finding) the hash is very hard! Initially, it was enough to run a program on your home computer. Later, you needed to buy specialized hardware. Nowadays, there are clusters of graphics cards running in parallel to mine hashes (the process of calculating a hash is called mining). The demand for graphics cards just for mining is so intense, that it even led to a supply shortage.
There is a 4th trick: decentralization. By sharing the block-chain publicly so that anyone can save it and “mine” new hashes (and therefore blocks), it becomes increasingly difficult for a single entity to rewrite (block-chain) history. The only exception is a 51% attach, in which a single entity (e.g. powerful government or company) has 51% of the total computation power in the system. Then this entity could rewrite the block-chain history faster than anyone else could add new blocks to the original chain.
All these conditions interlock to make block-chains the success they are. The key element, though, is the hash function. The hash must be difficult to find, otherwise, there would be no security for the history of the block-chain.
But what if there is a way, to quickly find those hashes?
Why quantum computers are so powerful
Have you ever heard of “Schrödinger’s cat”?
It is a “Gedankenexperiment”, a thought experiment of a cat in a box. Inside that box is a machine that detects if a radioactive isotope (atom) decayed or not. If it did decay, the machine will release a toxin and the cat will die. Here comes the quantum magic: As long as you don’t look inside, the cat is both dead and alive at the same time. Only when you peak inside — you “measure” the system — the superposition (dead and alive) will “collapse” to only one of the both possibilities: Either the cat is dead, or it’s alive.
Of course, for all practical purposes, this never happens in reality with a cat. So don’t worry you cat lovers, they’re all save and sound!
But in the quantum world, this is the default. And this is what gives a quantum computer it’s power:
(Note for the scientists: I will focus on quantum computers based on electrons, but there are also ions, photons, etc.)
Now instead of a cat, imagine an electron. Electrons are the fundamental particles that make up all atoms, and therefore all matter[2], together with nuclei. Electricity is electrons moving in wires.
Electrons have a property called “spin”. Think of it like a toy-spin. It can rotate either clockwise, spin down, or counter clockwise, spin up. We usually use our right hand in a thumbs-up gesture to symbolize a spin when we talk, so “thumbs up” = “spin up” and “thumbs down” = “spin down”. In that sense, we call them “qubits”, “quantum bits”, analogous to the classical bit that is either 1 or 0.
But now, we get a Schrödinger’s qubit: A qubit (e.g. think of an electron) can have both spins at the same time! Just like the cat. As long as we don’t look (measure), a qubit is both spin up and spin down.[3]
It get’s interesting when we have more then just one qubit!
What happens with two qubits? Now, both qubits together have to following spin combinations possible:
- up up
- up down
- down up
- down down
There are now 4 = 2 * 2 possible states in which two qubits can be.
I hope I didn’t loose you already, because this is gonna blow your mind:
If you have a number “n” qubits, then there are 2*2*2*2 …(n-times)… = 2^n states possible!!! That’s exponentially large.
To put this in non-mathematical terms:
A quantum computer with just 300 qubits can work with more states at the same time than there are particles in the universe!!!
Honestly, the prospect of that is just — unbelievable. Maybe now, you understand what I meant by “another world/dimensions than what we are used to”.
Why (standard) encryption is a joke to a quantum computer
The immense degrees of freedom a quantum computer can work with (at the same time!) leads to a suspicion: Can a quantum computer solve all (classically) hard problems efficiently?
Wait, what does that mean?
The nice thing about the hash-function is, that it’s easy to verify if a hash of some data is correct, but it’s very hard to find a hash that satisfies the conditions on the block-chain — for a classical computer.
But a quantum computer is able to solve problems that are “hard” on a classical computer easily. Examples of that are Shor’s algorithm and Grover’s algorithm. With these algorithms, it is possible for a quantum computer to efficiently solve exactly that kind of problem that are being used in encryption to make sure your data is secure — and they are “secure”, because it’s “hard” for a classical computer to break the encryption. “Efficient” in practical terms means, in reasonable time while “hard” means, it would take millennia or even longer.[4]
With a quantum computer, it will be “easy” to find hashes.
As a side-note: If you have any high-security information now, that needs to be secure for the next 50 years — you have a big problem. A spy only needs to copy the encrypted data and wait until they have a quantum computer at hand that can decrypt the data, possibly within the next 20 years. That’s why governments all around the world are pouring money into quantum technology right now: to decrypt data and to find new ways of securely encrypting their data.
How can block-chains survive?
First of all, can block-chains survive?
Probably.
The field of research focused on secure encryption (cryptography) for a world in which quantum computers exist is called post-quantum cryptography.
It is a whole new field that gained increased attraction since 2006 to develop novel encryption strategies that evade quantum supremacy. It is paramount, that future block-chain technology and start-ups use the most promising post-quantum encryption algorithm! Otherwise, it is doomed to fail.
Complementary to encryption algorithms, there is also quantum key distribution (QKD). It uses quantum mechanical effects to generate keys that can be used for secure messaging. For this to work, novel quantum hardware is being developed. Just recently, scientists showed an example of QKD via a satellite connection.
As you can see, there is still hope.
Maybe the end is not so nigh, after all.
There are already initiatives to develop quantum-secure block technology, such as the quantum resistant ledger (QRL), or Bitcoin Post-Quantum. But we have to be aware, that this type of technology will be needed.
So, let’s get crackin’!
PS: I hope you like what you read. If you want to read more of my stories, feel free to follow me here on Medium! Cheers, Felix
- However, quantum computers will not replace classical computers in our everyday lives. ↩︎
- On this planet. Not gonna get into anti-matter or dark-matter. ↩︎
- Actually, imagine a sphere where “spin up” is the north pole and “spin down” is the south-pole. An electron state can be any point on the surface of that sphere! ↩︎
- I won’t go into complexity theory, sorry. But if you’re interested: Complexity class ↩︎