A Survey of Important Issues in Quantum Computing and Communications

Driven by the rapid progress in quantum hardware, recent years have witnessed a furious race for quantum technologies in both academia and industry. Universal quantum computers have supported up to hundreds of qubits, while the scale of quantum annealers has reached three orders of magnitude (i.e., thousands of qubits). Quantum computing power keeps climbing. Race has consequently generated an overwhelming number of research papers and documents. This article provides an entry point for interested readers to learn the key aspects of quantum computing and communications from a computer science perspective. It begins with a pedagogical introduction and then reviews the key milestones and recent advances in quantum computing. In this article, the key elements of a quantum Internet are categorized into four important issues, which are investigated in detail: a) quantum computers, b) quantum networks, c) quantum cryptography, and d) quantum machine learning. Finally, the article identifies and discusses the main barriers, the major research directions, and trends.


I. INTRODUCTION
Q UANTUM information science uses quantum effects in physics (e.g., entanglement) to process and transmit information. Based on that, quantum computers can solve computational problems with a speed that we previously considered impossible, even for problems with exponential complexity (NP-Complete). Problems that take too long to solve with classical computers (e.g., large number factorization, brute-force search) are no longer difficult with quantum algorithms.
The fast growth of quantum technologies (i.e., the quantum computer race) has been happening in both academia and industry [1], [2]. For example, quantum hardware for a key distribution network has been built by research institutes and companies all over the world [3], [4], [5]. The continuous breakthroughs in quantum computing come from multidisciplinary perspectives (e.g., state fidelity from a physicist's view or computational complexity from a computer scientist's view). The number of qubits (i.e., quantum bits) in a quantum computer is a prevalent metric to demonstrate the power of harnessing quantum technology. At this time, this number is around two orders of magnitude (hundreds of qubits) for universal quantum computers [6], [7] and three orders of magnitude (thousands of qubits) for quantum annealers [8]. However, this number needs to be a million times more before the technology becomes truly useful for common real-world problems. Quantum computers and quantum annealers are both quantum hardware but for different purposes. Initially, quantum computers were developed to simulate quantum physics, and later the concept was extended to include the full computational power of a Turing machine [9]. This later version is sometimes called a universal quantum computer. These are generally implemented using quantum logic gates (c.f., classical logic gates). Quantum annealing instead focuses on optimization problems (for finding a global minimum) and is implemented using quantum-mechanical probabilities. In this article, we use the term "Quantum Computer" to refer to all types of quantum hardware built for different purposes unless specified otherwise.
Even though quantum computing is still in its embryonic phase, its potential to revolutionize the classical infrastructure makes it prominent. Recent reports have shown the global investment in quantum computing reaching almost $25 billion in mid-2021 [23]. Gartner has listed quantum computing as an inevitable technology among its Top 10 Strategic Technology Trends for 2019 [24]. In their 2021 Hype Cycle for Compute Infrastructure report, Gartner has predicted 10+ more years of hype for quantum computing [25]. A 10-year hype might imply a 10-year development before it can deliver useful results. Nonetheless, it has also been predicted that about 40% of large companies will start investigating the utilization of quantum computing in their services by 2025 [26].
Tech giants like IBM, Google years [6], [27], [28]. Quantum companies such as D-Wave, IonQ, and Rigetti have continuously announced their breakthroughs in quantum hardware and software development kits (SDKs) [29], [30], [31]. This uptick in hardware has stimulated the development of quantum applications, e.g., quantum as a service, quantum machine learning, and quantum key distribution (QKD) networks. Through quantum applications, we have seen new ways to exchange secret keys (e.g., QKD), new solutions for hyper-scale machine learning (e.g., quantum annealing), and different ways to access a quantum system (e.g., quantum simulators or remote quantum labs). Cloud service providers such as Microsoft's Azure and Amazon's Bracket have entered the quantum domain and started to provide cloud quantum computing services [32], [33]. These advancements show how quantum computing and communications shape the next generation of computational systems and networks.
Quantum computing and communications gain such massive attention because they have the potential to significantly improve the efficiency of certain tasks compared to classical methods. For example, quantum computers can solve certain types of computation, optimization, and search tasks much faster than classical computers. Quantum computers can also simulate the behavior of some physical systems with greater accuracy than classical computers, which have applications in chemistry and materials science. Another example is the quantum Internet, which has the potential to provide more secure and resistant communications than classical networks.
A key motivation of this article is that the issues of quantum computing are scientifically interesting and important. We aim to help interested readers effectively grasp the critical aspects of quantum computing. The rapid development of quantum technologies has yielded a huge amount of literature and documentation, and thus, a new entrant to the field could quickly feel overwhelmed. Instead of giving intimidating jargon and terms directly, in this article, we explain related concepts (from a computer science perspective) before using them.
The contributions of this article are as follows: 1. We provide a pedagogical beginning section for readers to get familiar with related concepts and common notations. 2. We review and analyze the key milestones and recent advances in quantum computing instead of merely listing the most recent approaches. 3. We categorize the hot topics in quantum computing into four important issues and review them: a) quantum computers, b) quantum networks, c) quantum cryptography, and d) quantum machine learning. 4. We identify and discuss potential research opportunities and trends. Fig. 1 shows the organization of the paper and the relation among the sections. This relation is as follows. In Section II, we give a preliminary introduction to quantum computing. Section III introduces the general challenges and limitations and presents the four key issues. After that, we discuss the topics of quantum hardware, quantum networks, quantum cryptography, and quantum machine learning in Sections IV-VII, respectively. In Section VIII, we present our observations in this field and discuss the research directions. Finally, we give the overall conclusions in Section IX.

II. PRELIMINARIES
Quantum mechanics is the foundation of multiple research areas, such as quantum chemistry, quantum field theory, and quantum information science. The theory describes the laws of physics at the scale of atoms and subatomic particles. Quantum computing is associated with quantum information science and is at the intersection of physics, mathematics (mostly Linear algebra and Boolean algebra), and computer science. In this article, we discuss quantum computing mainly from a computer science perspective.
In this section, we first introduce quantum effects in physics (e.g., superposition and entanglement) that are fundamental to quantum computation. The introduction of quantum mechanics would help the readers better understand how quantum computation models came into being (for example, to relate to the role of semiconductors or transistors in classical computers). Then, we introduce three types of quantum computers and their basic computational models: universal quantum computers (alias digital quantum computers), quantum annealers (alias analog quantum computers), and digital-analog quantum computers. We then mainly introduce the digital model (i.e., the gate model) used in universal quantum computers, which is the most common quantum computational model discussed today. Finally, we introduce several well-known quantum protocols and algorithms to demonstrate the superiorities of quantum computers to classical ones. Fig. 2 shows the connection between the introduced concepts in this section.

A. Quantum Mechanics for Computation
Before delving into the specifics of quantum computing, we briefly discuss the phenomena in quantum mechanics that the computational theory aims to model. While the observations of quantum physics may seem counterintuitive, they are  well-described by quantum mechanics [34], [35]. Thus, we can mathematically model these phenomena in order to approximate the classical computation. In this article, we call these observations quantum effects. The role of quantum effects on quantum computers is similar to that of semiconductor physics in classical computers. While we have not yet fully understood quantum effects (Einstein referred to entanglement as "spooky action at a distance" and saw it as evidence that quantum theory is incomplete [36]), quantum mechanics has been remarkably successful in predicting the behavior of quantum systems.
Here, we use a standard optical experimental setup to describe the quantum effects. As shown in Fig. 3, the setup to create superposition consists of a photon source (Source), a beam splitter (BS), and a pair of photon detectors, i.e., measurement devices (M1 and M2). The photon source emits a single-photon beam. The beam splitter splits the beam into two (i.e., gives the beam an equal chance of going through the red/right path or being reflected to the blue/down path). Note that there is only one photon in this setup, so the measurement outcomes should be mutually exclusive. The photon can only be detected/measured in one of the two detectors, with equal probability. That is, it stays in a superposition of the two possible paths (two possible outcomes) before it is measured. To express the outcomes mathematically, readers can refer to Section II-C, but in general, we can simply consider these two possible outcomes as 0 and 1. This means that a quantum system can be in a state of superposition where it is simultaneously in multiple states, each with some probability of being measured. In our case, there are two possible states, 0 and 1. However, in general, a quantum system can be in a multi-state superposition with 2 n possible outcomes, where n is the number of states. This can be achieved through similar experimental setups.
We use another well-known setup to demonstrate one typical example of wave interference in a quantum system, the Mach-Zehnder interferometer [37], which is designed to determine the relative phase shift. As discussed, a photon going through a beam splitter stays in a superposition of two possible paths. The mirrors only reflect the photon. As shown in Fig. 4, the photon seems to have an equal probability of reaching either detector. However, no matter how often we repeat this experiment, all photons are detected only at M1. This is due to quantum wave interference. The two waves cancel each other out in the blue/p3 path direction. There is no change to the photon if it passes straight through a beam splitter (e.g., the green/p1 path to the purple/p2 path in Fig. 4), but if the beam splitter reflects the photon (the green/p1 path to the orange/p4 path), its phase is shifted. The properties of a beam splitter (e.g., size, material) can decide the amount of phase shift. With our beam splitter, a π 2 radian shift occurs when the photon is reflected.
There are two paths in Fig. 4 for a photon to reach M2: In path 1, no phase shift occurs (the photon passes straight through). In path 2, there is a shift of 2 × π 2 = π radians. The wave functions of the two paths can be modeled by sine and cosine functions, which indicate the probability of the photon "choosing" that path. Differing by π radians, the two paths thus converge, and the waves cancel (as shown on the leftbottom of Fig. 4), so there is zero probability for the photon reaching M2. Note that these two paths describe the same photon in a superposition and thus can affect each other.
So far, we have presented cases where quantum states are independent; that is, measuring one quantum state does not affect another. However, it is possible to have situations involving multiple quantum states that are correlated with each other, meaning their measurement results are dependent on each other. This type of correlation is called entanglement. When multiple states are entangled, they are no longer independent from each other. The measurement of any of the entangled states will instantly collapse the other states, regardless of their distance from each other. For instance, when Alice and Bob each possess one state of an entangled pair and are separated by a large distance, the measurement of Alice's state will instantly determine the outcome of Bob's measurement. For example, if Alice measures a value of 0 for her state, Bob's state will immediately become 0 or 1, depending on the specific entangled states they are in. The mathematical representation of single states and entangled states is discussed in Section II-C. Entanglement, referred to by Einstein as "spooky action at a distance," violates traditional notions of realism (the idea that an object has certain characteristics regardless of whether it is being measured) and locality (the idea that an object can only be influenced by its immediate surroundings). Despite not being fully understood [36], [38], [39], [40], entanglement has been shown to provide significant computational advantages.
Despite the computational advantages, quantum systems are not physically stable. Quantum states are loosely coupled with their environments (and thus need to be stored at an extremely low temperature). They tend to lose information as time passes if they are not perfectly isolated. This is called decoherence. It is hard to maintain the desired behaviors (e.g., superposition and entanglement) for a sufficiently long time. They tend to become random and featureless as they are being manipulated. Quantum error correction is one big topic for tackling this issue [14], [41]. Current quantum hardware is considered to be in the noisy intermediate-scale quantum (NISQ) era [42]. We discuss more on error correction in Section III.
Moreover, we cannot clone an arbitrary unknown quantum state. This is the non-cloning theorem [43]. Non-cloning implies that there is no easy way to create redundancy for fault tolerance (what we do in classical computing). This makes decoherence a critical issue in quantum engineering.
The key takeaways of quantum effects regarding computation are listed in Table I.

B. Types of Quantum Computers
There are different ways of modeling the quantum effects to develop quantum hardware (e.g., quantum computers and sensors). In this subsection, we introduce the three types of quantum computational models: quantum logic gates, quantum annealing, and other models such as digital-analog computing.
Even though there are quantum mechanical models describing a Quantum Turing Machine (QTM) [9], [45], [46] (i.e., an abstract reference to model quantum effects), a quantum circuit based on quantum logic gates is a more common model [47]. In fact, it is the most commonly discussed quantum computational model nowadays. It provides a way to perform quantum computation by implementing Boolean functions (comparable to the classical logic gates). It constructs what we refer to now as a universal quantum computer (i.e., a digital quantum computer). A universal (or general-purpose) computer is expected to be able to compute arbitrarily computable (i.e., Turing-complete) functions. Still, the set of universal quantum logic gates alone does not necessarily achieve universal computation. Nonetheless, the term "universal quantum computer" is usually referred to as a quantum computer based on a universal quantum logic gate set. We use this terminology. Mathematical expressions of digital quantum computation are introduced in the next subsection.
Implementing effective error-corrected algorithms on a universal quantum computer is challenging in the current NISQ era. In contrast, quantum annealers (i.e., analog quantum computers) based on quantum annealing are more robust against noise [48], [49]. Quantum annealing can be used to find the global minimum (or the optimal solution) of search problems. The solution is found from a large number of potential candidates, where the classical computation cannot efficiently find the optimal. Quantum annealers, thus, are generally applied to the use cases that need optimization, for instance, machine learning. Moreover, probabilistic sampling [50] and general optimization problems such as route optimization [51] can also be tackled.
Quantum annealing works like an adiabatic process in thermodynamics. An adiabatic process raises the temperature to increase the molecular speed and form strong bonds. To harden an iron, the process slowly decreases the temperature to stabilize these bonds. The cooling process is called annealing in metallurgy. Quantum annealing increases and decreases energy instead of temperature to find the lowest energy states, i.e., the global minima. Quantum annealers can support thousands of qubits due to their relative robustness against noise [8], while universal quantum computers have been struggling at hundreds [6], [7].
There are many proposed models for building a quantum computer, such as the Church-Turing-Deutsch principle [9] and the five criteria by DiVincenzo [52]. There is an ongoing debate about the best approach for designing quantum computers. For example, one possibility is to merge digital and analog operations to build digital-analog quantum computers [53]. It has been proposed as a way to achieve universal, scalable, and error-corrected systems. Additionally, it has been suggested to use both stationary qubits (such as trapped atoms, molecules, or quantum dots) and flying qubits (such as photons) in a distributed manner in order to achieve scalable quantum computation [54].
In addition, the method for creating qubits can vary, and there are multiple types of qubits based on the technology used to create or encode them. For example, photonic qubits are encoded in the polarization, frequency, or spatial mode of a photon. Superconducting qubits are encoded in the quantum state of a superconducting circuit. Spin qubits are encoded in the spin state of a single electron, and atomic qubits are encoded in the quantum state of an atom or ion. Each type of qubit has its own advantages and disadvantages. Photonic and superconducting qubits are relatively easy to operate and transmit, but they are also more susceptible to noise and decoherence. On the other hand, spin and atomic qubits are more stable, but they can be more difficult to scale. More information on the different types of qubits can be found in [55], [56].
Nonetheless, all kinds of quantum computers work toward the same goal of implementing computations that significantly outperform the classical ones. Deutsch envisions that the most plausible future for quantum computing is not a pure quantum computer, but a set of quantum operations merged on a classical computer [9].
The key takeaways of quantum computer types are listed in Table II.

C. Universal Quantum Computers
In this subsection, we introduce the mathematical expressions of quantum states and quantum logic gates that are used in universal quantum computers. Table III gives the common symbols used in this article.
Recall the superposition we created in Fig. 3. The measurement outcomes at M1 and M2 are mutually exclusive because there is just a single photon. Generally, a uniform superposition with d possible values will yield only one of the d outcomes (each with equal probability to be measured). This effect is mathematically modeled as orthogonal basis vectors.
Classical computation uses bits whose values are either 0 or 1. Quantum computation uses qubits that can be superpositions of 0's and 1's. Suppose we model M1 as 0 and M2 as 1. The photon then has some probability α of being measured as 0 and 1 − α as 1 (in the case of Fig. 3, α = 0.5). The measurement outcomes of 0 and 1 are mathematically expressed by column vectors in the standard basis as: The standard basis is explained further in Section VI-B. Generally, a qubit is expressed as a linear combination of |0 and |1 with their corresponding amplitudes as coefficients (or a unit vector in a complex Hilbert space): where α and β are the wave amplitudes of |0 and |1 . |α| 2 and |β| 2 are the respective probabilities that |ψ is measured as |0 or |1 . Thus, they should suffice |α| 2 + |β| 2 = 1. For example, in (1), we have a 100% probability of measuring the qubit as |0 or |1 . The uniform superposition of a single qubit can then be expressed as Here the probability of the qubit being measured either as 0 or as 1 is ( 1 The signs (±) only indicate phases and do not affect the probability of measurement. In addition to qubit, there are other bit representations, such as a qutrit, which describes a superposition of three mutually orthogonal outcomes (e.g., 0, 1, 2), and, more generally, a d-level qudit (alias quNit), which describes a superposition of d outcomes. A quantum state represented by a qubit that yields d outcomes upon measurement is identical to the state Quantum states can be represented by one or more qubits. |0 and |1 are the basis states in the standard computational basis. Each quantum state preserves a probability distribution of all measurement outcomes. For example, a 2-qubit state can be expressed as where α, β, γ, and δ correspond to the amplitudes (whose squares indicate the probabilities) of the outcomes. Note that, if the probabilities of |01 and |10 are zero, |ψ is an entangled state. Similarly, if the probabilities of |00 and |11 are zero, |ψ is entangled in opposite phases. Quantum gates are operations performed on quantum states that alter the state of a qubit. They are analogous to Boolean operations (bitwise operations) on classical bits and are described using linear algebra. Quantum states are represented by complex vectors, and quantum gates are represented by complex matrices (e.g., the Pauli gates X, Y, Z in Table III). Pauli gates are basic gates frequently used to represent complex quantum gates. X gate is like a logic NOT gate causing 1 to become 0 and 0 to become 1. Y gate exchanges the probabilities of the outcomes, i.e., α and β in (2). It imposes a relative sign to one of α and β, which does not affect the probabilities but is significant to perform more complex quantum computation (an important component of the basic gates). Z gate only imposes the relative sign. The matrices of the Pauli gates are presented in Table III. Any quantum gate can be expressed by a linear combination of the Pauli gates (i.e., X, Y, Z). For example, we can express the Hadamard gate (i.e., H) as: The Hadamard gate is another fundamental quantum gate. It maps the basis states (i.e., |0 and |1 ) to uniform superposition. A state in uniform superposition has evenly distributed amplitudes on all its possible outcomes, e.g., (3).
Mathematically, quantum operations are done by matrix multiplication between states and gates. For example, applying X gate to |0 can be expressed as: Note that this is the dot product of X and |0 . If we want to perform operations on multi-qubit states, we need to create bigger gates (bigger matrices). This creation is done by tensor products between gates. For example, X gate can only be applied to a single qubit, so if we want to apply it to a 2-qubit state, we need to expand X. Suppose we only want to flip (apply X to) the value of the second qubit of the 2-qubit state and do not touch the first qubit. We expand X gate to IX : Applying IX to |00 can then be expressed as IX |ψ = IX |00 = |01 . Note that applying the identity matrix to the first qubit does not change the vector of the first qubit.
A quantum circuit is a sequence of operations (quantum gates) for a particular purpose. Fig. 5 shows an example of a quantum circuit that achieves quantum teleportation, which is used to transmit information in quantum systems, with three qubits. In the figure, solid lines represent quantum wires, and double lines represent classical wires. A letter in a rectangle represents a quantum gate applied to the qubit on the left. A meter in a rectangle (e.g., the two rectangles after |ψ 2 in Fig. 5) represents a measurement operation that yields classical outcomes. X and Z with classical wires (on the right of Fig. 5) are classically controlled gates that use classical bits (measurement results from the top and middle measurement operations) as control bits to determine whether to apply the X or Z gate to the bottom qubit.
A multi-qubit state can be expressed as the tensor product of the qubits if they are not entangled. For example, |01 can be For simplicity, the notations of tensor products can be written as: |b 1 ⊗|b 2 = |b 1 b 2 . However, if some qubits are entangled in a state, they cannot be expressed by a tensor product. For example, in the simplest example of quantum entanglement, Bell states [58] are These four states (entangled two-qubit states) are called the Bell basis. Their vector forms are 1 √ 2 (1, 0, 0, ±1) and . Neither of them can be separated into a tensor product of two qubits. The Bell basis (i.e., maximally entangled basis) can be generalized to multi-qubit entangled states, such as the GHZ state [59] for three or more qubits. Entanglement is a powerful concept that provides significant computational advantages for quantum algorithms.
It is convenient to use the mathematics of tensors to reason about multi-qubit systems. If some qubits are entangled, we should not treat them independently. Thus, mathematically we cannot separate them into independent qubits by tensor products. Simulating such features with classical computation can take exponential time.

D. Quantum Protocols and Algorithms
Quantum algorithms are algorithms that run on a quantum computer. Different computational models have different kinds of quantum algorithms. In this subsection, we introduce the well-known quantum protocols and algorithms based on the quantum logic gate model discussed above. They are constructed by quantum circuits and are the most commonly discussed algorithms. Quantum effects such as superposition, interference, and entanglement provide them with computational advantages over classical algorithms. Even though they can be simulated by classical algorithms (e.g., quantum simulators), they deliver either significant speedups or enhanced security on a quantum computer. The protocols and algorithms introduced here are important milestones in quantum computing.
Teleportation: Quantum state transmission is irrecoverable. Classical methods such as signal amplification and redundant requests are not applicable due to the non-cloning theorem. Thus, teleportation is widely used for quantum communication (of arbitrary unknown states). For example, if quantum information is shuttled to a receiver (Bob) from a sender (Alice) in teleportation, Alice's state would be destroyed due to the non-cloning theorem. Nothing is really teleported. Only after a few communications and operations, Bob can recreate Alice's state at his end. As shown in Fig. 5, a typical teleportation process is as follows: 1) At the beginning of a transmission, Alice and Bob create an entangled qubit pair, either by a third party or themselves (operations before |ψ 1 in Fig. 5). Now the last two qubits (middle and bottom) in Fig. 5 [60], [61], [62], [63]. Fidelity is a metric to describe the quality of teleportation, that is, how close the teleported qubit is to the original.
Deutsch-Jozsa algorithm: Deutsch-Jozsa algorithm [57] was the first example to demonstrate the computational advantages of quantum computing. It shows that the quantum solution can outperform the best classical algorithm for the Deutsch-Jozsa problem. In the Deutsch-Jozsa problem, we are given a hidden function f (x ) : {0, 1} n → {0, 1}. It is a Boolean function that takes in an n-bit string and returns 0 or 1. It is promised that f (x) is either one of the following: 1) Constant: For any input f (x), return a constant value.
That is, f (x) = 0 or f (x) = 1. 2) Balanced: For half of the inputs, f (x) = 0, and for the other half, f (x) = 1. The problem is to find out which one f (x) belongs to. Classically, we can keep giving inputs to f (x) and see how the outputs behave. If it is a balanced function, we will eventually see a different output. If we keep getting the same output, the certainty of f (x) being a constant function increases as we give more inputs to it. If we want to be 100% confident, we need to check 2 n−1 + 1 inputs (i.e., iterating half of the inputs and one more). Nonetheless, with phase kickback (c.f., interference) [64], the Deutsch-Jozsa algorithm takes only one step to solve the problem. Phase kickback is where the phase of a qubit is rebounded into a different qubit via a controlled operation. Explaining the quantum circuit here would make this section verbose. There are already many well-written tutorials. Interested readers can go to literature such as [64], [65]. Besides, there are more interesting and famous algorithms that demonstrate quantum advantages over classical ones, such as the Bernstein-Vazirani algorithm [66] and Simon's algorithm [67].
Shor's algorithm: The most prevalent classical cryptosystem (e.g., RSA) relies on the difficulty of factoring the product of two large primes. However, Shor's algorithm provides a quantum solution based on quantum phase estimation [68], [69] to solve the large-number factorization in a polynomial time [70]. It actually solves the period-finding problem, which in turn solves factorization. In other words, if we can compute the period of the periodic function g(x ) = (a x mod N ) efficiently, we can factorize N efficiently. The steps of Shor's algorithm can be summarized as follow (e.g., to factor N = 15): 1) To find the period of g(x), choose a random base a: 1 < a < N. (e.g., to find the period of g(x) where N = 15, we choose a = 2). 2) Find the period by finding the smallest x > 0 for which g(x ) = 1. (e.g., g(4) = 2 4 mod 15 = 1 ⇒ x = 4) 3) If the period x is not even, go back to step 1.

4) If a
x 2 mod N = ±1, go back to step 1. 5) a x − 1 can then be factorized as (a By using quantum phase estimation to find the period (steps 1 and 2), Shor's algorithm provides an exponential speedup compared with the best-known classical factorization approach. When quantum hardware scales up, it will endanger the current cryptosystems significantly.
Grover's algorithm: Grover's algorithm [71] solves unstructured search problems in O( √ N ) time. It can efficiently find the unique input(s) to a one-way function with high probability; for example, it can reverse a hash function efficiently). With a black-box function (e.g., a one-way function), it is easy to compute f (x) given x, but it is hard to compute x given the value of f (x). With a classical approach, we can only solve it by brute-force search (i.e., by trying every possible x).
Most quantum algorithms tend to repeat experiments with identical setups to reveal the deterministic distribution of probabilities of different outcomes and then take the results with the highest probabilities [72]. Grover's algorithm is also of this type. It amplifies the amplitude of the desired outcome by iterations, which in turn amplifies the probability of the desired outcome. After O( √ N ) iterations, the amplitude of the desired outcome dominates, and we can be certain that the measurement result is the value we are searching for. Here, N is the number of all potential solutions to the black-box function (i.e., the function's domain or all possible x's).
The amplitude amplification process is visualized in Fig. 6. x-axis represents all the possible solutions (i.e., all the measurement outcomes of the circuit for Grover's algorithm) to f (x). y-axis indicates the amplitude of each solution (i.e., the square root of the probability of each measurement outcome). To cover all possible solutions with n qubits, we need N = 2 n measurement outcomes. In step (1), we have a uniform superposition of n qubits, where each measurement (i.e., 1 N = probability to be measured). Let the solution x that we are trying to find be in the qubit |x (the one with blue amplitude in Fig. 6). In step (2), we flip the sign of the amplitude of |x by phase kickback. In step (3), a diffuser oracle is used to boost the negative amplitude and decrease the positive amplitude. Now the amplitude of |x is amplified. After √ N iterations of steps 2 and 3, the amplitude of |x becomes dominating. We then measure all the qubits, and the measurement outcome showing up the most often is the value x that we were searching for.
Suppose there is a unique solution to the black-box function. Classically, it takes O(N) time to find it by brute-force search. Thus, Grover's algorithm is only a quadratic speedup to bruteforce search, unlike other quantum algorithms that are mostly exponential speedups. However, it is still significant when N is large.
Quantum Key Distribution (QKD): Since classical key exchange protocols (e.g., Diffie-Hellman key exchange) will be endangered by quantum algorithms (e.g., Shor's algorithm), quantum-based key exchange protocols have been developed. QKD is the most widely discussed type of key exchange protocol. Its implementations have been built worldwide [3], [4], [5]. Interconnection of QKD communications constitutes QKD networks. QKD is a hybrid quantum-classical approach. It requires both parties (Alice and Bob) to publish their measurement results to complete the key exchange process. Well-known QKD protocols are introduced in Section VI with quantum cryptography.
Finally, the key takeaways of quantum protocols and algorithms are listed in Table IV.

III. KEY ISSUES OF QUANTUM COMPUTING
In this section, we discuss the challenges and limitations of quantum computing and communications and identify four key issues in the field.
While the potential of quantum computing is exciting, it also comes with challenges. For example, quantum hardware is still in development, and much more powerful hardware is needed before it can be used to solve real-world problems [10], [14]. One potential transition is to a hybrid quantum-classical system, but this brings new challenges in integration [73], [74], [75]. Additionally, connectivity between quantum systems poses significant challenges, such as collaboration issues, which in turn raise security concerns. Furthermore, while quantum annealing may be useful for optimization problems that enable data analysis, it is currently only practical for small-scale synthetic datasets. Fig. 7 provides an overview of the current challenges and limitations in quantum computing (universal and annealer).
Given the challenges depicted in Fig. 7, we identify four research issues in quantum computing (the last one in Fig. 7, pragmatism, is a general challenge in all quantum research topics): 1) Quantum computers (related to hardware); 2) Quantum networks (related to connectivity); 3) Quantum cryptography (related to security); 4) Quantum machine learning (related to data analysis). Therefore, in the following four sections, we provide a detailed survey of the recent advances, progress, and trends in these four issues. We begin by introducing quantum computers, which are the basic units for the other three issues. Without an effective quantum computer, there would be no possibility for quantum networks, cryptography, or data analysis. Next, we discuss quantum networks, which require robust connections between quantum systems and envision the quantum Internet. Secure communication (i.e., quantum cryptography) must be established because the Internet has always been potentially adversarial. Finally, given the massive amounts of data generated by the Internet, there is a constant need to balance accuracy and efficiency. Quantum machine learning may be able to help achieve both of these goals.
The four important issues discussed in this article can also be seen as the key elements of the quantum Internet, as summarized in Fig. 8. These issues in quantum computing are scientifically interesting and widely discussed and serve as the building blocks of the quantum Internet. However, there are still many open problems in each category, for example, the robustness of quantum computers [14], [41], [76], [77], the challenges of network infrastructure (e.g., quantum communication links [15], [16], [17], quantum repeaters and routers [73], [78], [79]), and the efficiency in quantum cryptography [4], [80], [81], [82]. Moreover, quantum annealing brings new opportunities to quantum applications such as quantum machine learning and other optimization problems [83], [84], [85], [86]. The insights into high-level security and exponential speedup (compared to classical computers) in quantum systems have stimulated research [42]. Table V gives examples of technologies in these issues. Existing technologies in the table are introduced in subsequent sections.

A. Quantum Computers
In the past few years, big tech companies such as IBM, Google, and D-Wave have successively reported progress on quantum hardware, achieving a larger and larger scale of qubits. Nonetheless, quantum hardware today is still unstable. Most algorithms and protocols remain in experimental phases.
The development of quantum computers decides how the other research components in quantum computing develop. For example, the number of qubits in a quantum computer (e.g., quantum memory) determines the effectiveness of a quantum routing protocol [73]. The development of quantum error correction decides the robustness of a quantum system and communication [14]. The robustness of a quantum system is determined by different aspects, such as scale, state stability, and material [6], [7], [11], [12], [87]. Moreover, the effectiveness of quantum computers also depends on the development of computational models and programming frameworks [8], [9], [49], [53].
Here, we summarize the critical challenges in quantum hardware and introduce, in general, the first key issue in the field, quantum computers. 1) Noise: As mentioned in Section II, current quantum hardware is considered to be in the NISQ era. It is in an intermediate scale and is noisy. Coherence between quantum states tends to be lost by their interaction with the environment. The loss of coherence is analogous to the loss of energy by friction in classical physics. A definite phase relation between states should be kept for quantum states to be coherent. For example, the amplitudes of a 2-qubit state, α, β, γ, and δ in (4), are in a definite phase relation. If anyone of them changes unexpectedly, it affects the other amplitudes since α 2 + β 2 + γ 2 + δ 2 = 1. It makes the measurement outcomes unexpected.
To preserve quantum information, quantum states must be perfectly isolated from the outside environment. However, to manipulate or measure it, we need interaction with it. For example, it is common to control a quantum operation by classical results from previous operations. To read the classical results, we need to measure the states. Such operations break the isolation of a quantum system and cause decoherence.
Any state drift changes the magnitudes of a qubit, which in turn changes the probability of measuring the desired results and causes errors. Errors then quickly accumulate and cause the operations to become random and incorrect. Quantum error correction algorithms [14], [41], [76] are needed to correct the shifts and noises caused by decoherence. These examine and amend the errors. It usually requires sufficient redundancy to maintain correction, which requires resourceful quantum hardware.
How to correct decoherence between entangled states is another open problem about noise. For example, purification of quantum state [88] can effectively correct multi-qubit states but only applies to well-understood states such as Bell states. Error correction has not yet been proven to be able to adapt to large-scale quantum systems, but it does improve the reliability of the exceedingly fragile quantum state. Solid-state quantum memories are believed to be more advantageous as they maintain coherence better [89].
Current quantum hardware is not ready for large-scale operations [77]. It usually yields results different from quantum simulators because there is no noise in simulation (no decoherence between qubits).
2) Hardware Size: Even though a quantum processor could be closer to the size of a coin, the cryostat hardware required to provide a proper environment for the processor is bigger than a person [6]. The system is comprised of multiple components making it bigger than it should be. For example, to preserve quantum states, we need a vacuum chamber (that contains fewer particles), for which we need a device to pump out the air. We need portals to the chamber to allow light sources (e.g., lasers). To keep the chamber in a cryogenic environment, we need extra materials (e.g., liquid helium) to reduce the temperature. It also needs a lot of equipment to control the qubits. Moreover, optical instruments are needed for light sources with different settings. All these components together take up a significantly large space. Current quantum computers are experiencing a situation (in terms of size) similar to the early phase of classical computers that occupied a room [13], [87], [90].
It has been estimated that the cost per qubit in a quantum computer today is about $10,000 [91], while we may need to produce millions of them in a computer. This cost needs to be significantly decreased before quantum computers can be commercialized. In addition, minimizing the hardware size brings extra cost on the materials and manufacture. For example, research on minimizing the size of expensive materials such as cryogenics and ion traps in a quantum chip has been going on [87]. While we want more qubits available on a quantum computer, it comes together with more instability, noise, and higher cost. Thus, boosting up the qubit numbers is just the first step. Lowering the cost and scaling up the connectivity are also significant for developing the quantum Internet [89].
3) Design Complexity: Due to the non-cloning theorem in quantum computing, it is impossible to duplicate arbitrary qubits. This causes inconvenience in algorithm designs and implementations. If data is lost, it is difficult to recover it since we have no copy of it. It is worth noting that quantum noncloning means the non-cloning of an arbitrary unknown state. If we know the amplitudes of a state, we can recreate it from scratch using the amplitude values, which can be duplicated in classical computation, e.g., α, β in (2). However, if we receive an unknown state, we cannot have any information about it without measuring it (but measuring it would destroy its amplitude distribution). Even if we measure it, we only know one possible outcome. There are no redundant states for us to repeat measurements to recreate the amplitude distribution. Hence, we cannot simply apply traditional ways (e.g., creating redundancy, re-transmission) to increase system robustness and design algorithms [89]. This increases the design complexity of quantum hardware and software. Moreover, the interface between quantum and classical systems should be natural and seamless, but in current architectures, they are independent and only supplement each other.
Moreover, quantum programming differs significantly from classical programming because of the distinctive computational models. IBM, Google, Microsoft, and many more companies have been developing programming toolkits, such as Qiskit, Cirq, and quantum development kit (QDK) [92], [93], [94]. However, there is no handy debugger for programming on real quantum hardware. It is impossible to measure and restore a state in a quantum computer. Quantum programming is thus usually done on a classical simulator. When a program is done, it is uploaded to a real quantum machine for testing. The program is then run a large number of times. The results demonstrate the distribution of the program outputs. However, different hardware may yield different distributions due to decoherence and noise. Despite all the challenges, quantum programming and debugging software are being actively investigated and developed [95], [96], [97]. 4) Incomplete Theory: As mentioned in Section II-A, entanglement is paradoxical. This is called Einstein-Podolsky-Rosen (EPR) paradox. The properties enforcing the correlation among entangled qubits are believed to be unknown. Einstein and others thus consider quantum mechanics incomplete. Hidden-variable theories explain entanglement through unobservable hypothetical entities. The phenomena of indeterministic measurements are assumed as mathematical formulations of quantum mechanics. For example, the bounds of indeterminism can be expressed in quantitative form by the Heisenberg uncertainty principle [98]. Nonetheless, there may be nonlocal hidden variables since entanglement violates the concepts of locality and realism, as discussed in Section II-A. Entanglement has been substantiated repeatedly by experiments. However, we still lack a deeper level of understanding. It is challenging to utilize a technology when its theory is not commonly agreed to be complete.

B. Quantum Networks
An important way to scale up a computing system is to make computers collaborate. As the collaboration augments, the quantum Internet will eventually be achieved. The key performance indicators (KPIs) used for classical networks (e.g., distance, transmission rate, and error rate) are becoming those of quantum networks. Nonetheless, current quantum network development is more in deciding infrastructure than racing on performance criteria, e.g., setting up standards.
The instability of quantum systems brings challenges to the development of quantum communication links (wired and wireless) [15], [16], [99], [100]. The non-cloning theorem makes it harder because we cannot simply use a repeater or amplifier to extend the transmission as in classical networks [89], [101]. Routing protocols are also needed in a quantum network to select the optimal paths. They differ from their classical counterparts because the communication links (or the entanglement links) are probabilistically established, and the resources in quantum repeaters (e.g., quantum memories) are expensive [73], [102], [103]. A new set of routing metrics and protocols is thus needed for quantum networks. Quantum communication links, quantum repeaters, and quantum routing protocols are the key components to accomplish quantum networks and realize the quantum Internet.
Here, we summarize critical challenges in connecting quantum computers and discuss the second key issue in the field, quantum networks.
1) Long-Distance Coherence: Decoherence challenges quantum hardware and burdens the development of longdistance communications. Quantum states tend to lose information during preservation and transmission. An isolated qubit can indefinitely conserve its information, but isolation contradicts communication. Quantum networks are primarily based on teleportation, which is based on entanglement. Creating reliable long-distance entanglement is thus vital, but entanglement does not survive decoherence. States can unintentionally get entangled with the environment and then decohere from each other [101]. Research on communication distance over optical fibers [15], [16], [17], [18] and network range over wireless channels [5], [104], [105], [106] have been developed to tackle decoherence. Wireless transmission (over free space) of quantum states is considered advantageous compared to optical fibers [80], [99], [100], [107]. The atmosphere has multiple high transmission windows (e.g., the wavelength window from 650 nm to 670 nm with a small diffraction spread [99] or a 770 nm band with high bit rates [107]). Photons are relatively easy to be detected in these windows.
2) Teleportation Limitation: Due to the non-cloning theorem, we cannot transmit quantum data while keeping the data. Thus, no redundancy can be created, and no re-transmission can be done. If we lose data during teleportation (e.g., decoherence), we lose it forever. Nonetheless, some information about the data can still be preserved even if we lose it. Fidelity is the metric to measure how much information is preserved after teleportation. As discussed in Section II, high-fidelity (e.g., over 90%) teleportation methods have been developed, and the research continues [60], [61], [62], [63]. The opposite of fidelity should be equal to or lower than the commonly acceptable error rates in classical protocols. For example, most modern Ethernet variants are designed for a bit error rate of 10 −12 (c.f., the IEEE 802.3 standards [108]), which is a harsh criterion for current quantum teleportation approaches.
3) Lossy Link: Quantum communication based on quantum teleportation is essentially based on 2-qubit entanglements (i.e., EPR pairs or Bell states) between every two nodes in the network. However, entanglement links can be unstable and lossy due to the decoherence of long-distance entanglement. Quantum repeaters have been developed to overcome this issue by creating entangled links between the adjacent nodes and repeaters [78], [79], [109]. The purpose of quantum repeaters is to form an end-to-end entanglement between the sender and the receiver, through which they can communicate using quantum teleportation (or QKD for key exchange purposes). However, such entangled links created by the repeaters are probabilistic. Each link has a probability for entanglement generation, making the routing paths probabilistic and unpredictable. An entangled link is only created when it is needed. After the teleportation, the entangled link would collapse. Quantum routers are therefore needed to provide effective routing paths in the network based on quantum repeaters. Again, the non-cloning theorem makes the routing process strenuous.

4) End-to-End
Communication: Quantum network approaches focus on end-to-end communications. It is problematic to send the same data to more than two receivers or to receive it from multiple senders simultaneously [110]. Nonetheless, quantum multiplexers have been investigated for routing purposes [111], [112]. In a quantum network, there is no easy way to broadcast information. Still, strategies to emulate broadcasting have been investigated. For example, a state verification protocol can "broadcast" states to network nodes by following a distributed process [113]. Quantum network topology is in its infancy compared to the current quantum infrastructure, but the research in this area thrives [89], [114], [115], [116]. For example, quantum switches achieving different network topologies (e.g., star topologies) have been studied [117], [118]. 5) Trusted Nodes: All nodes, including quantum repeaters in a quantum network, are assumed to be trusted [119], [120], [121]. However, a network environment is usually built on a zero-trust architecture. Information needs to be protected to preserve data integrity and privacy. This raises another category of challenges regarding quantum security.

C. Quantum Cryptography
Network environments are most likely hostile. The transmitted data must be protected to preserve data integrity and security. Thus, cryptography is one of the key elements of any kind of Internet. The most well-known quantum cryptography for key exchange is QKD. It is designed to distribute classical secret keys between two parties in a quantum ambient. Its implementation has been built all over the world [3], [4], [5]. It is famous for its quantum nature in detecting intrusions by measurement, c.f., the "unconditional security" [122], [123], [124]. QKD's derivatives are also continuously designed and implemented [3], [4], [125], [126]. Moreover, novel cryptographical technologies beyond QKD are being developed [127], [128], [129], [130]. Since quantum computers endanger classical cryptography, post-quantum cryptography (based on classical computers) has also been proposed to avoid the quantum threats classically [131], [132], [133]. Last but not least, cryptographical products (e.g., blockchains) are inevitably involved. Their recreations and derivatives in quantum computing have also been widely studied [134], [135], [136], [137] [138].
Here, we summarize critical challenges in quantum security and discuss, in general, the third key issue in the field, quantum cryptography.

1) Key Rate:
The key rate of QKD depends significantly on the hardware performance (e.g., the efficiency of photoncounting devices [80]). As discussed in the previous subsection, transmission in free space (e.g., through satellites) can get better photon quality than transmission in optical fibers. However, optical fibers cause less noise than free space. If the communication between the two parties in a QKD protocol is unstable and does not guarantee correct measurements, they would falsely believe that an intruder exists and abandon a secure channel.
2) Denial of Service: If both parties in a QKD protocol believe that the communication channel is insecure. They would stop using that channel and switch to another quantum channel if there is one. Thus denial-of-service attacks are possible in QKD. It can detect an intruder for sure if the quantum system is stable, but it does not provide a way to assure the existence of an intruder. Discussions on denial of service in QKD and strategies for backup (classical or quantum) channels have been investigated in the literature [139], [140], [141].
3) Key Efficiency: The key efficiency describes how much of the original bit strings are preserved after the key generation. It can be calculated as the length of the secret key divided by the length of the original bit string [142]. It is related to how much time is needed to generate a fixed-length key. To prevent brute-force search attacks, the length of the secret key should be long enough. Low key efficiency indicates a long original bit string, and a long time is needed for key generation. QKD protocols usually have low-key efficiency. For example, in the BB84 protocol [81], the receiver and the sender measure the same stream of quantum states and keep the ones that have the same measurement results, which are mapped to the secret key. They choose from two measurement bases, so they have about a 50% probability of choosing the same basis (i.e., having the same measurement results). This results in about 50% of the quantum states being used to indicate the secret key, which is very low compared to classical approaches. More details on the BB84 and other QKD protocols are given in Section VI.

4) Classical or Quantum:
Research on quantum cryptography is prevalent due to the vision of quantum computers endangering classical cryptography, typically on factorizationbased cryptosystems. However, quantum cryptography based on quantum systems is not the only option. Research on classical post-quantum cryptography is also a hot topic with similar objectives. Post-quantum cryptography (or quantumproof, quantum-resistant cryptography) studies classical cryptography based on mathematical theories immune to quantum attacks. This means classical cryptography that is not based on factorization. For example, lattice-based cryptography [143] is one popular alternative to current factorization-based cryptography. It uses lattices to construct its cryptographic primitives and is believed to be immune to both classical and quantum attacks [131]. Both fields have potential and are critical. They may each serve as mainstream in different stages of the quantum era: post-quantum cryptography and hybrid classicalquantum cryptography may be more important than pure quantum cryptography during the classical-quantum transition. Current network infrastructures would be significantly affected if the cryptographical infrastructure is changed.

D. Quantum Machine Learning
As discussed in Section II, quantum annealing is naturally suitable for finding global minima. Besides quantum annealing, we can also see approaches using quantum systems to assist (or enhance) classical machine learning models. However, in the current state of quantum computing, there are difficulties in applying quantum models to real-world problems.
The vision of quantum machine learning is to reduce the storage space and the computation time for data analysis [144]. For example, a quantum associative memory neural network architecture has been proposed to improve storage capacity exponentially [145]. Moreover, it has been shown that the quantum-trained support vector machine (SVM) for binary classification works faster than its classical counterpart (exponential speed-up in the cases where polynomial time is needed classically) [146]. Research on quantum machine learning includes fully quantum approaches (i.e., quantum annealing) and hybrid quantum-classical approaches [86], [147], [148], [149], [150]. They have been tested for various types of datasets [151], [152] (more details on the data types in Section VII). Classical solutions for machine learning have been attempted to adapt to quantum systems, such as quantum walk [153] and quantum neural networks [154]. Quantum machine learning uses and implements quantum algorithms to enable higher-performing machine learning [155], [156].
Here, we summarize the key challenges in quantum data analysis and discuss the last key issue in the field, quantum machine learning.
1) Data Type: Even though quantum machine learning has been successfully experimented with using synthetic datasets, there are practical challenges in scaling up due to the noisy hardware [83], [155], [157]. It has been shown that intermediate-scale quantum computers can work on realworld datasets [83]. Processing high-dimensional data does not necessarily require matching the number of qubits to the data dimensionality (without feature reduction). Nevertheless, whether quantum machine learning is effective for real-world datasets remains to be explored.
2) Compatibility: Since quantum annealing limits the types of datasets, quantum approaches assisted by classical machine learning have been developed [84], [158], [159]. Such hybrid approaches need a practical flow of classical and quantum information. Sharing information between different computational systems brings a significant challenge [85].
3) Collaboration: Distributed artificial intelligence (AI) using collaborating edge and core clouds has recently been popular for handling large datasets or geographical areas [160]. Also, parallel AI utilizes collaboration among processors or local computers to improve performance [161]. Such advantageous collaborations do not yet exist in current quantum technologies due to the limitation of quantum networks. However, quantum extensions of game theory provide new opportunities to assist decision-making in distributed AI (or multi-agent systems) [162], [163], [164].

IV. QUANTUM COMPUTERS
In this section, we provide a detailed survey of the first key issue: quantum computers. While quantum computers may seem intimidating, they are shaping the future of computation. They can solve problems that cannot be efficiently solved with the current technology. In addition, they can solve them much faster. This computational speedup (often exponential) is expected to impact significantly. For example, a one-way function (widely used as the basis of classical cryptography) can be reversed by brute-force search using classical computers. Still, it would take a very long time, making it impractical. With quantum computers, this time would be shortened, making the one-way function vulnerable. Here, we introduce the key aspects of quantum computers and discuss recent advances in the field.

A. Features of Quantum Computers
Quantum computers are the basic units in quantum technology. The development of quantum computers greatly affects the development of other quantum technologies. Before introducing the popular topics in quantum computers, we summarize the basic features of quantum computers.
As shown in the bottom part of Fig. 9, the base layer of a quantum computer generally has three components: 1) a quantum processor or a quantum memory preserving operational and connected qubits [6], [165]; 2) a quantum-classical interface feeding classical inputs into a quantum circuit; 3) a quantum micro-architecture that contains and executes an instruction set (e.g., the Pauli gates), which is analogous to the micro-architecture of a classical computer. Quantum error correction spans these three layers. For example, surface codes have been introduced for topological quantum memories [166]. Fault-tolerant error-correcting structures have been developed for quantum micro-architectures [167]. Quantum arithmetic logic units, programming paradigms, and quantum algorithms play the parts of their classical counterparts in a classical computer.
We now introduce typical features of quantum computers. Linear Algebra Based: As discussed in Section II-C, quantum states and their operations are based on linear algebra in a complex Hilbert space. States and gates are described by vectors and matrices, respectively. Dot products between vectors and matrices represent operation results. Correlations between states and between gates are expressed by their tensor products. Linear algebra is the standard language for describing quantum effects and algorithms [65].
Probabilistic: As discussed in Section II-D, quantum algorithms solve problems by giving a probability distribution of each possible solution. Binary strings are used to express all possible solutions. An n-qubit state can solve problems with 2 n possible solutions. By repeating the sequence of operations and measurements, we have a probability distribution of the solution. This intrinsic probabilistic nature of quantum computers makes them fundamentally different from classical computers, whose algorithms are usually deterministic.
Fast: The exponential speed-up potentials to a specific class of problems brought by quantum computers are the main reason for interest in them. As discussed in Section II-D, most quantum algorithms provide exponential speed-ups compared with their classical counterparts. Although some of them only provide quadratic speed-up, e.g., Grover's algorithm, when the number of possible outcomes is large, they still make a significant difference. This computational speed-up could potentially evolve the current networking technology.
Noisy: As discussed in Section III-A, one typical and inevitable feature of quantum computers is their noisy nature. Quantum error correction algorithms should always be there to support quantum information's fidelity and quantum algorithms' correctness [14], [168]. Nonetheless, as the hardware architecture develops, the issue of decoherence may be mitigated [10], [169]. Quantum error correction may then focus on decreasing the transmission error rate [170]. Noise is unavoidable during transmission, even classically.

B. Quantum Error Correction
Most quantum algorithms assume perfect qubits that can be prepared and manipulated in the way we want. However, as we know, qubits are imperfect. They are noisy and unstable due to decoherence or operation errors such as depolarization [171]. Quantum error correction aims to denoise quantum information and creates fault-tolerant computations by correcting erroneous states and operations.
In the current NISQ era, imperfect qubits are used despite their instability. Error mitigation strategies (i.e., measuring the same circuit multiple times and ignoring the results with a small number of outcomes) are included in most quantum algorithms [172]. However, perfect and stable qubits should eventually be achieved and used for real fault tolerance. Quantum error correction has been developed to overcome this instability. These are also called quantum error correction codes, c.f., classical error correction codes [173]). For example, using redundant qubits to increase the robustness of a 1-qubit state is a common way to remove errors in a quantum computer. That is, multiple physical qubits are used to represent one logical qubit in the algorithm [174], [175]. The physical qubits are highly correlated and, thus, are expected to have the same behaviors. Auxiliary qubits are constantly measured to detect signs of errors [65]. However, this introduces a new attack known as the photon number splitting (PNS) attack [176]. An attacker in the middle can split some redundant qubits and measure them to access the transmitted information.
A simple case of the redundant qubits mentioned above is a repetition or stabilizer code [177]. It is analogous to the repetition codes in classical computing. It can increase the robustness of a logical qubit in a quantum computer or in communication. Repetition codes keep multiple "copies" of a qubit to create redundancy. For example, when we want to prepare a qubit as |1 , we create five physical states. Even though we prepare all five qubits as |1 . Some of them may decohere and change. Suppose they now become |1 , |0 , |0 , |1 , |1 after state preparation. We can still determine that this qubit should be the majority which is |1 . However, there is a threshold p, a maximum acceptable probability of being wrong because we can never be 100% certain that the qubit is in the state we want [178], [179]. Nonetheless, increasing the number of auxiliary states can always satisfy an arbitrary probability p where 0 < p < 1, but it is a trade-off between correction and efficiency.
Non-cloning theorem makes it problematic to implement repetition codes since we cannot simply duplicate qubits. However, it is possible to spread the information in a logical qubit to multiple physical qubits that are highly entangled [175]. There are different ways (i.e., codes) to encode a 1-qubit state with multiple qubits. It has been shown that the smallest number of qubits needed to protect a single qubit currently is five [171]. There are many ongoing research approaches to quantum error correction. The Quantum threshold theorem indicates that a quantum computer can decrease its error rate to an arbitrarily low-level number through quantum error correction [179]. It proves that quantum computers can be made fault-tolerant. A simple way to correct all errors is to concatenate different error-correcting codes; for example, after encoding with a coding scheme, re-encode each logical qubit with another coding scheme.
Table VI summarizes the typical approaches for quantum error correction and their key features.

C. Quantum Hardware and Software
The race to develop quantum hardware has been fierce in recent years. IBM claims its quantum computers will support over 1000 qubits in 2023 and targets to reach 4000 qubits by 2025 [6], [185]. Most companies working on quantum focus on universal quantum computers, while D-Wave works on quantum annealers [29]. D-Wave claims its next-generation quantum computer would include both annealing and the gate model [8]. As discussed in Section II-B, the gate model that universal quantum computers are based on is more sensitive to noise than quantum annealing [48], [49]. Thus, the number of qubits that a universal quantum computer support is generally smaller than that of a quantum annealer. The overall development of quantum hardware is featured by the number of qubits, the stability of qubits, and the solution approach: universal quantum computing and quantum annealing.
The development of quantum software includes quantum operating systems, firmware, and toolkits. Several companies provide quantum services based on their hardware and software, such as quantum computing as a service (QCaaS), quantum encryption, quantum cloud computing, and quantum AI. Fig. 10 lists the current quantum hardware and software by mapping the quantum ecosystem established by different companies worldwide [186].

D. Quantum Computational Models
As discussed in Sections II-B and II-C, even though the gate model and quantum annealing are the popular quantum

E. Quantum Programming
Since quantum algorithms are primarily based on linear algebra, programming in quantum computers differs from that in classical computers. We cannot program on a quantum computer because there is no accountable development environment on a quantum machine. We cannot simply measure a state and reverse it, which means we cannot test a program at any point without destroying the program states. Therefore, we program with a quantum simulator on a classical computer. After finishing the programming, we test it on a real quantum machine with several repetitions to yield a probability distribution of the results. Quantum simulators are usually included in quantum programming frameworks. Table VIII lists the popular quantum programming frameworks.

V. QUANTUM NETWORKS
In this section, we survey the second key issue: quantum networks. Researchers predict that the quantum Internet will be the future of quantum computing and will require reliable hardware and mature network infrastructure. Quantum networking is the fundamental foundation of a quantum Internet.
Quantum networks are governed by quantum physics, mostly entanglement, which provides the possibility of highlevel security, high speed, and high capacity. However, such opportunities (e.g., exponential speed-ups) come with new problems (e.g., non-cloning and noise). These problems impose constraints on the scale of quantum networks.
The study of quantum networks involves methods and applications used in network infrastructure and networking strategies [192]. In this section, we first introduce the features of quantum networks. Then, we discuss recent advances in quantum network infrastructure (e.g., wired and wireless communication links) and quantum networking technologies (e.g., quantum repeaters and routers).

A. Features of Quantum Networks
The vision of quantum networks is similar to the current classical networks but with a higher security level and better performance (e.g., speed and capacity). Researchers endeavor to find quantum alternatives to the critical technologies in classical networks (e.g., communication links, repeaters, and routers).
The basic unit of the transmitted data is a qubit. Data transmission among quantum computers is by teleportation. The state teleportation happens instantly due to entanglement. However, for a receiver (Bob) to operate and change it to the transmitted state, he needs the measurement results from the sender (Alice), which is transmitted classically. This implies that even with teleportation, the speed of quantum communication cannot surpass classical communication. That is, information cannot travel faster than the speed of light through teleportation [193]. In other words, even though the state operations happen instantly due to entanglement, the information transmission speed is limited by the classical transmission of Alice's measurement outcome to Bob.
Moreover, due to the challenges of hardware and noise, current quantum networks are mostly small-scale with a limited number of qubits [42]. Even though standard telecom optical fibers can be used for quantum communication, noise makes the transmission low-quality [15], [16]. Wireless quantum networks are, therefore, increasingly being investigated because it seems there are transmission windows in free space that are of better quality than wired communication [99], [107].
The following paragraphs summarize the features of quantum networks.
Analogous: The structure of quantum networks is similar to the structure of classical networks. They are composed of communication links and network nodes. They can be in similar network topologies (e.g., fully connected or star) and can be optimized by the same networking strategies (e.g., repeating and routing) [114]. Communication links could be optical fibers or free space. Network nodes are computers. Repeaters are used to extend the transmission distance, and routers are used to connect networks and determine optimal paths. The only difference is that all these components need to be redesigned and re-developed following the laws of quantum physics.
Teleportation-based: Despite all the potential, current quantum network schemes are primarily based on quantum teleportation, meaning information is not transmitted; it is teleported [89]. After reception and measurement, the transmitted state at Alice's end is destroyed and loses the original information. The entanglement link between network nodes collapses. A new entanglement link needs to be re-established after every teleportation. Although the two states can be reused by recreating entanglement between them, we cannot simply duplicate or repeat the transmitted data to create redundancy to increase robustness in teleportation.
Noisy: Quantum states are unstable and noisy. The instability and noise increase as the number of qubits increases. The interconnection of quantum computers further increases the level of noise and decoherence. It is thus challenging to form a large-scale network.
Moreover, it is also problematic for a quantum repeater to extend the communication distance. Most quantum repeater approaches assume quantum memories, which increase the influence of noise and decoherence [73], [117], [197]. Noise may propagate and cause severe information errors. A quantum Internet requires a significant number of interconnected quantum computers and thus may result in a very noisy environment if noise is not adequately handled.

B. Communication Links
Communication links are essential for quantum networks. They can be wired or wireless. The primary method for wired quantum communication is to use optical fibers and photonbased qubits. It is sensible to use today's optical fiber cables.
As stated repeatedly, a major challenge of quantum communication is quantum decoherence which causes data noise and loss. Fidelity has been a prevalent metric to determine the quality of a qubit transmission (i.e., how close the transmitted state is to the original state). It ranges from 0 to 1, with 0 being the worst, meaning the transmitted state has completely changed, and 1 being the best, meaning there has not been any change in the state during the transmission [60], [61], [62], [63]. Hence, distance and fidelity are commonly used as communication link performance metrics. In Table IX, we list the recent advances in quantum communication links. They have been implemented for different distances and fidelities. Note that a few communication links use QKD to exchange secret keys instead of a data transmission channel to communicate data based on quantum teleportation. For QKD-based approaches, quantum bit error rate (QBER) is used as a metric to examine the key transmission quality.
Several implementations of communication links have been proposed with distinctive methods and features. We discuss recent quantum research on optical fiber and wireless networks in the following subsections.
1) Fiber Optic Networks: Today, our planet is covered by a network of optical fibers. Fortunately, standard optical fibers can be used for quantum communication. The challenge is achieving the desired distance and quality of data transmission (e.g., long distance, high data rate, and low error rate). This involves data loss dispersion and absorption problems, such as quantum noise and decoherence in the communication links and couplers [61], [89], [204]. Optical communication approaches that preserve better quantum coherence are needed to tackle this. Elements of an optical communication link could be light sources, detectors, and optical couplers [205]. Quantum light sources and detectors include single-photon and entangled-photon types. Single-photon sources emit light as single photons or particles such as atoms, molecules, and ions. They can produce single-photon states. However, optimal single-photon sources have not been created yet.
Nonetheless, near-optimal single-photon sources have been proposed [206], [207]. An ideal single-photon state requires low data loss and attenuation during transmission in a fiber optic communication link [208]. On the other hand, entangledphoton sources that produce a robust source of entangled photons are indispensable ingredients of large-scale quantum networks (e.g., wired networks, Space-to-Earth, and intersatellite networks) [209]. A quantum-dot-based device has recently been developed, which claims to simultaneously achieve high fidelity, high efficiency, and indistinguishable pairs of photons on demand [210].
There are several distinctive designs of optical fibers. Typically, the fibers can be in single-mode or  [211], [212], [213]. Single-mode fiber carries only one light mode. The small core size has a higher cost [212]. Multi-mode fiber has a much larger core diameter and thus can carry multiple light modes and use lower-cost electronics such as light-emitting diodes (LEDs). However, it is unsuitable for long-distance transmission due to modal dispersion [212]. For quantum communication, high-dimensional spatial modes have been shown to have a higher data rate (or key rate for QKD) [213], [214], [215]. Specialized multimode fibers allow the implementation of spatial modes but are significantly constrained by the noise of pattern coupling (or decoherence-induced mode coupling) and entanglement degradation [216]. Although mode coupling and entanglement degradation are less significant in single-mode fiber, dimensionality is limited. At least in one study, it has been shown that single-mode fibers can transport multidimensional entangled states and avoid entanglement degradation, which also facilitates their deployment in classical optical fiber [214].
As discussed in Section V-B, long-distance quantum communication is restricted due to state instability, photon loss, and decoherence during transmission. Mitigating noisy transmission has been well-studied along with the development of communication links [18], [168], [172]. Even though there is no feasible way to create data redundancy, alternative methods for fault-tolerant transmission have been proposed. For example, a class of error-correcting code has been developed to examine the context of remaining qubits and to recover the lost information, which can tolerate loss rates up to 24.9% [60].
Entanglement encoding adapting fiber optics for different purposes has been examined and implemented based on different degrees of freedom, such as frequency, polarization, time energy, path, and orbital angular momentum (OAM) [217]. For instance, parametric down-conversion is a frequency-based entanglement encoding in which a photon splits into two photons, where the total energy stays the same before and after the split [218]. This is made possible by first transforming the photon into an electron-positron pair, and then one of these particles emits a photon and combines with its partner to produce a second photon. Recently, energy-time entanglement detection has been shown to be feasible in that the frequency of a photon is used to determine when its partner will arrive at a separate detector. This type of detection is robust over long distances and is a potential candidate for future quantum networks [219]. The usage of optical fibers for quantum communication is expected to enable real-world applications. For example, a quantum link between the Bank of Austria and Vienna city hall for secure money transfer has been experimented with [220].
2) Wireless Networks: Wireless quantum networks extend the communication range and scale up quantum networks. Free-space links have low atmospheric absorption in particular wavelength ranges [104]. Quantum states are less susceptible in free-space links because the atmospheric environment has weak birefringent effects, i.e., small photon absorption. Besides, quantum decoherence after passing through the atmospheric layer is trivial in free space, which allows a much longer transmission distance than fiber optic networks. As shown in Table IX, implementations of satellite-based quantum networks support a much longer distance than fiber optic networks with similar fidelity.
The combination of fiber optic and free-space networks provides significant hope for the quantum Internet. Satellite-based applications have been popular in recent years. For example, the implementation of the satellite QKD in [5] achieved a kilohertz key rate over a distance of up to 1,200 kilometers. At a distance of 1,200 kilometers, the key efficiency is about 20 orders of magnitude better than that of an optical fiber. Moreover, low-cost free-space networks have also been experimented with, such as the quantum drone network for small-scale air-to-ground data links [106].
Wireless (i.e., free-space) quantum networks work best with line-of-sight propagation, akin to classical wireless networks. However, their performance also depends on quantum computing hardware and software development, such as optical sources, quantum processors, and routing protocols [4]. New hardware and software paradigms (e.g., new materials and computational models) are being developed to improve network performance, minimize electronic noise, and preserve high transmission rates [221]. Although quantum decoherence is less in free space, wireless networks are affected by interference from natural conditions, atmospheric turbulence, and intense background light noise in daylight. This may lead to a low data rate and high latency. Encoding methods for classical networks have been adopted to increase the transmission rates and the quality of wireless quantum links [222], specifically to tackle the effects of dynamical atmospheric turbulence.

C. Repeaters
As discussed in Section III, data loss and quantum decoherence make long-distance communication challenging for quantum networks. Quantum repeaters have been studied for this problem. They create an end-to-end entanglement between the sender and the receiver by regenerating entanglement between adjacent nodes along the path. Quantum communication between adjacent nodes is generally created by entanglement. However, the entanglement between the two parties collapses after the communication. They cannot regain the entanglement if their states are not in the same quantum system (i.e., not connected). Hence, repeaters are needed to reestablish entanglement (e.g., by entanglement swapping [102]) between parties that are not directly connected. When needed, quantum repeaters typically use quantum memories to teleport information and remake entanglement between the state in its memory to the state in the adjacent node's memory [197].
Here, we provide a brief overview of how two simple cases of quantum repeaters work. As shown in Fig. 11, there are two pairs of entangled qubits (e.g., pairs of Bell states): 1) A pair between the sender (Alice) and the repeater, |ϕ A and |φ 1 ; 2) A pair between the repeater and the receiver (Bob), |φ 2 and |ϕ B .
In Fig. 11.a, Alice has two qubits, |ϕ T and |ϕ A . Suppose Alice wants to send |ϕ T to Bob. Since there is only one path, Alice initiates the teleportation process and uses |ϕ A to create entanglement with a qubit in the repeater, say, |φ 1 (Pair 1). After the teleportation, |φ 1 is then changed to the same state as the original |ϕ T . Then, the repeater makes an entanglement with Bob using |φ 2 (Pair 2). Note that the repeater cannot use |φ 1 to make entanglement with Bob since it would change |φ 1 . Recall from Section II-D, entanglement exists in Fig. 5 between the middle qubit and the bottom qubit but not the Target qubit. Here, in Pair 2, |φ 2 is the middle qubit and |ϕ B is the bottom qubit in Fig. 5. This is also the reason that Alice has two qubits |ϕ T and |ϕ A . By using |φ 1 , |φ 2 and Fig. 11. Two simple cases of quantum repeaters: a) based on teleportation; b) based on entanglement swapping. |ϕ B , |φ 1 is then teleported to |ϕ B . Bob now has the exact same state as the original |ϕ T . Multiple such repeaters can establish a bigger network. They can be placed in a linear or hierarchical structure [82]. This is feasible and achieves good information gains in entanglement rates [73].
Moreover, the development of entanglement swapping, a process in which two entangled pairs are connected, and the entanglement is "swapped" between them, has inspired the methods for generating end-to-end entanglement over multiple "hops" through the use of quantum repeaters [73], [223]. For example, in Fig. 11.b, the repeater can use entanglement swapping to turn two pairs of entanglement between Alice and the repeater and the repeater and Bob into a single entanglement between Alice and Bob. This end-to-end entanglement can then be used for communication purposes, such as teleportation or QKD. These quantum repeater schemes can be implemented with the current quantum hardware infrastructure without requiring additional deployment.
Besides repeater-based teleportation, QKD repeaters are also prevalent. They are trusted relays for keys and are built to extend the key exchange distance. They utilize trusted nodes as classical relays between QKD links. For example, Alice and Bob want to generate a shared key. To reach each other, they use an intermediary node, a repeater T, to generate intermediate keys. Alice-T and T-Bob pairs perform QKD, respectively, and use the keys they generate to encrypt the shared key between Alice and Bob. This process requires the repeater T to be a trusted node because it knows the shared key between Alice and Bob. Nonetheless, weakly trusted repeaters have been proposed [125]. Each weakly trusted node adds a path between Alice and Bob that is disjointed with others to avoid cheating. However, this technique increases the deployment complexity.
Note that repeaters for QKD based on the BB84 protocols actually transmit quantum states (e.g., in photon-based qubits, photons are sent to the receiver), unlike teleportation that only transmits information by entanglement (e.g., quantum information is transmitted, but photons do not move). Repeaters for QKD based on entanglement (e.g., the E91 protocols [224]) also only transmit information. Table X compares recent approaches to quantum repeaters.

D. Routers
To find the optimal path between two parties in large and diverse networks, quantum routers are needed. Quantum routing shares the same purpose as routing in classical networks. However, they are different because communication links in quantum networks usually need to be re-established after each use. A typical quantum link is achieved by entanglement between two qubits in two separate parties (as shown in Fig. 11). The entanglement collapses after the transmission and needs to be recreated for the subsequent transmission. The recreation of links has a chance of success or failure [73], [103]. Hence, the probability of link stability needs to be considered in routing strategies [114]. An alternative path should be used if a selected path becomes unavailable. Quantum routers find the optimal path and forward the transmitted information via quantum repeaters [231].
The introduction of quantum routing techniques brings diversity to the quantum network topologies. For example, a distributed network topology has been introduced with an on-demand routing protocol based on the number of entangled qubit pairs [232]. Topology adaptation methods have been investigated to activate or deactivate links based on a threshold of the probability of link stability [114]. A ring and sphere topology has been achieved by hierarchical routing schemes, which requires O(log N) qubits at each network node where N is the number of network nodes, and O(polylog N) time for routing decisions [231].
Quantum routers usually involve both classical and quantum forwarding (e.g., QKD). Classical forwarding uses a classical channel to send the measurement results. Quantum forwarding uses an entangled link. A quantum router can forward information by choosing an entangled pair for the next hop and then measuring and sending the results to the next hop [233]. This process keeps repeating until the information gets to the destination [233].
Quantum routers also bring flexibility to QKD networks. For instance, a star topology QKD network has been built based on wavelength division multiplexing with a 4-user demonstration network [234]. A continuous variable QKD network has been proposed using localized spatial soliton pulses via quantum routers [235].
Quantum state multiplexing (or de-multiplexing) is another direction in quantum routing [111], [112], [236], [237]. Quantum multiplexers and de-multiplexers can aggregate quantum states into a common channel as a payload. They can form a network with bigger payloads and higher bandwidth. Quantum network traffic needs an address or a destination label to determine where to disaggregate the payload, which is analogous to an IP address in classical networks. Routing information may be transmitted with classical traffic [236].
Classical networking techniques such as network coding, cluster networks, and multi-channel routing have been used in quantum networks. However, it is hard to encode and decode quantum states using classical network coding due to quantum effects (e.g., non-cloning theorem). Quantum network coding has been proposed using approximations instead of cloning [238]. Multi-qubit operations are implementable over cluster networks. Two-qubit operations are implementable over butterfly and grail networks, which are basic topologies for classical network coding [239]. Multi-channel quantum routing has also been developed to enable point-to-multipoint communication [240]. Quantum networks are expected to become more diverse. Classical networking techniques are good references for different routing purposes.

VI. QUANTUM CRYPTOGRAPHY
In this section, we survey the third key issue: quantum cryptography. Cryptography is essential for communication because adversarial behavior is inevitable in a public network. Every aspect of digital activity requires data security. While classical cryptography has been effective at protecting classical digital information, Shor's and Grover's algorithms have raised concerns about the effectiveness of classical techniques such as factorization-based encryption (e.g., RSA) and one-way hash functions (e.g., SHA-256). Quantum cryptography promises "unconditional security" and has therefore attracted a lot of attention [60], [61], [62], [63], [122], [123], [195], [196].
In this section, we review the features of quantum cryptography and explain how typical QKD protocols work. After that, we discuss quantum cryptography beyond QKD and post-quantum cryptography. Finally, we discuss how quantum computing may influence cryptography techniques in blockchains.

A. Features of Quantum Cryptography
Quantum cryptography has been studied for years. QKD is the most practical one and, thus, is prevalently built. However, QKD was not initially designed for cryptography. It is for exchanging classical secret keys. It's a quantum method to protect the generation of classical keys. After the key exchange, we still use classical cryptography (e.g., symmetric encryption). On the other hand, post-quantum cryptography finds a way out from the quantum threats by using classical methods that are immune to any known quantum attacks.
Apart from QKD and post-quantum cryptography, there are quantum approaches to encrypting quantum states (e.g., quantum encryption), protecting quantum data integrity (e.g., quantum public key cryptography), and authenticating quantum systems (e.g., quantum fingerprinting). The following paragraphs summarize the key features (both positive and negative) of the current quantum cryptography techniques.
Secure: Quantum cryptography is based on the law of quantum physics instead of mathematical algorithms. It thus is more secure than classical methods [80], [82]-quantum effects (e.g., non-cloning theorem) cause the transmission of the quantum state to be sensitive. For example, any attempt to tamper with the transmitted state will be noticed. QKD assures the detection of an eavesdropper and is believed to be virtually invulnerable. While quantum computers are threatening classical cryptography, the strong security promised by quantum cryptography becomes particularly valuable [3], [127], [132].
Inefficient (for QKD). The performance of quantum cryptography and the development of quantum technology are mutually dependent. The limitations of quantum networks significantly negatively impact the development of quantum cryptography. For example, the key generation rate of QKD networks is at the scale of Mbit/s, while classical optical communications commonly deliver about 100 Gbit/s per wavelength channel [241] (even though key agreement protocols would cut down the rate by exchanging process, it would still be at the scale of Gbit/s). Furthermore, decoherence worsens the key efficiency by introducing noises during quantum state transmission.
Alternative: The threat of quantum computers to classical cryptography motivated quantum cryptography. It demands a new scheme of cryptography, but it is not necessary to be a quantum approach. Post-quantum cryptography seems to be an excellent alternative to solving the problem classically. Moreover, increasing the hash length for a hash function (e.g., SHA-512) or using a different cryptographic primitive (e.g., SHA-3 [242]) can sufficiently prevent attacks from near-term quantum computers with Grover's algorithm [132]. However, post-quantum cryptography is only immune to known quantum attacks. Future quantum computing may bring new challenges to them [3].
Commercialized: Besides quantum computation with the cloud, QKD is another quantum service that has been commercialized. QKD is relatively simple to build and is mature enough for real-life applications. QKD services have been made available on the market by companies and research institutes [3], [4]. Some may refer to QKD directly as quantum cryptography.

B. Quantum Key Distribution
The QKD protocols generally allow remote parties to generate secret keys using quantum communication channels (or entanglement). QKD takes advantage of the quantum effects (e.g., non-cloning theorem, entanglement) to detect intruders precisely. It is a prevalent topic in quantum cryptography. This subsection introduces two typical QKD protocols, BB84 and E91. Then, we review recent approaches to the derivatives and applications of QKD.
1) BB84: Before introducing the BB84 protocol, we briefly discuss how measurements can be made in different computational bases: standard and Hadamard. As discussed in Section II-C, |0 and |1 are the basis states in the standard computational basis. When we measure a qubit in the standard basis, the qubit will collapse into one of its basis states |0 or |1 . BB84 involves measurements in another computational basis, the Hadamard basis (recall the Hadamard gate). In the Hadamard basis, the basis states are |+ and |− . These are not new, but the notations for the two superposition states expressed in (3) are: . Measuring a qubit in the Hadamard basis results in the qubit collapsing into one of its basis states |+ or |− .
Note that, after a measurement, any more measurements in the same basis applied to the same state will yield the same result. For example, if we measure the superposition (3) in the standard basis and get |0 Any subsequent measurements in a standard basis will give us |0 .
Moreover, as discussed, measuring superposition (e.g., |+ or |− ) in the standard basis has a 50% probability of giving |0 or |1 . Similarly, measuring a state in the Hadamard basis will yield one of the basis states, each with equal probability (i.e., 50%) and vice versa. This is a vital aspect of BB84's security.
With that, we denote the measurement bases and their basis states as below (to match the notations commonly used in literature): 1) A measurement made in a standard basis is denoted by +. Its basis states |0 and |1 are denoted by ↑ and →. 2) A measurement made in the Hadamard basis is denoted by ×. Its basis states |+ and |− are denoted by and . Then, we encode the bit values 0 and 1 according to the pattern in Table XI (e.g., having a measurement result as ↑ in the standard basis + will be interpreted as the bit value 0). Now we introduce BB84. Suppose Alice and Bob are using it to generate a shared key. They use the following steps: He has a 50% chance of getting either or . If he happens to get , he disagrees with Alice. 5) Alice and Bob repeat the above steps to generate a sequence of qubits. Alice uses a random basis at each bit (not the same basis). 6) When they think they have enough qubits, they publish their sequence of measurement bases via a classical channel. 7) They now know where they agree according to the measurement bases. They take the bit values that were produced when they used the same measurement bases.
These bit values constitute the shared key. Taking the above example, they keep the first-bit value of the shared key as 1 if Bob chose × and discard it if Bob chose +. 8) Now they have the shared key, but they still want to rule out the possibility of an intruder (Eve). They sacrifice part of the shared key by publishing it. 9) By comparing the published part of the shared key, they know if Eve exists and if her measurements have tampered with the transmitted states. How Eve can be detected is introduced in the following paragraph. 10) If they find Eve in the middle, they discard the quantum channel and use another one. This implies that BB84, actually most QKD protocols, cannot resolve a denial of service (DoS). Due to the non-cloning theorem, Eve cannot simply duplicate a transmitted state and re-send it (assuming she already has access to the quantum channel). Thus, Eve can only randomly measure the state and forward it to Bob. Since these published bits were obtained when Alice and Bob used the same basis, they would be the same. If Eve exists, some of the bits may be different. In the above example, Alice and Bob use the basis × for the first bit. Alice has 1, and if Bob has 0, it means Eve exists. However, if Bob has 1, they can be 25% certain that Eve does not exist. Note that this is regarding publishing only a one-bit value from the shared key.
Nonetheless, Eve has a 50% chance of being lucky and uses the same basis (e.g., ×) as Alice. In this case, the state does not change (as discussed above before the protocol); thus, no one would know Eve exists. On the other hand, if Eve used a different basis from Alice (e.g., +), her measurement would change the state to another basis (e.g., ↑ or →). However, in this case, Bob has a 50% chance of obtaining the same bit value as Alice during measurement. For example, Bob measures using × and has a 50% chance of getting 1, regardless of Eve's measurement changing the state to ↑ or → . Thus, there is a 50% × 50% = 25% chance of detecting Eve when publishing one bit of the shared key. However, an arbitrarily high probability of detecting Eve can be achieved by increasing (sacrificing) the number of the published bits of the shared key. This is a trade-off between security and key efficiency.
An example sequence of the transmitted states and the generated shared key in BB84 is shown in Fig. 12.
2) E91: Another typical QKD protocol is E91. Unlike BB84, which is based on the act of measurement and noncloning theorem, E91 utilizes the effects of entanglement. Thus, with E91, Alice and Bob are not necessarily connected by a quantum channel. They can create an entangled pair of qubits together and then arbitrarily separate. As discussed, a qubit in an entangled pair acts correspondingly to the operations done to the other qubit, no matter how far they are separated. We take one of the Bell states expressed in (5) as an example: From (6), we can see that any measurement made to it will yield |00 or |11 , each with a 50% probability. The result we get by measuring one of the qubits is the state that the other qubit will turn into. That is, measuring one of the qubits as |0 will turn the other qubit to |0 (recall |0 ⊗ |0 = |00 ). The same happens if one of them is measured as |1 .
Before introducing the E91 protocol, we briefly discuss the measurement bases interpreted in radians. Fig. 13 gives a visual interpretation (a polar coordinate system) of the measurement bases. In the polar coordinate system, the location of a measurement basis can be represented as where θ is the radian of the measurement basis relative to the standard basis, as shown in Fig. 13. If a qubit is in this location, the probability of measuring it as |0 is cos 2 θ and that of measuring as |0 is sin 2 θ (recall from Section II-C). As shown in the left graph of Fig. 13, the standard basis and the Hadamard basis have π 4 radian difference. Thus, the result of using them to measure the same qubit has a cos 2 π 4 = 0.5 chance of being different, which is similar to what we have discussed in the BB94 protocol, e.g., Bob has a 50% chance of obtaining the same bit value when using a different basis from Alice). Besides the standard and Hadamard bases, measurements can be made at any arbitrary angle in the polar coordinate system. The radian difference indicates the probability that the measurement results are the same. For example, measuring a state in a basis with π 8 radian difference (Z π 8 ) to the standard basis has a cos 2 π 8 ≈ 0.85 chance of getting the same result as measuring it in the standard basis. Likewise, measuring in Z π 4 has a ∼ 0.85 chance of getting the same result as in Z π 8 . Now we introduce E91. Suppose Alice and Bob are using it to generate a shared key. They follow the steps below: 1) Alice and Bob prepare k entangled pairs. For each pair, they each keep one of the two qubits. 2) They agree to measure their qubits in their own bases, as shown in the middle and right graphs of Fig. 13. 3) They randomly choose one of the three bases to measure their qubits. 4) They publish the sequence of bases that they have used. 5) They compare their bases and keep the results whose measurements were made in the same basis. As discussed, their results would be the same when they measure in the same basis. For example, suppose Alice has the first qubit in Equation (6) (|0 + |1 ). Alice measures her qubit in the standard basis and gets |0 . Bob's qubit collapses into the same state |0 . If Bob also measures in the standard basis, his qubit does not change; still |0 . These measurement results are kept as the shared key. 6) They publish other measurement results to catch Eve.
We explain below how Eve is detected.
We know Alice and Bob have chosen from their agreed bases to measure their qubits. There are nine combinations of basis pairs: }. Two out of nine results in Alice and Bob using the same basis (this is why the key efficiency of E91 is about 2 9 ). To detect Eve, we look at the measurement results of the pairs with different bases. We discard the pairs whose basis radian difference is π 4 . The basis pairs with π 8 radian and 3π 8 radian differences are left. The measurement results of the basis pairs with π 8 radian difference should have a cos 2 π 8 ≈ 0.85 of being the same. Likewise, the measurement results of the basis pairs with 3π 8 radian difference have a cos 2 3π 8 ≈ 0.15 chance of being the same. If the published measurement results do not conform to these percentage distributions, Eve exists.
3) Derivatives and Applications: QKD can enhance the security of the symmetric key exchange compared with the classical approaches (e.g., the Diffie-Hellman key exchange). Also, derivatives of it can be used to replicate the classical cryptographical techniques in the quantum domain, such as advanced encryption standard (AES) and one-time pad (OTP) [243], [244], [245]. However, the integration of QKD and classical encryption (e.g., OTP) usually needs sufficient key lengths to meet the encryption rate, especially for bulk data encryption, which operates at the magnitude of gigabits per second [126], [246], [247]. However, an optimal QKD system runs only in megabits per second [126]. QKD could be the near-future form of quantum cryptography, but it faces several challenges. For example, a DoS attack on BB84 is one critical weakness. Approaches to tackling such challenges (or mitigating them) have been proposed [139], [248]. Moreover, the quantum hardware and networking challenges also influence the development of QKD [241].
As discussed, BB84 is vulnerable to DoS, but it is easier to build. E91 is immune to DoS because it does not require a quantum channel. However, being an entanglementbased protocol, it is more problematic to implement due to decoherence. Even though BB84 and E91 are the most well-known QKD protocols, other derivatives and implementations tackle their limitations. In Table XII, we compare several recent QKD approaches based on their features and motivations. If an approach has an implementation, QBER is recorded.
With QKD protocols and quantum repeaters, long-distance QKD communications (or networks) have been deployed (as shown in Table X). Trusted repeaters are used to relay keys by processes of encryption, decryption, and re-encryption. As the most practical approach in the current technologies of quantum computing, QKD has contributed significantly to the development of both quantum networks and quantum cryptography. However, due to its limitations, people have been searching for alternatives.

C. Quantum Cryptography Other Than QKD
There are other kinds of quantum cryptography beyond QKD. Most envision a quantum Internet where encryption, transmission, and decryption are pure quantum systems. Some address QKD's limitations. An interesting approach is Kak's three-stage protocol [127], similar to Shamir's three-pass protocol or the double-lock algorithm [249]. Unlike QKD, which uses classical cryptography after key exchanges, it can encrypt data carried by quantum states directly. It uses the random polarization rotation scheme to implement a "lock" (encryption), which has been implemented in hardware [250]. The protocol's steps are as follows: 1) Alice encrypts the data with her key and sends it to Bob. 2) Bob encrypts it again with his key and sends it to Alice.
3) Alice decrypts it with her key and sends it to Bob. 4) Bob decrypts it with his key and gets the original data. With classical communication, an eavesdropper can listen to the double-transmitted data, increasing the chance of computing the two secret keys [249]. However, any eavesdropper in a quantum system who needs an operation of measurement will perturb the quantum state and leave a trace. Even with a PNS attack (see Section V-B), the protocol is secure as long as the number of split photons is insufficient to determine the polarization angles.
Besides, some approaches assume mistrustful parties in communication (e.g., mistrustful quantum cryptography [128], [251]). They need a process to ensure no one is cheating. For example, a secure multi-party computation with a coin-flipping protocol (or oblivious transfer) has been proposed for adversarial parties [128].
Take the quantum coin-flipping protocol as an example: 1) Alice generates a random basis with an encoding pattern (either one in Table XI). 2) Alice prepares a sequence of qubits according to the basis and a sequence of bits (i.e., the data to be transmitted). Alice sends the qubits to Bob. 3) Bob chooses a random basis and uses it to measure the qubits. 4) Bob records the measurement results and makes a guess on Alice's basis based on the results (e.g., take the basis that he recorded the most). 5) Alice informs Bob whether his guess is correct or not and sends the sequence of bits to Bob. 6) Bob compares Alice's sequence with his measurement results to see if Alice is cheating (e.g., his results should correspond to her basis and the bit sequence). In addition to quantum coin flipping, quantum commitment is another protocol for untrusting parties [267]. A commitment refers to a trace of changes made by Alice to the transmitted data, which Bob does not know until Alice reveals it. One implementation is to use the bounded quantum storage model [129].

D. Post-Quantum Cryptography
Post-quantum cryptography has been briefly introduced in Section VI-A. It includes lattice-based, multivariate, hash-based, and code-based schemes [131]. There are also approaches aiming to protect public key cryptography by increasing the key size. They attempt to construct a length that significantly exceeds the power of quantum computing. For example, doubling the key size from 128 to 256 bits squares the number of possible permutations, which can protect the hash function from the current quantum computers with Grover's algorithm. Also, creating more complex oneway functions (e.g., trapdoor functions) has been proposed to protect the encryption from Shor's algorithm [133]. A huge number of post-quantum approaches have been proposed.

E. Quantum Blockchain
The fact that quantum computers are endangering classical cryptography has brought concerns to all cryptographical products. Blockchain technology is one of them. It heavily relies on classical public key cryptography (e.g., the elliptic curve digital signature algorithm) and hash functions (e.g., SHA-256), where the implementations of Shor's and Grover's algorithms threaten them. Moreover, Grover's algorithms can also be used to find hash collisions efficiently, potentially resulting in data tampering [131], [132]. Blockchain derivatives have been developed to tackle this concern. In this section, we discuss the recent advances in blockchain alternatives that can survive quantum attacks (i.e., quantum blockchains and post-quantum blockchains).
However, quantum blockchains are still in an early phase. Quantum computers cannot conveniently deal with complex data structures. With entanglement, timestamped quantum state chain can be achieved, but a tree structure of transactions and a method to chain them (e.g., hash function) are challenging to implement. Thus, a quantum blockchain usually only contains the equivalent block concept in a classical blockchain. There are no transactions or incentives [134], [135]. However, there is one natural benefit of using quantum technologies. The quantum state chain is highly sensitive to tampering and, thus, is more secure than a classical chain regarding data tampering. A single photon's state can encode the quantum state chain over time. Any changes to a data "block" will perturb the photon and be detected. A few research works propose merging classical and quantum systems to enhance blockchains [135], which is more practical and useful.
Quantum computers have become more and more powerful in recent years, but they have not been able to break the current blockchains yet. It is predicted that Bitcoin's proofof-work (PoW) consensus will be comparatively resistant to the substantial speedup of quantum computing for the next ten years [137]. The specialized application-specific integrated circuit (ASIC) mining devices are exceedingly fast compared to the estimated clock speed of the recent quantum computers. Bitcoin's elliptic curve digital signature algorithm (ECDSA) is more likely to be broken by quantum computing and is estimated to happen as early as 2027 [137]. The rapid development of quantum hardware brings concerns about blockchains, but no evidence shows a possible compromise of blockchain yet. Nonetheless, the development of quantum computers may redefine cryptography (classical or quantum). Then cryptographical products like blockchains will have no choice but to adapt to the new cryptography schemes.

VII. QUANTUM MACHINE LEARNING
In this section, we survey the last key issue: quantum machine learning. While machine learning could have been included in the previous three key issues (data analysis is needed in all aspects of computing and communication), we dedicated a separate section to it because it is a fascinating area and widely-discussed topic [282]. It is exciting to see the mutual development between classical and quantum machine learning, which complement each other.
Quantum machine learning usually refers to machine learning models enhanced by quantum computers to speed up the learning processes. They include hybrid quantum-classical and fully quantum machine learning. Research on quantum machine learning and quantum computing have been mutually beneficial. Hybrid methods outsource computationally difficult subroutines to quantum computers. Such delegations speed up the learning processes of classical models [85]. Also, machine learning studies can analyze quantum systems, aiming to increase the robustness of quantum computing [84]. For example, classical machine learning has been applied to data generated from quantum systems, aiming to reconstruct an unknown quantum state (to tackle non-cloning) [283]. Reinforcement learning has been used to optimize quantum error correction [284]. Quantum versions of several classical models have been studied, such as quantum neural networks [154]. In addition, quantum learning theory investigates the abstract concepts of computational learning theory with quantum information [285]. This section discusses popular topics in quantum machine learning and their potential applications.

A. Features of Quantum Machine Learning
Machine learning combined with quantum technologies appears as the most promising application of quantum computing. For example, Google TensorFlow Quantum provides hybrid quantum-classical methods for TensorFlow [190]. Quantum machine learning relies heavily on classical machine learning technologies. They tend to solve the same problem set. Quantum machine learning may be faster, but it can only solve limited-size datasets [155], [157]. Nonetheless, classical machine learning jobs can be broken down into subroutines and delegated to quantum computers [85]. Quantum machine learning has been gradually weaved into the current classical machine learning technologies due to the increasing data analysis demands from data explosion. The following paragraphs summarize the features of quantum machine learning. Then, Table XIV reviews typical approaches to quantum machine learning. Note that there are many more approaches in each category in the table. We selected a few that we found interesting.
Speed-up: Only if a dataset can be mapped into quantum information (e.g., qubits) data analyses to this dataset can easily gain a speedup [151]. In addition, separating machine learning jobs and delegating those that quantum computers can solve will also speed up classical models. For example, heuristic quantum kernel methods have been applied to a classification problem with only classical access to data [291].
Quantum-enhanced and Enhanced Quantum: Quantum computing to enhance classical models is not always the case. Classical models can also be applied to enhance quantum computing. For example, classical models to analyze the results of quantum experiments can help design better quantum experiments [283], [284].
Data type: As discussed, if we can map a dataset to a quantum information format, quantum machine learning would be a natural upgrade to classical machine learning. However, mapping data between classical and quantum computation is challenging. Quantum machine learning is thus not compatible with many classical datasets. For example, it is challenging to express pattern recognition as a quadratic-binary optimization that a quantum annealer can operate [292]. However, it is viable.
Hardware: The development of quantum machine learning depends on the development of quantum hardware. The currently limited connectivity of qubits in a quantum computer confines the data scale that quantum machine learning can deal with. For example, the limited qubit-to-qubit interactions in a quantum computer result in significant overhead in quantum annealers and universal quantum computers [85].

B. Hybrid Quantum-Classical Machine Learning
Hybrid quantum-classical machine learning combines classical and quantum resources to produce powerful models. Hybrid models usually involve universal quantum computers (i.e., not quantum annealers). For example, universal quantum computers can be used together with a classical system to implement clustering [148], [150]. However, decoherence is still a problem for such models.
Computer vision, speech synthesis, and image processing have widely adopted generative models. It has been empirically observed that quantum generative models have a transition in the quality of their local minima [293]. There provide an efficiently accurate number of parameters, above which local minima can be good approximators of the global minimum. They can also be improved by learning data representations and simplifying subsequent tasks through a quantum computer [147]. These jobs can be created as subroutines and executed on quantum computers. However, quantum-assisted machine learning is yet to be practical because its mathematical expressions are not always applicable to real-world datasets. Quantum computers are based on qubits, usually expressed as amplitudes vectors. It makes mapping some classical datasets to quantum information problematic [294]. Nonetheless, classical methods to reduce data dimensionalities, such as feature reduction and value reduction, can be applied to mitigate such problems [295]. Efficiently mapping huge classical datasets to quantum states is a critical issue in quantum machine learning [84], [155], [156]. Moreover, data analyses for quantum-generated experimental results have been explored to deploy quantum systems better [283].
Quantum learning theory is the mathematical analysis that empowers quantum-assisted machine learning. It combines computational learning theory and quantum computing. It aims to improve hybrid quantum-classical learning models mathematically. It replaces the classical learner in the computational learning theory with a quantum computer, which targets either classical or quantum datasets. Its goal is to use quantum effects to significantly decrease time complexity and provide other potential improvements. Quantum learning theory still needs further development, but approaches have been progressively proposed, such as quantum probably approximately correct (PAC) and agnostic learning [285].

C. Fully Quantum Machine Learning
As discussed in Section II-B, quantum annealers are widely used for optimization problems to find the global minimum of an objective function from a pre-defined space. In most quantum machine learning approaches, both the learning and training phases are quantum-based. It is promising in efficiently minimizing multi-dimensional functions with many local minima [51]. It is also excellent at making fair sampling [50]. Quantity annealing significantly decreases the number of iterations for sampling-based training approaches [296].
Quantum adiabatic machine learning is closely related to quantum annealing and targets the same problem sets, sampling, and optimization. It can identify strong classifiers from weak classifiers, which has been explored in anomaly detection applications [290]. Moreover, adiabatic algorithms are amenable to k-means clustering problems, which can be represented as quadratic programming problems [297].
Besides quantum annealing and quantum adiabatic machine learning, there are fully-quantum machine learning approaches based on universal quantum computation (i.e., the gate model). A typical case is to learn information about an unknown quantum state by many copies of the same coherent state [149]. This is similar to finding the classical information relevance. Also, quantum matching processes are superior to the classical matching methods [86]. Quantum neural network methods to simplify the internal network has been proposed to make the parameters of ground states much smaller [154]. In addition, quantum clustering algorithms based on the variations of Grover's algorithm have been utilized for unsupervised learning [150]. Moreover, quantum natural language processing has been developed to implement diagrammatic reasoning to interpret language as quantum processes by the diagrammatic formalism of categorical quantum effects [298].

D. Quantum Walk
The Quantum walk is a variation of the classical random walk. Random work involves one or multiple walkers taking steps in a graph (e.g., a chain or a grid of nodes). The Quantum walk operates differently from the random walk. A classical walker takes steps in random directions, while a quantum walker takes steps in directions determined by a quantum circuit [299]. The development of quantum walks is popular and is evolving. Some researchers compare Grover's algorithm with quantum walks [300], [301]. Some regard quantum walks as a computational model where computation is expressed by graphs [302]. The speed-up by the quantum walk can help bring improvement to the stochastic process of some machine learning models, such as stochastic gradient descent [303].
The random walk can be used in Markov chains, which have been derived into multiple quantum counterparts [153]. Quantum walks provide polynomial speed-up in problems such as element distinctness, triangle finding, NAND trees [304], and exponential speed-up to oracular problems [305]. Oracular problems are a partially observable Markov decision process attempting to find features of a black box function using a limited number of inquiries from the function. However, not all quantum walks are superior to their classical counterparts. Due to quantum interference, their performance can be significantly faster or slower than classical approaches [301].
Both random walks and quantum walks can be defined as discrete-time or continuous-time algorithms. Generally, a quantum walk algorithm includes steps of determining the time evolution of a quantum computer by the unitary operators (discrete) or the Hamiltonians (continuous) and finding out the walker position by measurement operators [306].

VIII. LESSONS LEARNED AND RESEARCH TRENDS
In this section, we summarize our observations of the current research and conclude them item by item as research trends. We discuss the most recent research trends and popular research topics based on the technical issues and challenges introduced in the previous sections.

A. The Bottleneck of Quantum Computers
As previously mentioned, current quantum computers do not have sufficient resources to tackle most practical problems due to the low state fidelity caused by decoherence. Additionally, the hardware size is limited by the large size of the equipment needed to maintain a near-absolute zero temperature. These limitations inspire research and experimentation toward developing more powerful quantum computers. Here, we explore two research directions that computer scientists can contribute to improving quantum computers' reliability.
1) Quantum Error Correction: As is discussed in Section III, quantum decoherence is a critical challenge to quantum systems. It affects the scale of almost every aspect of quantum computing: hardware, network, cryptography, and their applications. Since it seems impossible to remove decoherence during communication or storage, software models for quantum error correction have become particularly important and prevalent [14], [168]. Several typical schemes to correct quantum errors have been introduced in Section IV.
However, many open problems on quantum error correction still exist, such as faulty state creations, faulty gate operations, and faulty measurements. The research community and companies in this field have been actively committed to this direction, trying to achieve models with which decoherent states could be restored and noise can be removed. For example, IBM has been actively designing and implementing hardware-aware error correction experiments for fault-tolerant purposes [307]. Universities have been researching error correction from different perspectives, such as redefining codes and near-optimal error mitigation methods [172], [308]. Moreover, research on quantum error correction includes algorithms to correct data from noises and strategies to do what can be done in the NISQ era, such as [14], [42]. Decoherence cannot be avoided any time soon; thus, error correction algorithms and strategies remain a research trend.
2) Quantum Hardware Architecture: It has been controversy about how a quantum system should be organized with its classical interface. Today, all quantum computers need an interface for classical inputs and outputs, which come together with a control layer between them. In return, the control layer may ask for more quantum-classical interfaces [73], [74]. The integration of them remains an open question. Fig. 9 in Section III shows a general quantum computer architecture.
In fact, open problems exist on almost every module in this architecture. For example, inside a quantum processor, what are efficient ways (and also routing strategies) to connect (and to localize) its qubits [309]?
Despite the impressive advancements in the hardware race among companies, current quantum hardware is still far from practical. The number of qubits in a quantum system, state fidelity, state stability, and qubit connectivity are all crucial factors in determining the hardware architecture of a quantum computer, which can, in turn, impact these metrics. However, a combination of classical and quantum capabilities in classically controlled quantum hardware may be the way forward for quantum computers in the near future [75], [169], [190]. One potential application for quantum computers may be providing cloud-based quantum services due to the size limitations that prevent them from being incorporated into personal computers. These uncertainties surrounding quantum computers have driven ongoing research into hardware developments.

B. The Scalability of Quantum Networks
Still, one of the main challenges in scaling quantum networks is the need to combat the decoherence in quantum systems. This requires careful control of the physical environment, including temperature, humidity, etc., which can be difficult to maintain over long distances. The scalability of quantum networks is an active research area. We believe significant progress will be made in the upcoming years as quantum repeaters and routing methods continue to be developed and refined. Here, we present an overview of two popular research directions in quantum network scalability.
1) Quantum Networking Protocols: The instability of quantum communication links makes it impossible to use classical networking technologies in quantum networks. In quantum routing, it is necessary to consider not only the distance and overhead but also the availability of paths, as the qubit connectivity is generally unstable. There have been approaches to transmitting quantum states between endpoints, but recently, routing entanglement to create end-to-end entanglements has gained much attention [73], [223]. In such approaches, dynamic path selection must be employed based on global or local knowledge about the network paths [73]. Routing is primarily a software technique used to compensate for hardware limitations. The development of quantum repeaters has gained significant attention and greatly impacted quantum routers [79]. Additionally, an important research direction has been exploring how multipartite entangled resources can efficiently relay quantum information [113], [120].
2) Quantum Internet Infrastructure: The quantum Internet is not expected to be a reality in the near future, but it serves as a motivation for many research endeavors [73], [114], [118]. Even though the development of the quantum Internet mainly depends on the evolution of error correction and routing protocols, the creation of hardware and software infrastructure to support these protocols is also crucial. From a computer science perspective, the infrastructure of the quantum Internet can be developed using the current technology of the classical Internet, such as routers, switches, and cloud computing. The growth of the quantum Internet depends on the various issues discussed in this article. There are multiple approaches to addressing these issues, and the technologies needed for a quantum Internet and its applications are currently being investigated [89]. Regardless of its eventual form (e.g., a hybrid quantum-classical Internet), the infrastructure for quantum Internet will always be a captivating and provocative topic in academia and industry. Furthermore, as discussed in Section IV-E, the security of blockchain applications (e.g., financial technologies [310]) is at risk due to the advancement of quantum computing [135], [136], [281]. In particular, besides developing quantum blockchains, alternative methods can be considered for establishing decentralized quantum networks, as blockchain may not be the optimal solution for decentralization in the context of quantum computing, and other forms of cryptographic solutions may be more appropriate.

C. The Debate About Quantum Cryptography
There is a debate about which technology of quantum cryptography will dominate in the future: will it be a hybrid method like QKD, a technique for encrypting and decrypting quantum states, or a classical approach with post-quantum capabilities? Here, we discuss two debates regarding the developing directions of quantum cryptography.
1) QKD vs. Quantum State Encryption: QKD is currently the most practical quantum technology and has therefore been widely implemented [3], [4], [5]. While QKD may be the first step toward quantum security, it is limited in its capabilities [311]. Derivatives and applications of QKD have been continuously developed to address its original limitations, such as DoS and side-channel attacks. The development of QKD has attracted investment and attention in the industry. It is a popular topic for implementing near-term quantum secure systems that span both quantum cryptography and quantum networks. However, cryptography beyond QKD, such as quantum state encryption, is also an essential component of the quantum Internet. Research in quantum state encryption seeks to utilize quantum algorithms to encrypt and decrypt quantum states, potentially offering even more secure communication in quantum networks. However, its reliability and effectiveness are still under investigation and yet to be determined. Research is ongoing in both QKD and quantum state encryption, leaving it uncertain which will become the dominant approach in the future.
2) Post-Quantum Cryptography vs. Quantum Cryptography: Post-quantum cryptography is designed to provide security even if attackers have access to a quantum computer. It relies on mathematical algorithms believed to be immune to quantum algorithms. Quantum cryptography, on the other hand, is a technique that uses quantum effects to encode information into quantum states. Both approaches are important because it is likely that the future Internet will take the form of a hybrid quantum-classical Internet. As such, the security of classical communication is just as important as the security of quantum communication.

D. The Applicability of Quantum Machine Learning
The applicability of quantum machine learning is another active area of research. It solves complex problems by integrating quantum computing and machine learning. As the field progresses, innovative applications are continuously being developed. Here, we discuss two ways of developing quantum machine learning: using quantum computers to improve classical data analysis and using classical machine learning models to advance the development of quantum computing.
1) Quantum for Classical: While quantum machine learning has been limited by the types of datasets it can be applied to, it is still a practical direction for using quantum computing to enhance classical machine learning. Due to the increasing demand for big-data analysis, quantum machine learning is well-suited as a candidate for cloud services. Several cloudservice companies have started to offer Quantum-as-a-Service (QaaS) platforms. Additionally, quantum annealing is promising since it provides analog solutions to combinatorial optimization problems. The analog solutions make it more robust to noise compared to the universal quantum computation [48], [49], [51]. Applying quantum computing to classical machine learning models to build their quantum counterparts has become an important and prevalent research direction [85], [144].
2) Classical for Quantum: On the contrary, classical machine learning methods are also being used to advance the development of quantum computing. For example, classical machine learning models can be used to optimize the performance of quantum computers by analyzing data from experiments and simulations to identify the optimal settings for various parameters [288]. Such models can help enhance the reliability of quantum computers. Moreover, classical machine learning can also be used to analyze data from quantum error correction experiments to identify patterns and improve the efficiency of error correction protocols [284]. Overall, using classical machine learning models to analyze quantum experimental data is another promising and currently popular research direction.

IX. CONCLUSION
In this article, we have categorized and surveyed the important issues of quantum computing: quantum computers, quantum networks, quantum cryptography, and quantum machine learning. They are separate topics but closely related to each other. We gave a detailed preliminary section (from a computer science perspective) for readers to become familiar with the topic before introducing the issues. We reviewed the key milestones and recent advances in each issue and identified the popular research trends in quantum computing. On the way to the envisioned future of quantum computing, the quantum Internet, non-trivial attempts, and breakthroughs have been continuously made. We have highlighted their features and challenges with state-of-the-art approaches, aiming to examine contemporary quantum technologies comprehensively.