Quantum Computing, A Simplified Explanation.
Whereas a classical computer encodes data into fundamental units called bits, a quantum computer encodes data into qubits.
Quantum computing is the study of a non-classical model of computation.
Whereas a classical computer encodes data into fundamental units called bits, a quantum computer encodes data into qubits. The ability of these qubits to hold values that are not clearly defined is in contrast to classical computers that perform computations that never deviate from clearly defined values.
Another defining aspect of a quantum computer is its ability to link qubits together with quantum entanglement. Taken together, these quantum computer properties will enable computers to achieve a computational speed inaccessible by conventional (or classical) computers.
– Bit vs. Qubit
Classical computing (or binary computing) employs bits to store information, where a bit stores one piece of information containing a value that is either 1 or 0 depending on the state it is in.
In contrast, quantum computing uses quantum bits, or ‘qubits’. These qubits also have two states. Although the largest difference is that a qubit contains much more information than just a value of 1 or 0. Accordingly, the information contained in a qubit exists as values that relate to its position relative to the value 1 and 0.
Whereas 1 classical bit contains 1 individual piece of information (the value 1, for example), 1 qubit contains 2 individual pieces of information (that being the relative position to the value 1 and the relative position to the value 0). When 2 classical bits exist, they can each store 1 value, thus resulting in one of four combined values: 00–01–10–11. In contrast, 2 qubits contain 4 pieces of information, where each piece of information is the relative position to one of the four values you can have with 2 classical bits.
The amount of information a classical bit system can store is equal to the number of bits that are being processed. In a qubits system, the amount of information it can store grows exponentially when more qubits are added. If we were to place this principle in a formula, it would look like this:
I =individual pieces of information
N = number of qubits
I = 2^N
Consequently, 2 qubits can store 2² = 4 individual pieces of information, 3 qubits can hold 2³ = 8 individual pieces of information, 4 qubits can store 2⁴ = 16 individual pieces of information, and so on.
Moreover, a qubit not only stores more information than a classical bit, but before it is measured, it can also exist in every possible position (every superposition of 1 and 0) simultaneously. This is thanks to a particular ability of the subatomic particles employed by these systems.
If you imagine that a bit of information resembles a globe, a classical bit would be located on one of the poles of the globe. In contrast, a qubit could not only be found on any position on the globe, but it would be found in those locations simultaneously as well (before it is measured).
– Application of quantum computing
As a result, these qubits not only allow for much faster operations, they allow for much cheaper computing as well. Unfortunately, this technology cannot be applied to any conventional computer system operation.
Instead, quantum bits only offer this advantage for specific operations in which the number of calculations required plays a far more significant role than the speed at which these calculations must happen.
As a result, quantum computing is only practical for specific computer operations and is by no means a replacement for classical computing. In some cases, quantum computing is actually slower than classical computing for certain processes. To fully benefit from qubits, an algorithm adjusted for quantum computing is required.
What Does Quantum-Resistant Mean?
The expression ‘quantum-proof’, ‘quantum-resistant’ or ‘quantum-ready’ refers to a process or algorithm in which quantum computing fails to prove advantageous in relation to classical computing. In terms of encryption, these expressions refer to the fact that quantum computing will fail to break encryption within a reasonable time frame.
Thus, quantum-resistant describes any process or algorithm that prevents quantum computing from achieving an unfair advantage over classical computing. As such, a quantum-resistant blockchain can prevent quantum computing from rendering a highly secure encryption scheme as useless.
– Where are we now?
While several companies have created quantum computers, these computers are not only very expensive but impractical to use as well. In addition, they have yet to pose a serious threat to current encryption schemes or become widely available. Indeed, most if not all blockchain algorithms used today remain quantum-resistant given the current state of quantum computing.
Nonetheless, quantum computing remains in its early stages and is still being actively developed (and will be for years to come). This means that, in order to stay quantum-resistant, blockchain technology must stay at least one step ahead of quantum technology development.
Quantum Computing’s Risk To Blockchain Technology
Now that we understand the advantages of quantum computing over classical computing, we are able to determine if any of them pose a direct threat to blockchain technology. The three main areas in which quantum computing poses a threat are:
Breaking encryption
Quantum mining
Hash collision exploits
– Breaking encryption
Quantum computing remains the most significant long-term threat to blockchain technology, as it has the potential to quickly decipher private key encryption (the keys that provide access to blockchain address data).
For clarity, we must categorize different encryption schemes as employing either symmetric keys or asymmetric keys.
Any encryption scheme that employs symmetric keys relies on the same key for both encryption and decryption. Examples of such keys include pin codes, pass-phrases and seeds.
Alternatively, encryption schemes that employ asymmetric keys rely on a different key for both encryption and decryption. An excellent example of this is a private key used for encryption and a public key used for decryption.
The most current encryption schemes that employ symmetric keys (such as AES, DES, IDEA,Blowfish) are still considered ‘quantum-proof’ or ‘quantum-resistant’. And at present, no quantum algorithm exists that can enable a quantum computer to quickly and efficiently decipher data encrypted with one of the aforementioned symmetric key encryption schemes.
Moreover, using a quantum computer to brute force decryption would be no more efficient than using a supercomputer or botnet to do the same. Since no efficient quantum algorithm currently exists to break these types of encryption, adding more characters to these keys exponentially improves their security (particularly against brute force attempts)
However, when it comes to encryption schemes with asymmetric keys (like RSA and ECC), quantum resistance can no longer be guaranteed. Shor’s algorithm is a quantum algorithm that can efficiently break such encryption schemes once quantum computers achieve operational capacity.
Once achieved, Shor’s algorithm puts any public/private key pairs used in RSA or ECC encryption schemes -currently used throughout the blockchain industry — at risk. More specifically, it would enable a quantum computer to use a signed transaction in combination with the public key to decipher the private key previously used to sign that transaction — and in a very short time frame. Needless to say, this scenario presents a very real threat to any blockchain that employs such encryption schemes for their keys.
For now, experts remain optimistic that this will not occur within the next decade. At present, it is estimated that a 160-bit ECC key could be broken by a quantum computer using around 1000 qubits, whereas a 1024-bit RSA modulus would require around 2000 qubits.
– Quantum Mining
Quantum computing may also have an impact on cryptocurrency mining and block creation.
With a Proof of Work (PoW) consensus algorithm, the computing goal is to find a variable that, combined with the transactions that will be included within a block and various other predetermined data, will result in a hash that begins with a particular set of characters.
Here, the number of predetermined characters will determine the difficulty in finding the variable that provides the desired result. By using a quantum computer to find this variable, any miner can achieve an unfair advantage over other miners. However, this will also create two other problems.
The first obvious problem is that block creation could become more centralized, in this case, only the quantum miner(s) would be able to create blocks. As a result, they would have control over which transactions are included in the blocks. Worse yet, any quantum miner could boycott or ‘blacklist’ certain addresses by not including any transactions related to these addresses in any of the new blocks.
A second, more serious problem is that a quantum miner could find the variable for the next block more quickly than any remaining miner. Instead of adding the next block to the blockchain, a quantum miner might use this block as the foundation for creating a new series of transaction blocks. If the miner does not publish these blocks, he is then able to conduct what is called “double spending”.
Not only could this miner perform transactions included in the blocks being produced by other miners, but he or she could perform different transactions using the same coins in the blocks being produced offline. And since this quantum miner could produce blocks far more quickly than other miners, he or she would be able to create a longer version of the blockchain (one that still conforms to all the rules for consensus).
When this quantum miner decides to finally publish this hidden series of blocks, every network user will seek to adopt this block series — as it is the longest available chain that complies with all the consensus rules. Consequently, other miners’ blocks added to the chain (after the last common block in both versions of the blockchain) would be purged and replaced by the new blocks created by the quantum miner.
In the end, this would also mean that all the transactions included in the purged blocks would be erased — and appear as if they never existed. Thus, only the transactions included in the common blocks, and the transactions in the blocks created by the quantum miner would exist.
However, we do not have to wait for quantum computing to be exposed to these problems. For example, the majority of Bitcoin blocks are produced by six or seven large mining pools. If these mining pools sought to collude to attack the network all they have to do is agree to stop participating in the mining.
This would result in a dramatic drop-off in computing difficulty since the remaining miners would not be able to keep up with the intended block time. When the computing difficulty becomes low enough, the larger mining pools need only come back online and easily find the solution for the next block (and far quicker than the remaining miners).
In the Proof of Stake (PoS) consensus mechanism, this mining scenario is not such a problem since the rights to mine the next block are generally determined by a pseudo-random selection process. Moreover, there usually isn’t a ‘race’ to be the first to solve the next problem (block) as these blocks are mined at regular intervals.
However, some PoS versions allow the content of the latest block to factor into this pseudo-random selection process. Consequently, a quantum computer will likely be fast enough to find the right data to include within the block it was assigned to create.
This would ensure that the rights for mining the next block would be granted to the quantum miner as well (as it is the miner that decides which data (transactions) are included in the block). And as long as the data employed conforms with current consensus rules, the miner is free to include the data of his choosing. So in this case, the use of quantum computers could again lead to greater centralization of block-creation.
– Hash collision exploits
A third, and perhaps less likely threat to blockchain technology, is to take advantage of hash collisions and change data on the blockchain.
When hashing occurs, changing the slightest input data results in a hash that is significantly different. As such, a hash calculated from a specific element of data can serve as proof for the content of that data. In blockchain technology, such hashes are used to protect the integrity of the data within each block.
Hash collisions occur when two different inputs result in the same hash. While rare, these hash collisions occasionally occur. Nonetheless, finding these collisions requires an enormous amount of computing power. Moreover, in the case of blockchain, finding such a collision would not guarantee that an alternative input would be usable.
However, quantum computing could be used to find collisions for any existing blocks in an attempt to modify the data recorded on the blockchain. If successful, this would seriously impact the trustworthiness of any data on the entire blockchain.